Даволі часта, калі вы запускаеце аўтаматызаваную праверку з Selenium WebDriver, вы таксама хочаце праверыць код стану адказу на такі рэсурс, як вэб-служба альбо іншыя вэб-старонкі на сайце. Вы таксама можаце праверыць, ці ёсць несапраўдныя спасылкі на сайце, калі вы выконваеце сцэнарыі Selenium WebDriver.
Давайце разгледзім розныя коды стану HTTP:
2xx - Добра
3xx - перанакіраванне
4xx - Рэсурс не знойдзены
5xx - Памылка сервера
У Selenium WebDriver няма прамога метаду праверкі кода стану адказу, таму для гэтага нам трэба выкарыстоўваць іншую бібліятэку. Мы можам выкарыстоўваць Apache HttpClient альбо я аддаю перавагу выкарыстоўваць АДПАЧЫНЕНАЯ бібліятэка ад Jayway
Каб атрымаць код адказу з выкарыстаннем REST-assured, мы можам выкарыстоўваць:
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');
} }
Выхад:
200
Для праверкі няправільных спасылак на старонцы падчас выканання тэстаў Selenium WebDriver мы можам выкарыстоўваць:
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();
} }
Далейшае чытанне: