Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

PhantomJS + WebDriver. Ошибка в локаторах

phantomjs
css-selectors
webdriver
Теги: #<Tag:0x00007f7b70469068> #<Tag:0x00007f7b70468f28> #<Tag:0x00007f7b70468d20>

(Sergey356) #1

Всем привет:) Недавно появилась потребность в запуске небольшой группы тестов используя PhantomJs. Для локаторов я использовал CSS, который успешно отрабатывает в WebDriver. Но при запуске через PhantomJS - в лог валиться ошибка на первом же локаторе:

WebElementLocator - _handleLocateCommand - Element(s) NOT Found: GAVE UP.

В чем причина?


(Sergey356) #2

Проблема уже не актуальна:)


(Дмитрий Жарий) #3

Э не, так не пойдет. Давайте, рассказывайте как решили проблему. :smiley:

Мне пришлось некоторые локаторы (не все) на XPath переписать, чтоб в PhantomJS заработало.


(Dmitriy Zverev) #4

+1. Недавно также удалось воспользоваться phantomjs (тестируемый проект позволил).

Факт: локаторы лучше писать в Xpath.

Кстати, не сказал бы, что phantomjs намного быстрее по сравнению с IE. Я ждал бОльшего, хотя зависит от тестируемого приложения.


(Sergey356) #5

Не актуальна, потому как локаторы, написанные на CSS исправно работают :smile:

Проблема была в самом тесте, т.к. он после авторизации сразу проверял факт LogIn’a, а сайт работает с небольшой задержкой))) тест и падал. Немного подкрутив ожидание - я исправил проблему


(Mykhailo Poliarush) #6

Я использовал немного его. Как-то в продакшине мне еще не удалось его использовать в полной мере. А что скорость настолько низкая? Можно привести какие-нибудь сравнительные цифры?


(Dmitriy Zverev) #7

На самом деле всё объяснимо: при переходе на сайт страница не грузится сразу, возникает клипсидра - ждём пока подтянутся данные из БД. И, вот, это действие довольно долгое и нивелирует все остальные.

Таким образом, что в IE, что в phantomjs скорость примерно равна и отличается секунд на 20-30.
В тесте происходит переход по нескольким десяткам таких страниц.

Думаю, если бы сама страница отрисовывалась “мгновенно” без ожидания клипсидры, разница была бы больше.
Тем не менее мне phamtomjs очень нравится своей “невидимостью”. В случае с запуском тестов через jenkins это очень спасло ситуацию со скриншотами и прочей ерундой.


(Mykhailo Poliarush) #8

Что это такое?! :smile:


(Dmitriy Zverev) #9

Это значок, который говорит пользователю “подожди, я работаю”.
В винде это были раньше водяные часы, на маке - вращающийся радужный круг.

Только я опечатался: клепсидра


(Andrey90) #10

Добрый день. У меня возникает проблема с видимостью элементов. При использовании firefox все отрабатывает ок, при использовании phantomjs тест падает с ошибкой

org.openqa.selenium.ElementNotVisibleException: {"errorMessage":"Element is not currently visible and may not be manipulated","request":{"headers":{"Accept-Encoding":"gzip,deflate","Connection":"Keep-Alive","Content-Length":"27","Content-Type":"application/json; charset=utf-8","Host":"localhost:32860","User-Agent":"Apache-HttpClient/4.5.1 (Java/1.8.0_66)"},"httpVersion":"1.1","method":"POST","post":"{\"id\":\":wdc:1455098301760\"}","url":"/click","urlParsed":{"anchor":"","query":"","file":"click","directory":"/","path":"/click","relative":"/click","port":"","host":"","password":"","user":"","userInfo":"","authority":"","protocol":"","source":"/click","queryKey":{},"chunks":["click"]},"urlOriginal":"/session/cd750060-cfdc-11e5-a24c-a1ab98d68d6b/element/:wdc:1455098301760/click"}}
все локаторы переписал уже на xpath, ожидания увеличил…ничего не помогает. Что можете еще посоветовать сделать? Спасибо!


(You Rooock) #11

А скриншот делаете? Что там?


(Andrey90) #12

Скрин делаю, елемент на странице есть, но он его почему то не видит. У меня страница на которой отображаются динамические елементы. Автоматически выбирается нужный елемент из дом структуры, ну и кликом должен добавлятся. Так вот через браузер он выбирается, через phantomjs нет. Может дело в том что данные на страницу летят через socet? Как вообще phantomjs работает с socket-ами???


(Andrey Melnichenko) #13

Та же проблема. Заходит на сайт но перейти на другую страницу или нажать кнопку не может. Логе ошибок пишет что “errorMessage”:“Element is not currently visible and may not be manipulated”…