Как определить статус HTTP после перехода на какую-либо страницу с помощью intern?Intern/Leadfoot: Как получить код состояния HTTP
this.remote.get('http://google.de') // status 200
this.remote.get('http://google.de/alsdflasdf') // 404 Not Found
Как определить статус HTTP после перехода на какую-либо страницу с помощью intern?Intern/Leadfoot: Как получить код состояния HTTP
this.remote.get('http://google.de') // status 200
this.remote.get('http://google.de/alsdflasdf') // 404 Not Found
Так вот hack..Use BrowserMob прокси и отправить свои запросы через прокси-сервер и BrowserMob этих прокси даст вам все соответствующие коды состояния, которые вы хотите иметь.
Вот пример кода, который использует browsermob прокси для сохранения последнего кода ответа на переменной:
int lastResponseCode;
ProxyServer server = new ProxyServer(8888);
server.start();
server.addResponseInterceptor(new HttpResponseInterceptor() {
@Override
public void process(HttpResponse response, HttpContext context) throws HttpException,
IOException {
lastResponseCode = response.getStatusLine().getStatusCode();
}
});
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability(CapabilityType.PROXY, server.seleniumProxy());
WebDriver driver = new FirefoxDriver(caps);
И причина, почему коды статуса никогда не будет поддерживаться в селеном WebDriver здесь: https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/141
Лучше способ всегда утверждать, чтобы проверить, существует ли определенный элемент на странице после запуска веб-приложения или проверить название страницы. Selenium не возвращает код состояния. [Есть хаки, чтобы получить его, хотя. но никогда не рекомендуется] –
Хм, мне нужно с определенной целью утверждать, что страница возвращает 404 Not Found. На этой странице нет надежных элементов, с которыми я мог бы проверить ... – Kiechlus