如下所示:
<dependencies>
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>5.8.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
最下面的依赖,是用于截图所使用的;
那么直接进如我们的代码;
这里我们可以在网站进行登录后,通过浏览器开发者工具,查看我们我们登录过后的cookie;
此时我们可以通过右键点击,然后进入我们的浏览器开发者工具;
或者是点击f12进入我们的浏览器开发者工具;
此时就可以看到我们cookie了;
具体的代码如下所示:
public class AutoConfig {
public static WebDriver driver;
public AutoConfig(){
createDriver();
}
public WebDriver createDriver(){
WebDriverManager.chromedriver().setup();
ChromeOptions options = new ChromeOptions();
options.addArguments("--remote-allow-origins=*");
//创建驱动对象,添加选项
driver = new ChromeDriver(options);
//设置隐式等待
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));
return driver;
}
}
具体的思路就是,其他测试类继承这个父类,自动调用我们的的构造函数,间接调用我们的创建驱动方法;
此时我们创建另一个类,继承上述的父类后,设置我们的cookie属性;
@Test(priority = 2)
public void cookie() throws NoSuchMethodException, InterruptedException {
//拿到我们的cookie
String value = "17B63B2D3686F19DC921FDDEFE775505";
Cookie cookie = new Cookie.Builder("JSESSIONID",value).domain("47.97.70.52").path("/").build();
driver.get("http://47.97.70.52:8081/index.html");
driver.manage().addCookie(cookie);
driver.get("http://47.97.70.52:8081/index.html");
}
添加Cookie前需要先打开目标URL,否则会失败。所以用户应该在driver.get之前先导航到对应的域名,比如先访问http://47.97.70.52:8081/index.html ,然后再添加Cookie,这样domain才会匹配。
这里由于小编设置了拦截,所以会直接跳转到我们的登录页面,所以再次访问首页,就会带着我们的cookie成功进行访问了~~~
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有