@tdurova

Selenium тест c проверкой того, что страница перегрузилась и не перегрузилась в зависимости от действий, как?

Подскажите пожалуйста, как реализовать такой тест при single-page приложений с кучей джаваскрипта (backbone):

если я нахожусь на главной странице и кликаю на логотип, на странице должно происходить вообще ничего, никаких перезагрузок и тд;

если я нахожусь на странице товара и кликаю логотип сайта, то я перехожу на главную страницу

если я была на главной странице. но поверх у меня была открыта некая джаваскрипт форма, типа SignInPage, я кликаю на логотип - форма закрывается.
  • Вопрос задан
  • 489 просмотров
Решения вопроса 1
@tdurova Автор вопроса
js.ExecuteScript("window.MyWindow = \"hello\"");
string textOld = (string)js.ExecuteScript("return window.MyWindow");

mainPage.Header.ClickHomeButton();
string textNew = (string)js.ExecuteScript("return window.MyWindow");
textNew.ShouldBeEquivalentTo(textOld);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@matperez
1. В зависимости от состояния можно отображать лого в виде ссылки с картинкой или простого span с картиной. В selenium для проверки состояния искать вложенную картинку вложенную в тег span или в тег a.

Так же текущее состояния SPA у вас скорее всего отображается в ссылке, через какой-нибудь хеш. Соответственно, можно проверять изменился ли урл при клике.

2. Селениум умеет проверять есть ли элемент на странице и видимый ли он. Гуглите реализацию для вашего конкретного api к webdriver. Элементы выбираются по css или xpath - тут уж как удобнее.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы