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

Фотография

Тестирование редиректов

selenium-webdriver nodejs chromedriver

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

#1 archi

archi

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

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

Отправлено 03 сентября 2015 - 20:31

Здравствуйте уважаемые тестировщики!

 

Такой вот вопрос к вам...

 

Задача.

Выявить URL's на которых оставливается/падает редирект (не даходит до конечного сайта). URL's и сорсы  этих веб-страниц сохранить в лог-файл.

 

Условие.

Количество редиректов неизвестно, их может быть ~3-10 штук на разные домены/IP. В основном это скрипты и редирект проходит быстро.

Задержка между редиректами ~ 0-5сек.

В сорсе страниц с редиректом могут всречаться разные html тэги, скрипты.

После прохождения всех редиректов открывается сайт, домен которого неизвестен.

 

Подскажите пожалуйста, каким образом правильно организовать логику тестирования?

 

Selenium WebDriver / ChromeDriver / Nodejs


  • 0

#2 Tishka

Tishka

    Постоянный участник

  • Members
  • PipPipPip
  • 211 сообщений
  • ФИО:Ахрамеев Антон

Отправлено 04 сентября 2015 - 06:54

Если нужно чекать ссылки на сайте попробуйте юзать Xenu, Screaming frog или аналогичные тулзы.


  • 0

#3 archi

archi

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

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

Отправлено 04 сентября 2015 - 08:21

Тестировать нужно именно в браузерах (chrome, ff), в предложенных тулзах редиректы не будут срабатывать. Спасибо.


  • 0

#4 Tishka

Tishka

    Постоянный участник

  • Members
  • PipPipPip
  • 211 сообщений
  • ФИО:Ахрамеев Антон

Отправлено 04 сентября 2015 - 10:06

Давайте посмотрим в корень проблемы, сайты на которые вас ведет редирект, сторонние?


  • 0

#5 aid

aid

    Опытный участник

  • Members
  • PipPipPipPip
  • 448 сообщений
  • ФИО:Николай


Отправлено 04 сентября 2015 - 10:14

А-ля трай-кэтч, {ожидание, гет.каррент.урл, вывод};


  • 0

#6 archi

archi

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

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

Отправлено 04 сентября 2015 - 19:24

Получилось как-то так...

driver.get(URL).then(function () {
  driver.wait(function () {
    return driver.isElementPresent(By.tagName('a'));
  }, 20000).thenCatch(function (e) {
    console.log(e);
  });
});

Но проблема в том что driver.isElementPresent(By.tagName('a')) возвращает true даже если элемен 'a' невидимый (opacity:0; display:none; ... )
Возможно как-то проверять элемент на видимость?

 

*В сорсе страниц с редиректом могут всречаться разные html тэги (скрытые).


  • 0

#7 elvis

elvis

    Постоянный участник

  • Members
  • PipPipPip
  • 189 сообщений
  • Город:Tallinn


Отправлено 05 сентября 2015 - 05:53

используйте ExpectedConditions и ожидание видимости элемента.


  • 0



Темы с аналогичным тегами selenium-webdriver, nodejs, chromedriver

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

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