...

я естьGWT приложение, для которого я пытаюсь написать несколько тестов, используяСелен.

Я использую XPath для определения элементов на странице для тестов. С помощьюid не будет работать какid значения автоматически генерируются GWT и могут изменяться. Все стало хорошо, когда я понял, что могу найти кнопки по их ярлыкам следующим образом:

//button[.='OK']

Однако, когда я начал выполнять несколько тестов, у меня начались проблемы. Я понял, что проблема в том, что все разные «страницы» приложения GWT, сгенерированные Javascript, остаются в HTML в скрытом виде.<div> элементы. Это означало, что мои тесты Selenium иногда нажимали скрытые кнопки вместо кнопки, видимой в текущем представлении.

Изучение HTML споджигателькажется, что GWT скрывает<div> элементы путем добавленияdisplay: none к ихstyle приписывать. Это означает, что я могу найти все скрытые кнопки ОК следующим образом:

//div[contains(@style,'display: none')]//button[.='OK']

Это найдет все скрытые кнопки ОК, т.е. кнопки, у которых есть предок<div> который скрыт, имеяdisplay: none вstyle.

Мой вопрос: как я могу использовать XPath, чтобы найти только видимые кнопки ОК? Как мне найти кнопки, которые не имеют предка<div> элементы сdisplay: none вstyle?

Ответы на вопрос(4)

Ваш ответ на вопрос