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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 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
相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
2月前
|
人工智能 JavaScript 算法
Playwright携手MCP:AI智能体实现自主化UI回归测试
MCP 协议使得 AI 能够通过 Playwright 操作浏览器,其中快照生成技术将页面状态转化为 LLM 可理解的文本,成为驱动自动化测试的关键。该方式适用于探索性测试和快速验证,但目前仍面临快照信息缺失、元素定位不稳定、成本高、复杂场景适应性差以及结果确定性不足等挑战。人机协同被认为是未来更可行的方向,AI 负责执行固定流程,人类则专注策略与验证。
|
3月前
|
算法 IDE Java
Java 项目实战之实际代码实现与测试调试全过程详解
本文详细讲解了Java项目的实战开发流程,涵盖项目创建、代码实现(如计算器与汉诺塔问题)、单元测试(使用JUnit)及调试技巧(如断点调试与异常排查),帮助开发者掌握从编码到测试调试的完整技能,提升Java开发实战能力。
430 0
|
1月前
|
人工智能 自然语言处理 JavaScript
Playwright MCP在UI回归测试中的实战:构建AI自主测试智能体
Playwright MCP结合AI智能体,革新UI回归测试:通过自然语言驱动浏览器操作,降低脚本编写门槛,提升测试效率与覆盖范围。借助快照解析、智能定位与Jira等工具集成,实现从需求描述到自动化执行的闭环,推动测试迈向智能化、民主化新阶段。
|
2月前
|
自然语言处理 前端开发 测试技术
使用 Playwright MCP 实现 UI 自动化测试
本文介绍如何结合Playwright与MCP协议实现智能化UI自动化测试。通过自然语言指令控制浏览器,降低技术门槛,提升效率,并涵盖环境搭建、核心功能、实战案例及最佳实践,展现对话式自动化的未来趋势。
|
3月前
|
人工智能 缓存 测试技术
Playwright进阶指南 (6) | 自动化测试实战
2025企业级测试解决方案全面解析:从单元测试到千级并发,构建高可用测试体系。结合Playwright智能工具,解决传统测试维护成本高、环境依赖强、执行效率低等痛点,提升测试成功率,内容从测试架构设计、电商系统实战框架、高级测试策略、Docker化部署、CI/CD集成及AI测试应用,助力测试工程师掌握前沿技术,打造高效稳定的测试流程。
Playwright进阶指南 (6) | 自动化测试实战
|
2月前
|
人工智能 自然语言处理 前端开发
深度解析Playwright MCP:功能、优势与挑战,AI如何提升测试效率与覆盖率
Playwright MCP通过AI与浏览器交互,实现自然语言驱动的自动化测试。它降低门槛、提升效率,助力测试工程师聚焦高价值工作,是探索性测试与快速验证的新利器。
|
2月前
|
人工智能 JavaScript 测试技术
当Playwright遇见MCP,AI智能体实现自主化UI回归测试
本文探讨如何通过Model Context Protocol(MCP)让AI智能体驱动Playwright实现端到端自动化测试。重点解析快照技术的实现原理与实战流程,同时深入剖析其在信息丢失、元素定位、成本效率及逻辑复杂性等方面的现实挑战。
|
4月前
|
JavaScript 前端开发 测试技术
Playwright自动化测试系列课(4) | 异步加载克星:自动等待 vs 智能等待策略深度解析​
本文深度解析Playwright自动化测试中的等待策略,对比自动等待(零配置防御机制)与智能等待(精准控制异步场景)的核心差异。通过实战案例讲解等待机制的选择标准、常见失效原因及调试技巧,帮助开发者有效解决页面异步加载问题,提升测试脚本的稳定性和执行效率。
|
4月前
|
Web App开发 开发框架 .NET
Playwright 自动化测试系列(6)| 第三阶段:测试框架集成​指南:参数化测试 + 多浏览器并行执行
Pytest 与 Playwright 集成可提升自动化测试效率,支持参数化测试、多浏览器并行执行及统一报告生成。通过数据驱动、Fixture 管理和并行优化,显著增强测试覆盖率与执行速度,适用于复杂 Web 应用测试场景。
|
4月前
|
JavaScript 测试技术 API
Playwright自动化测试系列(3) | 第二阶段:核心技能与调试 ​​交互操作大全
本课程为Playwright自动化测试第三阶段,深入讲解核心交互操作与调试技巧。涵盖基础到高级交互、文件上传下载、疑难问题解决及复杂场景应对,并提供稳定性优化方案,帮助开发者高效构建健壮的自动化测试脚本。
下一篇
oss云网关配置