2012-04-29 1 views
0

Есть ли способ или способ проверить, была ли загружена страница с возвращенной ошибкой Watir - например, сервер недоступен?проверить на ошибку страницы

Я хочу проверить, была ли страница загружена правильно или если браузер возвратил какую-либо ошибку.

Спасибо за помощь

ответ

1

Это не функция (получение кода состояния HTTP) либо Watir или WebDriver. Общая философия заключалась в том, что инструменты автоматизируются, как пользователь, и пользователь не может видеть статус http. (хотя они будут видеть результирующую страницу с ошибкой). Кроме того, поскольку браузер является тем, кто выполняет вызов, а не какой-то базовый код, он имеет код состояния, но на самом деле он не открыт для пользователя, и он не является информацией, которая легко доступна через DOM и т. Д. Вот a webdriver issue, который получил этот вид запроса около 3 лет, и, как вы можете видеть, разработчики довольно категоричны, что это не то, что они хотят добавить в webdriver.

Обычно хороший тест, если вы получили на правильной странице нужно проверить заголовок страницы, чтобы узнать, ожидалось ли это. если это не так, вы можете сделать снимок экрана или иным образом изучить страницу, которую вы сделали, чтобы попробовать и сделать из нее какой-то смысл (вполне может быть стандартной страницей ошибок на веб-сервере)

Если вы действительно хотите, чтобы иметь возможность посмотреть сам код состояния HTTP. Существуют такие способы, как использование прокси-сервера или второй вызов URL-адреса (который вам нужно будет сохранить заранее, что может не всегда быть простым), используя вызов уровня HTTP из вашего кода, используя что-то вроде httparty.)

Есть несколько рубиновых «прокси», в том числе созданные совсем недавно. но я не использовал их и не мог сказать вам, как их настроить, чтобы HTTP-звонки из браузера проходили через прокси-сервер и были доступны для вас, чтобы проверить этот путь. Вам, вероятно, нужно будет поговорить с авторами одного из прокси и спросить, возможно ли это, или нет. (Я знаю, что видел, как люди говорили о том, чтобы делать аналогичную вещь на Java с помощью webdriver, поэтому это также должно быть возможно с ruby)

Смежные вопросы