Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Если в фиче используется секция Переменные, то происходит вычисление выражений в фигурных скобках во всей фиче вне зависимости от настройки #1569

Closed
1cgh opened this issue Mar 3, 2022 · 17 comments
Labels
question Further information is requested

Comments

@1cgh
Copy link
Contributor

1cgh commented Mar 3, 2022

Укажите:

  1. Версия Vanessa Automation 1.2.038.1
  2. Версия платформы любая
  3. Режим совместимости базы, где запускается Vanessa Automation любая
  4. Операционная система любая

Если взять следующую фичу

#language: ru

@tree

Функционал: <описание фичи>

Как <Роль> я хочу
<описание функционала> 
чтобы <бизнес-эффект> 

Переменные:
	Парам = ""

Сценарий: <описание сценария>
	Пусть я добавляю информацию в лог "{Текст}"

То получим ошибку вне зависимости от значения настройки "Вычислять выражения в фигурных скобках". Если удалить секцию Переменные, то ошибка будет только при включенной настройке. То есть использование секции Переменные безусловно включает вычисление выражений во всей фиче, даже если в самой секции вычисление выражений не используется.
Как должно быть, надо обсудить.

@1cgh
Copy link
Contributor Author

1cgh commented Mar 3, 2022

Как у нас получилось:

  • не используем вычисление выражений
  • была фича, где в строках были фигурные скобки. работала)
  • в фичу добавили секцию Переменные
  • фича упала

@Pr-Mex
Copy link
Owner

Pr-Mex commented Mar 3, 2022

@1cgh
Вообще предполагалось, что использование секции переменных автоматически включает вычисление в фиче выражений в {}. Отдельный флаг был создан именно для того, чтобы можно было вычислять выражения в {}, когда нет секции переменные.
В твоём случае надо экранировать {} там где не надо вычислять выражения.

@Pr-Mex Pr-Mex added the question Further information is requested label Mar 3, 2022
@1cgh
Copy link
Contributor Author

1cgh commented Mar 3, 2022

@Pr-Mex Предположения - плохо) Как минимум, надо скоррректировать подсказку к настройке "Вычислять выражения в фигурных скобках". Сейчас из неё сложно понять, что наличие секции Переменные игнорирует выключенную настройку. Да, там вроде бы всё написато. Но понять сложно)
И можно при наличии секции Переменные и выключенной настройке "Вычислять выражения в фигурных скобках" при запуске выполнения дополнительно сообщать в окно, что выражения таки будут вычисляться.
Просто сейчас тест падает, а почему падает можно понять только косвенно и на опыте. Не надо так.

@1cgh
Copy link
Contributor Author

1cgh commented Mar 3, 2022

Ну и в целом психологически настройки в сервисе воспринимаются как глобальные) Т.е. если там настроил, то действуют всегда. А тут оказывается, что если добавил секцию в фиче, то уже ничего не работает. Это не интуитивно. Если кардинально пересматривать, то я бы делал приоритет в сторону настройки. А вычисление уже бы от этого выстраивал. Т.е. включена настройка -вычисляем везде. Выключена - не вычисляем, а если есть вычисления в секции переменных, то падаем и просим включить настройку.

@Pr-Mex
Copy link
Owner

Pr-Mex commented Mar 4, 2022

@1cgh
Сделай реквест, плиз, чтобы описание настройки стало понятным.

@Pr-Mex
Copy link
Owner

Pr-Mex commented Mar 4, 2022

Ну и в целом психологически настройки в сервисе воспринимаются как глобальные) Т.е. если там настроил, то действуют всегда. А тут оказывается, что если добавил секцию в фиче, то уже ничего не работает. Это не интуитивно. Если кардинально пересматривать, то я бы делал приоритет в сторону настройки. А вычисление уже бы от этого выстраивал. Т.е. включена настройка -вычисляем везде. Выключена - не вычисляем, а если есть вычисления в секции переменных, то падаем и просим включить настройку.

@1cgh
Тут не соглашусь. Секция переменные это особенная секция, которая живёт по таким правилам.

@1cgh
Copy link
Contributor Author

1cgh commented Mar 5, 2022

Ну и в целом психологически настройки в сервисе воспринимаются как глобальные) Т.е. если там настроил, то действуют всегда. А тут оказывается, что если добавил секцию в фиче, то уже ничего не работает. Это не интуитивно. Если кардинально пересматривать, то я бы делал приоритет в сторону настройки. А вычисление уже бы от этого выстраивал. Т.е. включена настройка -вычисляем везде. Выключена - не вычисляем, а если есть вычисления в секции переменных, то падаем и просим включить настройку.

@1cgh Тут не соглашусь. Секция переменные это особенная секция, которая живёт по таким правилам.

вот именно. секция Переменные - это лишь часть фичи, причем необязательная. а вычисление выражений - общий механизм. а когда в общих настройках видишь флажок, который что-то включает, то по логике при снятом флажке это что-то должно быть выключено. а тут еще надо прочесть мелким шрифтом и понять, что если луна в козероге (добавлена секция Переменные), то флажок превращается в тыкву.

@1cgh
Copy link
Contributor Author

1cgh commented Mar 5, 2022

то есть логичное поведение было бы такое:
флажок включает вычисление переменных везде
и выключает везде
хочешь вычисление выражений в любой из секций - ставь флажок
не хочешь - не ставь

@1cgh
Copy link
Contributor Author

1cgh commented Mar 5, 2022

либо такое:
в секции Переменные выражения вычисляются всегда
в других - в зависимости от настройки. и это явно должно быть в заголовке настройки

@Pr-Mex
Copy link
Owner

Pr-Mex commented Mar 5, 2022

либо такое: в секции Переменные выражения вычисляются всегда в других - в зависимости от настройки. и это явно должно быть в заголовке настройки

@1cgh
Я за этот вариант.

@1cgh
Copy link
Contributor Author

1cgh commented Mar 5, 2022

@Pr-Mex как поступим тогда?
тут уже косметикой не обойтись, надо сам парсер править, чтоб учитывал расположение выражения
я пока не возьмусь. не из-за компетенций, а тупо по времени свободному(

@Pr-Mex
Copy link
Owner

Pr-Mex commented Mar 6, 2022

@1cgh
Не понял. Оно уже так работает.

@1cgh
Copy link
Contributor Author

1cgh commented Mar 6, 2022

@1cgh Не понял. Оно уже так работает.

нет) тогда бы не было issue.
мы говорим о том, что

  • в Переменные выражения вычисляются всегда
  • настройка в сервисе влияет на вычисление выражений в других секциях
  • наличие/отсутствие секции Переменные не влияет на вычисление выражений в других секциях, этим управляет настройка

последнее сейчас не выполняется

@Pr-Mex
Copy link
Owner

Pr-Mex commented Mar 6, 2022

@1cgh
Я думаю сейчас все работает правильно. Это просто надо отразить в документации.

@1cgh
Copy link
Contributor Author

1cgh commented Mar 7, 2022

@1cgh Я думаю сейчас все работает правильно. Это просто надо отразить в документации.
@Pr-Mex
неправильно. потому что делает поведение продукта неочевидным. если только нет цели делать его таким
PR с корректировкой синонима и подсказки сделал, если нет желания менять текущее поведение
но сама потребность таких уточнений говорит о том, что попахивает

@Pr-Mex
Copy link
Owner

Pr-Mex commented Mar 7, 2022

@1cgh
Думаю прямо сейчас не стоит переделывать. Но в будущем всё возможно.

Pr-Mex added a commit that referenced this issue Mar 8, 2022
#1569 Доработан синоним и подсказка настройки ВычислятьВыраженияВФигу…
@Pr-Mex
Copy link
Owner

Pr-Mex commented Jun 18, 2022

@Pr-Mex Pr-Mex closed this as completed Jun 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants