Как получить код состояния HTTP в Селене?
Например, таким образом, я могу протестировать это, если браузер запрашивает/user/27, и никакой пользователь с ID=27 не существует, HTTP 404 возвращается?
Моим главным интересом является Селен RC, но если кто-то знает ответ для "нормального" селена, я могу, вероятно, легко перевести его в RC.
/Pete
Вы, вероятно, захотите проверить вызов captureNetworkTraffic (). Прямо сейчас он надежно работает только с Firefox, если вы вручную не настроили IE / Safari / и т. Д. Для прокси-трафика через порт 4444.
Чтобы использовать его, просто вызовите selenium.start ("captureNetworkTraffic = true"), а затем позже в вашем скрипте вы можете вызвать selenium.captureNetworkTraffic ("..."), где "..." - это "простой", "xml" или "json".
Возможно, это не лучшее использование 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, можно проверить, что последняя страница имеет то, что вы ожидаете.