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

时间:2022-09-14 20:37:34

写在前面

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

有不少粉丝给我留言说:

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

答案是肯定的,有人愿意看,我就可以写,当然,如果您看完愿意帮我再朋友圈转发一波,那我真的是感激不尽了。

再谈脚本录制

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

调试工具

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

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

三种方式启动Playwright Inspector

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

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

示例参数如下:

# 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

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

2、通过命令行启动

在 Playwright CLI中使用open或命令:codegen

mvn exec:java -e -Dexec.mainClass=com.microsoft.playwright.CLI -Dexec.args="codegen your address"

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

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

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

page.pause();

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

以上三种方式启动后,会自动启动Playwright Inspector,然后按照自己需求录制脚本,录制完后,再次点击Record,点击Copy即可生成脚本,不熟悉的同学请移步至《微软出品自动化神器Playwright,不用写一行代码(Playwright+Java)系列(一) 之 环境搭建及脚本录制》

4、部分参数详解

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

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

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

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

脚本的调试

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

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

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

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

1、打开开发者模式

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

chromium.launch(new BrowserType.LaunchOptions().setDevtools(true));

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

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

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

chromium.launch(new BrowserType.LaunchOptions() // or firefox, webkit
  .setHeadless(false)
  .setSlowMo(100));

写在最后

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

当然,如果有其他想学习的技术,也可以文末留言或者后台发给我,我也可以专门为您写一篇文章并在公号发表。

有些同学会问了,真的吗?

当然,可以写,但是也需要您的转发和分享,码字不易,多谢转发、分享!