Проверка кода состояния HTTP в селене

Как получить код состояния HTTP в Селене?

Например, таким образом, я могу протестировать это, если браузер запрашивает/user/27, и никакой пользователь с ID=27 не существует, HTTP 404 возвращается?

Моим главным интересом является Селен RC, но если кто-то знает ответ для "нормального" селена, я могу, вероятно, легко перевести его в RC.

/Pete

44
задан Ripon Al Wasim 20 October 2017 в 05:52
поделиться

2 ответа

Вы, вероятно, захотите проверить вызов captureNetworkTraffic (). Прямо сейчас он надежно работает только с Firefox, если вы вручную не настроили IE / Safari / и т. Д. Для прокси-трафика через порт 4444.

Чтобы использовать его, просто вызовите selenium.start ("captureNetworkTraffic = true"), а затем позже в вашем скрипте вы можете вызвать selenium.captureNetworkTraffic ("..."), где "..." - это "простой", "xml" или "json".

3
ответ дан 26 November 2019 в 22:22
поделиться

Возможно, это не лучшее использование Selenium для этого типа тестов. Нет необходимости загружать браузер, если вы могли бы это сделать и провести более быстрый тест

[Test]
[ExpectedException(typeof(WebException), UserMessage = "The remote server returned an error: (404) Not Found")]
public void ShouldThrowA404()
{
    HttpWebRequest task; //For Calling the page
    HttpWebResponse taskresponse = null; //Response returned
    task = (HttpWebRequest)WebRequest.Create("http://foo.bar/thiswontexistevenifiwishedonedayitwould.html");
    taskresponse = (HttpWebResponse)task.GetResponse();
}

. Если ваш тест перенаправляет на другую страницу во время 404 Selenium, можно проверить, что последняя страница имеет то, что вы ожидаете.

10
ответ дан 26 November 2019 в 22:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: