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日志并进行多维度分析。
相关文章
|
8天前
|
测试技术 Python
Playwright系列(4):录制测试脚本
Playwright系列(4):录制测试脚本
|
8天前
|
测试技术 Shell API
Playwright系列(3):运行测试用例
Playwright系列(3):运行测试用例
|
8天前
|
测试技术
使用 Playwright 复用 Cookie:简化自动化测试的高效方法
Playwright 提供的 Cookie 复用功能允许在不同测试用例间共享会话状态,提高测试效率。通过 `context.set_cookies()` 方法设置共享 Cookie 数据,确保会话在多个测试中保持一致。优点包括节省时间、维持稳定会话,但需注意可能增加测试用例间的依赖。使用此功能可优化自动化测试流程。
21 1
|
8天前
|
测试技术 API 开发者
使用 Playwright 脚本录制简化自动化测试:完全指南
Playwright提供了一种脚本录制功能,帮助开发者通过交互式操作自动生成测试脚本,提升测试效率。使用Playwright的命令行工具`codegen`,如`playwright codegen python <url>`,可以记录浏览器操作并生成Python测试脚本。生成的脚本使用Playwright API模拟用户交互,如`page.click()`和`page.fill()`。这种方法简化了自动化测试脚本的编写,促进了测试流程的加速。
21 1
|
8天前
|
编解码 测试技术 API
模拟手机设备:使用 Playwright 实现移动端自动化测试
本文介绍了使用Python的Playwright库进行移动设备模拟和自动化测试的方法。通过Playwright,开发者能模拟不同设备的硬件和软件特性,如屏幕尺寸、用户代理,以确保网站在移动设备上的表现。示例代码展示了如何模拟iPhone X并访问网站,之后可在此基础上编写测试代码以检验响应式布局和交互功能。Playwright的设备参数注册表支持多种设备,简化了移动端自动化测试的流程。
18 1
|
8天前
|
IDE 测试技术 开发工具
从零开始:使用 Playwright 脚本录制实现自动化测试
Playwright提供了一种便捷的脚本录制功能,类似于Selenium IDE。通过运行`playwright codegen`命令,你可以启动一个浏览器并记录你的操作,生成Python或异步代码。在示例中,展示了如何录制登录百度的过程,生成的代码可以直接用于自动化测试。Playwright Inspector允许你编辑和转换测试代码,支持生成Pytest格式的测试用例,方便Python开发者使用。这个功能使Playwright成为强大的Web自动化测试工具。
12 3
|
8天前
|
Web App开发 测试技术 C++
Playwright安装与Python集成:探索跨浏览器测试的奇妙世界
Playwright是新兴的跨浏览器测试工具,相比Selenium,它支持Chrome、Firefox、WebKit,执行速度快,选择器更稳定。安装Playwright只需一条`pip install playwright`的命令,随后的`playwright install`会自动添加浏览器,无需处理浏览器驱动问题。这一优势免去了Selenium中匹配驱动的烦恼。文章适合寻求高效自动化测试解决方案的开发者。
16 2
|
8天前
|
算法 数据可视化 API
LabVIEWCompactRIO 开发指南33 测试和调试LabVIEW FPGA代码
LabVIEWCompactRIO 开发指南33 测试和调试LabVIEW FPGA代码
13 0
|
8天前
|
JSON 监控 安全
LabVIEW测试和调试Web服务
LabVIEW测试和调试Web服务
18 1
|
8天前
|
Java 测试技术 Android开发
Java 测试和调试:提高代码质量的实用策略
【4月更文挑战第27天】测试和调试是软件开发中确保应用稳定、高效且可靠的关键步骤。对于 Java 开发者来说,掌握有效的测试和调试技巧可以大大提高代码质量和减少生产环境下的问题。
30 2

热门文章

最新文章