Selenium: как обеспечить, чтобы навигация back () работала как положено на разных сайтах? - PullRequest
5 голосов
/ 15 ноября 2011

Так что меня волнует

webdriver.navigate().back();

в частности. После чтения Как работает кнопка «Назад» в веб-браузере?

это заставило меня задуматься о том, как убедиться, что кнопка возврата работает должным образом?

Вот разные способы иметь «обратную» навигацию. Как бы вы узнали, какой подход использовать? Послушайте, делается ли POST или GET? Прислушиваться к запросам AJAX и планировать соответствующий план?

a) navigate back() (essentially hitting back button in firefox)
b) make GET request to the previous page url
c) click on "return to results" on current page

с a) back() иногда не работают корректно для сайтов AJAX без хлебных крошек. или для результатов поиска POST, например, при нажатии назад появится сообщение с предупреждением.

с б) меня беспокоит, что URL может не совпадать,

ex) динамические URL с уникальными параметрами хеширования sessionid

http://www.aa.com/results.php?sessionid=29756293changeseverytime

Итак, как мне создать непредвиденные обстоятельства, чтобы убедиться, что навигация в обратном направлении работает корректно, как и ожидалось, для различных веб-приложений и сайтов (существует много различий в отношении поведения кнопки «Назад»).

1 Ответ

8 голосов
/ 17 ноября 2011

Почему вы не сохраняете местоположение страницы, которую хотите проверить, нажимаете на ссылку, используете goBack, а затем проверяете место проверки переменных (то, которое вы сохранили, и местоположение страницы подтверждения)?1001 *

Кстати, если ваш сайт использует AJAX, я предлагаю вам использовать функцию паузы, которая ожидает AJAX lib.Для полной загрузки или установки скорости вашего сайта (возможно, объедините их вместе в редких случаях).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...