微软出品自动化神器Playwright,不用写一行代码(Playwright+Java)系列(二) 之脚本的录制及调试详解

2022-12-05 17:17:51 浏览数 (2)

写在前面

一周前,写了关于Playwright环境搭建及脚本录制的简单使用,反馈还是不错的。

有不少粉丝给我留言说:

觉得没看够,能不能再讲下脚本的录制使用?

答案是肯定的,有人愿意看,我就可以写。

当然,如果您看完愿意帮我再朋友圈转发一波,那我真的是感激不尽了。

再谈脚本录制

话不多说,下面我们将开始进行讲解脚本的录制,请跟上脚步,相信我这一切并不难。

调试工具

Playwright Inspector 是框架中自带的GUI工具,可以辅助我们调试Playwright脚本。

image.png

三种方式启动Playwright Inspector

1、设置环境变量PWDEBUG方式启动

debug模式下运行脚本文件,会进入Playwright的调试模式并打开Playwright Inspector

示例参数如下:

代码语言:javascript复制
# Bash
PWDEBUG=1 PLAYWRIGHT_JAVA_SRC=<java source dirs> mvn test

# PowerShell
$env:PLAYWRIGHT_JAVA_SRC="<java source dirs>"
$env:PWDEBUG=1
mvn test

# Batch
set PLAYWRIGHT_JAVA_SRC=<java source dirs>
set PWDEBUG=1
mvn test

效果:

2、通过命令行启动

Playwright CLI中使用open或命令:codegen

代码语言:javascript复制
mvn exec:java -e -Dexec.mainClass=com.microsoft.playwright.CLI -Dexec.args="codegen your address"

效果:

3、添加page.pause()方法方式启动

在你的脚本中添加page.pause()方法,且是必须为有头模式启动浏览器,则会进入调试模式(也就是断点)

代码语言:javascript复制
page.pause();

效果:

以上三种方式启动后,会自动启动Playwright Inspector,然后按照自己需求录制脚本,录制完后,再次点击Record,点击Copy即可生成脚。

不熟悉的同学请移步至《微软出品自动化神器Playwright,不用写一行代码(Playwright Java)系列(一) 之 环境搭建及脚本录制》

4、部分参数详解

设置时会配置其他有用的默认值PWDEBUG=1

  • 浏览器以 headed 模式启动
  • 默认超时设置为 0(= 无超时)

使用PWDEBUG=console将配置浏览器以在开发者工具控制台中进行调试:

  • 带头运行:浏览器始终以带头模式启动
  • 禁用超时:将默认超时设置为 0(= 无超时)
  • 控制台助手:在浏览器中配置一个playwright对象以生成和突出显示Playwright 选择器。这可用于验证文本或复合选择器。

脚本的调试

同所有的IDE一样,Playwright Inspector可以对Playwright脚本进行调试

步进工具栏

工具栏从左到右依次为,直接回放脚本、暂停(F8),F10逐语句执行

效果:

1、打开开发者模式

headed 模式下运行 Playwright 脚本,通过以下语句进入开发者模式,示例代码如下:

代码语言:javascript复制
chromium.launch(new BrowserType.LaunchOptions().setDevtools(true));

效果:

2、减慢执行速度辅助调试

Playwright 默认以无头模式运行浏览器。要更改此行为,请headless: false用作启动选项。您还可以使用该slowMo选项来减慢执行速度并在调试时跟进。

代码语言:javascript复制
chromium.launch(new BrowserType.LaunchOptions() // or firefox, webkit
  .setHeadless(false)
  .setSlowMo(100));

写在最后

到此,关于Playwright脚本的录制及调试已分享完毕,有兴趣的同学可以自行尝试,想一起学习Playwright的同学可以加我好友一起学习交流

0 人点赞