Перейти к содержимому

Фотография

Загрузка страницы в phantomjs

selenium phantomjs

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 fedoruksb

fedoruksb

    Новый участник

  • Members
  • Pip
  • 1 сообщений

Отправлено 06 февраля 2014 - 12:04

В Selenium 2 при использовании браузера Phantomjs, .get(url) не дожидается полной загрузки страницы и переходит к следующей строке кода. Сейчас проверяю видимость необходимых мне элементов перед тем как выполнить следующее действие. 

Можно ли проверить из теста, загрузилась страница или нет? На странице куча ajax.

 

UPD: также требуется после клика по элементу узнать подгрузился ли ajax - это возможно?


  • 0

#2 neman

neman

    Активный участник

  • Members
  • PipPip
  • 142 сообщений
  • ФИО:Антон


Отправлено 07 февраля 2014 - 04:26

В Selenium 2 при использовании браузера Phantomjs, .get(url) не дожидается полной загрузки страницы и переходит к следующей строке кода. Сейчас проверяю видимость необходимых мне элементов перед тем как выполнить следующее действие. 

Можно ли проверить из теста, загрузилась страница или нет? На странице куча ajax.

 

UPD: также требуется после клика по элементу узнать подгрузился ли ajax - это возможно?

 

1)Вообще в теории phantomjs ждет, пока отработают все скрипты. Но я тоже сталкивался с таким поведением, о причинах не могу точно сказать. Проверять видимость по-моему оптимальное решение.

 

2) Можно с помощью phantomjs-коллбэков перехватить нужный запрос, и проверить его параметры. Но я не уверен, что нужно именно это. Вообще, выставлять ожидания на основе наличия/отсутствия XHR запросов представляется порочной практикой. Если нам нужен какой-то элемент, так и давайте явно ожидать его появления, а не закладываться на детали реализации.


  • 0

#3 leipreachan

leipreachan

    Активный участник

  • Members
  • PipPip
  • 95 сообщений
  • Город:Москва

Отправлено 07 февраля 2014 - 07:32

В Selenium 2 при использовании браузера Phantomjs, .get(url) не дожидается полной загрузки страницы и переходит к следующей строке кода. Сейчас проверяю видимость необходимых мне элементов перед тем как выполнить следующее действие. 

Можно ли проверить из теста, загрузилась страница или нет? На странице куча ajax.

 

UPD: также требуется после клика по элементу узнать подгрузился ли ajax - это возможно?

1) "Можно ли проверить из теста, загрузилась страница или нет? На странице куча ajax."

а что вы понимаете под "загрузилась"? все картинки и скрипты подгрузились? если они прописаны в исходниках страницы - селениум ждёт. А если есть какие-то события, отличные от onload, сгенерённые какой-то JS-магией, то их невозможно "просто так" получить.

 

2) Какой у вас js-фреймворк?

 

3) "также требуется после клика по элементу узнать подгрузился ли ajax - это возможно?" Решения для общего случая нет. Только для частных: искать переменную, которая меняется в JS после окончания загрузки, смотреть её состояние, искать элемент и т.п.


  • 0



Темы с аналогичным тегами selenium, phantomjs

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных