jdi-testing / jdi-light

Powerful Framework for UI Automation Testing on Java
https://jdi-docs.github.io/jdi-light/
MIT License
109 stars 47 forks source link

Создать пример по работе с псевдо-элементами #5094

Closed AlexeyGirin closed 1 year ago

AlexeyGirin commented 1 year ago

Обратился Aliaksandr Sechyk. Следующая диагностика: нужно проверить состояние чекбокса. сам чекбокс на странице есть, но он в селекторе ::before и даже jquery его сразу на странице не находит. есть ли какой-то способ работать с такими элементами в JDI?

я даже через jquery этот элемент нахожу, только когда сам тыкну на этот элемент через inspect MicrosoftTeams-image (7) MicrosoftTeams-image (8)

[15:27] Aliaksandr Sechyk

там получается так, что в случае его отсутствия можно объявить чекбокс как CheckBox и вызвать свойство Available -> тогда все работает

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

[16:42] Natalia Pozhidaeva

возможно, что input не сразу появляется, а в случае, если ты на него наводишь или что-то пытаешься сделать с ним, тогда появляется какая-то необходимость передать состояние и появляется input, мне кажется отображением другой элемент занимается. Я бы поковырялась, чтобы понять, когда он появляется, возможно что перед каждым действием надо какой-то hover вызывать, чтобы input пророс

pnatashap commented 1 year ago

https://jdi-testing.github.io/jdi-light/html5.html#checkboxWithPseudo пример добавлен в html5 и тест добавлен в ПР (логика немного изменена, но функционал работал и ранее)