Я создаю несколько скриптов phpunit, которые тестируют некоторые веб-сайты с использованием selenium 2. Эти тесты выполняются с помощью браузера Chrome. Один из тестов — подтвердить, что он может найти ссылку на странице с помощью xPath, а затем щелкнуть ссылку. Но периодически тест не пройден и выдает ошибку:
PHPUnit_Extensions_Selenium2TestCase_WebDriverException: unknown error: Element <a href="" ng-click="select()" uib-tab-heading-transclude="" class="ng-binding"> ...</a> is not clickable at point (708, 139). Other element would receive the click: <div class="modal-screen" style=""></div>
Я скачал последнюю версию chromedriver, но все еще получаю эту ошибку.
Кто-нибудь сталкивался с этой ошибкой?
Как вы обошли эту проблему?
Спасибо
Сообщение об ошибке объясняет проблему
Элемент … не активен в точке (708, 139). Другой элемент получит клик:
<div class="modal-screen" style=""></div>
Проблема в том, что элемент, на который вы пытаетесь щелкнуть, имеет другой элемент, DIV
поверх этого, который блокирует клик, который вы пытаетесь. По моему опыту это обычно вызывается диалогом или другим элементом пользовательского интерфейса поверх нужного элемента. В вашем случае, глядя на HTML DIV
Похоже, виновником является серый фон за модальным диалогом. Если бы я догадался, есть несколько возможностей:
Чтобы решить # 1, просто закройте диалог. Возможно, вам придется подождать, пока диалог станет невидимым, см. # 2.
Чтобы решить № 2 или № 3, просто подождите DIV
быть невидимым и продолжить тест. Вы должны быть в состоянии использовать WebDriverWait
и ждать селектора CSS, div.modal-screen
быть невидимым
Других решений пока нет …