jdi-testing / jdn-ai

JDN – is the Chrome plugin for UI test automation. It helps Software Test Automation Engineer to create Page Objects for the test automation framework and start test development fast
MIT License
9 stars 3 forks source link

[US-6-8] Include invisible elements - Добавить параметр ПО на форму создания ПО #1286

Open AlexeyGirin opened 1 year ago

AlexeyGirin commented 1 year ago

заблокировано потому что нет настроек

DESCRIPTION Add a new parametr "Include invisible elements"

DEPENDENCIES:

171

1531

ACCEPTANCE CRITERIA:

1.

2.


JDI Light - по умолчанию выключен, можно включить Vividus - по умолчанию выключен, можно включить Selenium - по умолчанию включен, нельзя выключить (задизейблен из-за типа фреймворка) Selenide - по умолчанию выключен, можно включить

ARTEFACTS: Figma design

Опция по умолчанию - не отмечена (не включаем в генерацию) image

Если таргет фрэймворк - Selenium, то чекбокс должен быть включен и задизейблен, при наведении показываем тултип с текстом Disable because of framework type image

COMMENTS: Сейчас - мы никак не выделяем в списке элементы, которые невидимы (критерии невидимости можно посмотреть тут - https://github.com/jdi-testing/jdn-ai/issues/171#issuecomment-1482367950) При этом - наличие таких элементов - сомнительно. JDI Light и VIVIDUS - такие элементы игнорируют при поиске, даже если локатор уникальный и указывает прямо на элемент - не найдут. По умолчанию - не найдут. Для того что бы нашли - нужно в случае JDI Light - добавить аннотацию @GetAny или ещё не сделанную аннотацию @GetInvisible (задача на импелементацию - https://github.com/jdi-testing/jdi-light/issues/4971) у Вивидуса - нужно смотреть сюда

На форме создания нового ПО добавить опцию Include invisible elements (ну или как-то так) которая указывает JDN что невидимые элементы тоже нужно искать (критерий невидимости элемента см. тут - https://github.com/jdi-testing/jdn-ai/issues/171#issuecomment-1482367950)

Этот параметр - применим только если таргет фрэймворк - JDI Light или VIVIDUS. Если таргет фрэймворк - Selenium - эта опция должна быть недоступна (а включена по умолчанию т.е. селениум ищет все элементы)


figma

Создание невидимого локатора при выключенной функции

  1. Чекбокс выключен, невидимые локаторы не показываются
  2. Создаём кастомный "невидимый" локатор
  3. По нажатию кнопки Add to the list валидируем написанный локатор на "невидимость"
  4. Если локатор "невидим", то не даём его создать: блокируем кнопку до следующих изменений в модальном окне и показываем предпреждение
  5. После каких-либо изменений в тексте локатора мы убираем красный текст и обводку и возвращаем кнопку Add to the list в активное состояние и при следующем нажатии возвращаемся на пункт 4

текст "Validated as invisible and the display of elements is not enabled in settings" image

AlexeyGirin commented 1 year ago

Поиск невидимых локаторов разрешаем ТОЛЬКО на этапе создания ПО, но не в процессе этого создания