Если локатор closeTopic
находит элемент, но не щелкает по нему, убедитесь, что в DOM есть только один соответствующий элемент, и что он видим. Мой любимый способ проверить DOM - это просто ctrl-F
в инспекторе Chrome и вставить тот CSS, который используется в тесте (.att-close-topic
). И чтобы проверить, что он видит, используйте
console.log(closeTopic.isDisplayed());
Это может быть большой уловкой в транспортире, потому что он не дает сбоя (только предупреждает), когда на странице есть несколько совпадений, и по умолчанию это первое совпадение, а не первое видимое совпадение , что сводит меня с ума, потому что очень редко вы хотите что-либо сделать с невидимым элементом на странице.
Это будет частично мнение, а просто добавить слой к разговору ...
Иногда решение проблемного элемента на странице заключается в том, чтобы вернуться к разработчикам и сделать страницу более тестируемой. Я видел, как тестировщики тратят часы или дни на создание блестящих обходных путей, чтобы получить доступ к упрямому элементу, и в результате получился хрупкий, сложный сквозной тест (и разве они уже не достаточно хрупки?).
Иногда 5-минутный разговор с разработчиком может привести к быстрому изменению производственного кода (например, добавить уникальный идентификатор), что позволяет избежать всех этих усилий и дает гораздо лучший результат, более стабильный, более простой. Но для этого требуется открытый диалог между командой разработчиков и тестировщиком, а также культура, в которой тестирование рассматривается как основное действие, достаточное для внесения тех изменений в тестируемость в производственный код, который в остальном работает нормально.