Gana dažnai, kai atliekate automatinius patikrinimus naudodami „Selenium WebDriver“, taip pat norite patikrinti šaltinio, pvz., Žiniatinklio paslaugos ar kitų svetainės tinklalapių, atsakymo būsenos kodą. Taip pat galite patikrinti, ar svetainėje nėra sugadintų nuorodų, kai vykdote „Selenium WebDriver“ scenarijus.
Peržiūrėkime skirtingus HTTP būsenos kodus:
2xx - gerai
3xx - peradresavimas
4xx - šaltinis nerastas
5xx - serverio klaida
„Selenium WebDriver“ nėra tiesioginio metodo patikrinti atsakymo būsenos kodą, todėl tam turime naudoti kitą biblioteką. Mes galime naudoti Apache HttpClient arba aš norėčiau naudoti RAY saugi biblioteka iš Jayway
Norėdami gauti atsakymo kodą naudodami „REST-assured“, galime naudoti:
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');
} }
Išvestis:
200
Norėdami patikrinti, ar puslapyje nėra sugadintų nuorodų vykdant „Selenium WebDriver“ testus, galime naudoti:
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();
} }
Papildoma literatūra: