Hvernig á að fá svörunarkóða með Selenium WebDriver

Oft, þegar þú ert að keyra sjálfvirkar athuganir með Selenium WebDriver, vilt þú líka athuga svörunarkóðann fyrir auðlind, svo sem vefsíðuþjónustu eða aðrar vefsíður á vefnum. Þú getur líka leitað eftir brotnum krækjum á síðunni þar sem þú ert að framkvæma Selenium WebDriver forskriftir.

Við skulum fara yfir mismunandi HTTP stöðuskóða:

2xx - Í lagi
3xx - Tilvísun
4xx - Auðlind fannst ekki
5xx - Villa á netþjóni

Í Selenium WebDriver er engin bein aðferð til að athuga svörunarkóðann og því verðum við að nota annað bókasafn fyrir þetta. Við getum notað Apache HttpClient eða ég vil frekar nota HVÍTT tryggt bókasafn frá Jayway

Til að fá svarskóðann með REST-fullvissu getum við notað:

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');
} }

Framleiðsla:



200

Til að leita að brotnum krækjum á síðunni meðan verið er að framkvæma Selenium WebDriver próf, getum við notað:

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();
} }

Frekari lestur: