使用Selenium做自动化测试非常方便,但是也会遇到一些问题
比如:
- 怎么才能获取到请求了什么接口?
- 怎么才能获取到请求头的Cookie?
- 怎么拿到接口的请求参数或者返回参数?
接下来就来讲讲我是怎么实现的
首先只使用Selenium是很难拿到的(可能是我太菜,反正我做了很多尝试,也没有成功 - - !)
最后使用BrowsermobProxy才拿到想要的东西
那就正式开始吧
首先导入jar包,这个不用说了吧
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.13.0</version>
</dependency>
<dependency>
<groupId>net.lightbody.bmp</groupId>
<artifactId>browsermob-core</artifactId>
<version>2.1.5</version>
</dependency>
开始写代码
import net.lightbody.bmp.BrowserMobProxy;
import net.lightbody.bmp.BrowserMobProxyServer;
import net.lightbody.bmp.client.ClientUtil;
import net.lightbody.bmp.core.har.*;
import net.lightbody.bmp.proxy.CaptureType;
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.logging.LogType;
import org.openqa.selenium.logging.LoggingPreferences;
import org.openqa.selenium.remote.CapabilityType;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java