自动化测试工具playwright中文文档-------3.运行和调试测试

目录

介绍

运行测试

命令行方式

以有头模式运行测试

在不同浏览器上运行测试

运行特定测试

并行运行测试

调试测试


介绍

您可以运行单个测试、一组测试或所有测试。通过使用 --browser 标志,可以在一个浏览器或多个浏览器上运行测试。默认情况下,测试以无头模式运行,这意味着在运行测试时不会打开浏览器窗口,结果将在终端中显示。如果您愿意,可以使用 --headed CLI 参数以有头模式运行测试。

你将学习

  • 如何从命令行运行测试
  • 如何调试测试

运行测试

命令行方式

要运行你的测试,使用pytest命令。默认情况下,这将在Chromium浏览器上运行你的测试。测试默认以无头模式运行,这意味着在运行测试时不会打开浏览器窗口,结果将在终端中显示。

复制代码
pytest

以有头模式运行测试

要以有头模式运行你的测试,请使用--headed标志。这将在运行测试时打开一个浏览器窗口,并在测试完成后关闭该浏览器窗口。

复制代码
pytest --headed

在不同浏览器上运行测试

要指定你想在哪个浏览器上运行测试,请使用--browser标志,后跟浏览器名称。

复制代码
pytest --browser webkit

要在多个浏览器上运行你的测试,请多次使用--browser标志,每次后跟每个浏览器的名称。

复制代码
pytest --browser webkit --browser firefox

运行特定测试

要运行单个测试文件,传入你想要运行的测试文件的名称。

复制代码
pytest test_login.py

要运行一组测试文件,传入你想要运行的测试文件的名称。

复制代码
pytest tests/test_todo_page.py tests/test_landing_page.py

要运行特定测试,传入你想要运行的测试的函数名称,使用-k选项后跟测试名称的关键字。

复制代码
pytest -k test_add_a_todo_item

这将匹配并执行所有包含test_add_a_todo_item关键字的测试函数。注意,-k选项是基于测试名称中的字符串匹配来工作的,因此它可以匹配多个测试。

并行运行测试

为了并行运行你的测试,使用--numprocesses标志,后跟你想要运行测试的进程数。我们推荐设置为逻辑CPU核心数的一半。

复制代码
pytest --numprocesses 2

这假设你已经安装了pytest-xdist。

调试测试

由于Playwright在Python中运行,你可以使用你喜欢的调试器来调试它,例如,使用Visual Studio Code中的Python扩展。Playwright附带了Playwright Inspector,它允许你逐步执行Playwright API调用,查看它们的调试日志,并探索定位器。

要调试所有测试,请运行以下命令。

Bash

复制代码
PWDEBUG=1 pytest -s

PowerShell

复制代码
$env:PWDEBUG=1
pytest -s test_example.py

Batch

复制代码
set PWDEBUG=1
pytest -s

要调试一个测试文件,运行命令后跟你想要调试的测试文件的名称。

你可以通过命令行设置环境变量并运行pytest,如下所示

Bash

复制代码
PWDEBUG=1 pytest -s test_example.py

PowerShell

复制代码
$env:PWDEBUG=1
pytest -s test_example.py

Batch

复制代码
set PWDEBUG=1  
pytest -s test_example.py

要调试一个特定的测试,可以在命令中添加 -k 参数,后面跟上你想要调试的测试的名称。

复制代码
# Bash 环境  
PWDEBUG=1 pytest -s -k test_get_started_link  
  
# PowerShell 环境  
$env:PWDEBUG=1; pytest -s -k test_get_started_link  
  
# Batch 环境
set PWDEBUG=1
pytest -s -k test_get_started_link

命令会打开一个浏览器窗口以及 Playwright Inspector。在 Playwright Inspector 中,你可以使用顶部的"单步执行"按钮来逐步执行你的测试,或者按"播放"按钮来从头到尾运行你的测试。一旦测试完成,浏览器窗口将会关闭。

请注意,PWDEBUG=1 假设是你的项目或某个库定义的一个环境变量,用于启用某种调试模式。

在调试时,你可以使用"选择定位器"按钮来在页面上选择一个元素,并查看 Playwright 将用来查找该元素的定位器。你还可以编辑定位器,并在浏览器窗口中实时看到它的高亮显示。使用"复制定位器"按钮将定位器复制到剪贴板,然后将其粘贴到你的测试中。

查看我们的调试指南debugging guide,以了解更多关于 Playwright Inspector 以及如何使用浏览器开发者工具Browser Developer tools进行调试的信息。

相关推荐
代码山河8 小时前
Python就业方向全解析:后端、爬虫、数据分析、AI你选哪个?
python·学习·架构·教程·面向对象·项目
在世修行8 小时前
智学文枢:题目流水线
python·多线程·状态机·pyside
梯度下降者9 小时前
零基础入门Python 爬虫
爬虫·python·数据分析·入门指南·webcrawler
光影6279 小时前
Unittest单元测试基础速记
测试工具·单元测试·json·测试覆盖率
ZhuoAIStage9 小时前
舞台工艺多专业审图提速:用 AI 智能体编排 A+B+C+G 四段读图流水线
人工智能·自动化·工作流编排·舞台工艺·审图智能体
“AI国潮设计-小江”10 小时前
【AIGC实战】Python+Stable Diffusion打造“英歌舞财神”IP,解锁“马到成功”等爆款情绪营销文案设计
开发语言·人工智能·python·prompt·aigc
benchmark_cc11 小时前
用 Python 拉 A 股全市场实时快照:Notebook 请求、结果校验与易错点
python·数据分析·pandas·量化交易·股票数据·quantdash
伞伞悦读11 小时前
【第70期】Adam二阶矩不是方差:偏差校正、动量与AdamW完整实验
python
海绵宝宝的月光宝盒11 小时前
14-AutoCAD-阵列命令应用与案例实战(AR)
经验分享·笔记·自动化·课程设计·制造·学习方法·cad
外收内放12 小时前
Python基础语法练习题(73)
java·前端·python