Как проверить статус возвращаемой страницы
Автор Lemur, 03 окт 2012 07:46
Сообщений в теме: 5
#1
Отправлено 03 октября 2012 - 07:46
Здравствуйте!
Возник такой вопрос. Возможно ли как то получить статус открывшейся страницы используя Selenium WebDriver ?
Проблема в том что при переходе по ссылке пользователю открывается верный URL, но страница возвращает 404... В итоге получается что при клике на ссылку открылась верная страница(соответствует url), но ссылка считается битой.
Как можно получить именно код (200,404,403) ?
Использую Selenium WebDriver
Язык c#
версия 2.21
Возник такой вопрос. Возможно ли как то получить статус открывшейся страницы используя Selenium WebDriver ?
Проблема в том что при переходе по ссылке пользователю открывается верный URL, но страница возвращает 404... В итоге получается что при клике на ссылку открылась верная страница(соответствует url), но ссылка считается битой.
Как можно получить именно код (200,404,403) ?
Использую Selenium WebDriver
Язык c#
версия 2.21
#2
Отправлено 03 октября 2012 - 08:54
Тут можно(нужно) обойтись без веб-драйвера.
Я делал проверку доступности на Python
А вам должно помочь вот это: http://msdn.microsof...statuscode.aspx
или этот ответ: http://stackoverflow...stions/1330856/
Я делал проверку доступности на Python
А вам должно помочь вот это: http://msdn.microsof...statuscode.aspx
или этот ответ: http://stackoverflow...stions/1330856/
#3
Отправлено 03 октября 2012 - 10:26
Спасибо! Я как раз начал копать в этом направлении... правда столкнулся с проблемой прокси : "Удаленный сервер возвратил ошибку: (407) Требуется проверка подлинности посредника."Тут можно(нужно) обойтись без веб-драйвера.
Я делал проверку доступности на Python
А вам должно помочь вот это: http://msdn.microsof...statuscode.aspx
или этот ответ: http://stackoverflow...stions/1330856/
var request = (HttpWebRequest)WebRequest.Create(url); request.Proxy.Credentials = CredentialCache.DefaultCredentials;пробовал использовать такую конструкцию...но к сожалению не помогло.
#4
Отправлено 03 октября 2012 - 11:32
можно самому написать кусок кода с опросом страницы и подключить как внешнюю библиотеку. На этом форуме нашёл для Джавы http://ardesco.lazer...y-you-shouldnt/
то, что тут описывают можно подстроить под ваши нужды. Если разбираетесь в программировании - можно попробовать
то, что тут описывают можно подстроить под ваши нужды. Если разбираетесь в программировании - можно попробовать
#5
Отправлено 03 октября 2012 - 12:15
Проблему решил следующим образом:
var request = (HttpWebRequest)WebRequest.Create(url); request.Proxy.Credentials = CredentialCache.DefaultCredentials; try { using ((HttpWebResponse)request.GetResponse()) { pageLog.message("Рабочая ссылка: " + url); } } catch (WebException e) { HttpWebResponse response = (HttpWebResponse)e.Response; switch (response.StatusCode) { case HttpStatusCode.NotFound: pageLog.warning("Не рабочая ссылка(запрашиваемый ресурс не существует на сервере): " + url); break; case HttpStatusCode.Forbidden: pageLog.warning("Не рабочая ссылка(нет доступа): " + url); break; default: pageLog.warning("Не рабочая ссылка: " + url); break; } }
#6
Отправлено 04 октября 2012 - 06:36
К сожалению такой вариант, который я указал спасает не всегда...
Попробовал указывать прокси на прямую(домен, логин, пароль). В итоге ничего не получается всё равно вылетает ошибка.
Хотя если послать этот запрос используя Jmeter(c указанием домен, логин, пароль) все проходит отлично. Кто нибудь может подсказать как это исправить ?
Попробовал указывать прокси на прямую(домен, логин, пароль). В итоге ничего не получается всё равно вылетает ошибка.
Хотя если послать этот запрос используя Jmeter(c указанием домен, логин, пароль) все проходит отлично. Кто нибудь может подсказать как это исправить ?
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных