如何获取 Selenium WebDriver 的响应状态代码?


我们可以用 Selenium webdriver 获取响应状态代码。执行测试时,我们可以验证从服务器获得的响应代码。一些常见HTTP响应代码如下:-

  • 5XX 表示服务器端出现问题。

  • 4XX 表示服务器资源不可识别。

  • 3XX 表示请求已被重定向。

  • 2XX 表示请求已成功执行。

创建 HttpURLConnection 类的实例以获得 HTTP 响应。要链接到一个 URL,请使用 openConnection 方法。然后,我们必须使用 setRequestMethod 方法并传入 HEAD 作为参数。

要建立连接,应该将 connect 方法应用于 HttpURLConnection 类的对象。最后,getResponseCode 方法给出响应代码。

语法

HttpURLConnection cont=
(HttpURLConnection)new URL("https://tutorialspoint.com/index.htm").
.openConnection();
cont.setRequestMethod("HEAD");
cont.connect();
int res = cont.getResponseCode();

示例

代码实现

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
public class HttpResponseStatus{
   public static void main(String[] args) throws
   MalformedURLException, IOException {
      System.setProperty("webdriver.chrome.driver",
      "C:\Users\ghs6kor\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      // wait of 5 seconds
      driver.manage().timeouts().implicitlyWait(8, TimeUnit.SECONDS);
      //url launch
      driver.get("https://tutorialspoint.com/index.htm");
      //URL connection
      HttpURLConnection cont=
      (HttpURLConnection)new URL("https://tutorialspoint.com/index.htm")
      .openConnection();
      // pass HEAD as parameter to setRequestMethod
      cont.setRequestMethod("HEAD");
      // obtain Response code
      cont.connect();
      int rs = cont.getResponseCode();
      System.out.println("Http response code: " + rs);
      //driver quit
      driver.quit();
   }
}

输出

更新于:2021-6-29

3K+ 个浏览

启动您的 职业生涯

通过完成课程获得认证

开始
广告