Kako dobiti šifru statusa odgovora pomoću Selenium WebDriver

Često kad izvodite automatizirane provjere pomoću Selenium WebDriver, također želite provjeriti kod statusa odgovora za resurs, kao što je web usluga ili druge web stranice na web mjestu. Također možete provjeriti neispravne veze na web mjestu dok izvršavate skripte Selenium WebDriver.

Pregledajmo različite HTTP kodove statusa:

2xx - u redu
3xx - preusmjeravanje
4xx - Resurs nije pronađen
5xx - Pogreška poslužitelja

U Selenium WebDriver-u ne postoji izravna metoda za provjeru statusnog koda odgovora, pa za to moramo koristiti drugu knjižnicu. Možemo koristiti Apache HttpClient ili više volim koristiti REST-osigurana knjižnica iz Jaywaya

Za dobivanje koda odgovora pomoću REST-assured možemo koristiti:

import io.restassured.RestAssured; public class HttpResponseCode {
public int httpResponseCodeViaGet(String url) {

return RestAssured.get(url).statusCode();
}
public int httpResponseCodeViaPost(String url) {
return RestAssured.post(url).statusCode();
}
public static void main(String args[]) {
new HttpResponseCode().httpResponseCodeViaGet('http://www.google.com');
} }

Izlaz:



200

Da bismo provjerili ima li prekinutih veza na stranici tijekom izvršavanja testova Selenium WebDriver, možemo koristiti:

import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import java.util.List; public class HttpResponseCode {
WebDriver driver;
int statusCode
public void checkBrokenLinks() {
driver = new FirefoxDriver();
driver.get('https://devqa.io');

//Get all the links on the page
List links = driver.findElements(By.cssSelector('a'));

String href;

for(WebElement link : links) {

href = link.getAttribute('href');

statusCode = new HttpResponseCode().httpResponseCodeViaGet(href);

if(200 != statusCode) {


System.out.println(href + ' gave a response code of ' + statusCode);

}
}
}
public static void main(String args[]) {
new HttpResponseCode().checkBrokenLinks();
} }

Daljnje čitanje: