Java中使用playwright
前言
最近工作需要用playwright测试,记录下java中使用playwright的步骤
一、playwright是什么?
playwright是微软开源的⼀个UI⾃动化测试⼯具。添加了默认等待时间增加脚本稳定性,并提供视频录制、⽹络请求⽀持、⾃定义的定位器、⾃带调试器等新特性。
二、使用步骤
1.引入库
playwright可以直接用maven引入
<dependency>
<groupId>com.microsoft.playwright</groupId>
<artifactId>playwright</artifactId>
<version>1.19.0</version>
</dependency>
这里引入的是1.19版本
2.尝试运行
依据官方文档编写代码
package org.example;
import com.microsoft.playwright.*;
public class Example {
public static void main(String[] args) {
try (Playwright playwright = Playwright.create()) {
Browser browser = playwright.chromium().launch();
Page page = browser.newPage();
page.navigate("http://playwright.dev");
System.out.println(page.title());
}
}
}
运行后会开始下载内置浏览器二进制文件,需要等待一会。
建议使用mvn命令编译,这样能看到浏览器下载进度
mvn compile exec:java -Dexec.mainClass="org.example.Example"
之后可以开始编写第一个浏览器测试程序
Map<String,String> map = new HashMap();
//跳过下载浏览器,因为公司是内网,这个配置很重要
map.put("PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD", "1");
//跳过下载浏览器后配置浏览器位置
map.put("PLAYWRIGHT_BROWSERS_PATH", "D:\\pw-browsers\\ms-playwright");
Playwright playwright = Playwright.create(new Playwright.CreateOptions().setEnv(map));
Browser browser = playwright.chromium().launch(
new BrowserType.LaunchOptions().setHeadless(false) //取消无头模式,我们才能看见浏览器操作
.setSlowMo(100) //减慢执行速度,以免太快
.setDevtools(true)); //打开浏览器开发者工具,默认不打开
// Browser browser = playwright.chromium().launch();
BrowserContext browserContext = browser.newContext(
new Browser.NewContextOptions().setColorScheme(ColorScheme.DARK) //设置浏览器主题,chromium设置了dark好像没用
.setViewportSize(1000, 500) //设置浏览器打开后窗口大小
);
Page page = browserContext.newPage();
page.navigate("http://www.baidu.com");
page.pause();//暂停脚本
使用page.pause()后,打开页面会弹出Playwright Inspector小工具,这个工具上我们可以进行脚本的录制并生成代码,之后我们可以把生成的代码复制到我们的代码中,就能实现自动化步骤了。
总结
以上就是playwright在java中基本的使用