Playwright 系列(13):如何调试测试用例

简介: Playwright 系列(13):如何调试测试用例

大家好,我是阿萨。昨天讲了定位元素的调试方式,今天 学习如何调试写好的脚本。


Playwright检查器

Playwright Inspector是一个GUI工具,帮助编写和调试Playwright脚本。这是我们默认推荐的脚本故障排除工具。



有几种打开Playwright Inspector的方法。


PWDEBUG


设置PWDEBUG环境变量,在调试模式下运行你的脚本。将配置Playwright进行调试并打开检查器。
Bash


PWDEBUG=1 pytest -s


PowerShell:


$env:PWDEBUG=1pytest -s


批处理


PWDEBUG=1 pytest -s


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

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


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

  • 运行标题。浏览器总是以标题模式启动
  • 禁用超时。将默认超时设置为0(=无超时)。
  • 控制台助手。在浏览器中配置一个playwright对象,生成并突出显示Playwright定位器。这可以用来验证定位器。


Bash


PWDEBUG=console pytest -s


PowerShell



$env:PWDEBUG="console"pytest -s


批处理


PWDEBUG=console pytest -s


page.pause


在浏览器中运行时,从你的脚本中调用page.pause()方法。
同步


# 在下面一行暂停.page.pause()


异步


# 在下面一行暂停. await page.pause()


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


playwright codegen wikipedia.org


逐步浏览Playwright脚本


当你浏览测试的每一行时,检查器会打开一个浏览器窗口,突出显示各种元素。使用探索按钮来选择一个定位器,然后你可以把它复制到你的测试文件中,重新运行你的测试,看看它们是否通过。

使用工具栏播放测试,或使用 "Step over "动作(键盘快捷键:F10)跨过每个动作,或恢复脚本,不再停顿(F8)。


现在我们知道要执行什么动作了,我们可以研究这个动作的细节。例如,当停在一个输入动作(如点击)上时,Playwright即将点击的确切位置会在被检查的页面上用大红点突出显示。


可操作性日志


当Playwright在该点击动作上暂停时,它已经进行了可操作性检查,可以在日志中找到。


如果不能达到可操作性,它就会把动作显示为待定。


探索选择器


使用 "探索 "按钮,将鼠标悬停在页面上的一个元素上,通过点击它来探索它的选择器。然后你可以把这个选择器复制到你的测试中,并重新运行你的测试,看他们现在是否通过了这个选择器。


浏览器开发工具


你可以在Chromium、Firefox和WebKit中使用浏览器开发工具,同时在领导模式下运行一个Playwright脚本。开发者工具有助于。

  • 检查DOM树并找到元素选择器
  • 在执行过程中查看控制台日志(或学习如何通过API读取日志)
  • 检查网络活动和其他开发者工具的功能使用page.pause()方法是暂停Playwright脚本执行和在开发者工具中检查页面的一个简单方法。它还会打开Playwright Inspector来帮助调试。


有头模式

Playwright默认以无头模式运行浏览器。要改变这种行为,请使用headless: false作为启动选项。你也可以使用slow_mo选项来减慢执行速度(每次操作减慢N毫秒),并在调试时跟上。

同步


chromium.launch(headless=False, slow_mo=100) # 或 firefox, webkit

异步


await chromium.launch(headless=False, slow_mo=100) # or firefox, webkit
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
测试技术 Shell API
Playwright系列(3):运行测试用例
Playwright系列(3):运行测试用例
|
1月前
|
测试技术 Python
Playwright系列(4):录制测试脚本
Playwright系列(4):录制测试脚本
116 0
|
11天前
|
设计模式 Java 测试技术
Java8实战-重构、测试和调试(二)
Java8实战-重构、测试和调试(二)
11 2
|
11天前
|
设计模式 算法 Java
Java8实战-重构、测试和调试(一)
Java8实战-重构、测试和调试(一)
13 0
|
1月前
|
IDE 测试技术 开发工具
从零开始:使用 Playwright 脚本录制实现自动化测试
Playwright提供了一种便捷的脚本录制功能,类似于Selenium IDE。通过运行`playwright codegen`命令,你可以启动一个浏览器并记录你的操作,生成Python或异步代码。在示例中,展示了如何录制登录百度的过程,生成的代码可以直接用于自动化测试。Playwright Inspector允许你编辑和转换测试代码,支持生成Pytest格式的测试用例,方便Python开发者使用。这个功能使Playwright成为强大的Web自动化测试工具。
38 3
|
1月前
|
测试技术
使用 Playwright 复用 Cookie:简化自动化测试的高效方法
Playwright 提供的 Cookie 复用功能允许在不同测试用例间共享会话状态,提高测试效率。通过 `context.set_cookies()` 方法设置共享 Cookie 数据,确保会话在多个测试中保持一致。优点包括节省时间、维持稳定会话,但需注意可能增加测试用例间的依赖。使用此功能可优化自动化测试流程。
65 1
|
1月前
|
测试技术 API 开发者
使用 Playwright 脚本录制简化自动化测试:完全指南
Playwright提供了一种脚本录制功能,帮助开发者通过交互式操作自动生成测试脚本,提升测试效率。使用Playwright的命令行工具`codegen`,如`playwright codegen python <url>`,可以记录浏览器操作并生成Python测试脚本。生成的脚本使用Playwright API模拟用户交互,如`page.click()`和`page.fill()`。这种方法简化了自动化测试脚本的编写,促进了测试流程的加速。
54 1
|
1月前
|
编解码 测试技术 API
模拟手机设备:使用 Playwright 实现移动端自动化测试
本文介绍了使用Python的Playwright库进行移动设备模拟和自动化测试的方法。通过Playwright,开发者能模拟不同设备的硬件和软件特性,如屏幕尺寸、用户代理,以确保网站在移动设备上的表现。示例代码展示了如何模拟iPhone X并访问网站,之后可在此基础上编写测试代码以检验响应式布局和交互功能。Playwright的设备参数注册表支持多种设备,简化了移动端自动化测试的流程。
62 1
|
1月前
|
Web App开发 测试技术 C++
Playwright安装与Python集成:探索跨浏览器测试的奇妙世界
Playwright是新兴的跨浏览器测试工具,相比Selenium,它支持Chrome、Firefox、WebKit,执行速度快,选择器更稳定。安装Playwright只需一条`pip install playwright`的命令,随后的`playwright install`会自动添加浏览器,无需处理浏览器驱动问题。这一优势免去了Selenium中匹配驱动的烦恼。文章适合寻求高效自动化测试解决方案的开发者。
29 2
|
1月前
|
JSON 监控 安全
LabVIEW测试和调试Web服务
LabVIEW测试和调试Web服务
31 1