在 pytest.ini 文件中配置 playwright 的选项可以更好地控制测试执行的过程。
在终端输入pytest --help,可以找到playwright的配置参数
目录
1. --browser={chromium,firefox,webkit}
2. --headed
3. --browser-channel=BROWSER_CHANNEL
4. --slowmo=SLOWMO
5. --device=DEVICE
6. --output=OUTPUT
7. --tracing={on,off,retain-on-failure}
8. --video={on,off,retain-on-failure}
9. --screenshot={on,off,only-on-failure}
10. --full-page-screenshot
示例配置文件
下面讲讲这些选项的具体含义和用途:
1. --browser={chromium,firefox,webkit}
作用: 指定用于测试的浏览器引擎。可以选择 chromium (默认), firefox, 或 webkit。
示例:[pytest] browser = firefox
2. --headed
作用: 以非无头模式运行测试,即打开一个可视化的浏览器窗口。
示例:[pytest] addopts = --headed
3. --browser-channel=BROWSER_CHANNEL
作用: 指定要使用的浏览器通道,例如 stable, beta, dev, canary 等。
示例:[pytest] browser_channel = canary
4. --slowmo=SLOWMO
作用: 使测试执行过程减速,以毫秒为单位。这对于调试测试非常有用。
示例:[pytest] addopts = --slowmo 500
5. --device=DEVICE
作用: 模拟特定设备的视口大小和触摸事件。可以使用预定义的设备名称,如 iPhone X, iPad Mini, 等。
示例:python">[pytest] addopts = --device iPhone X
6. --output=OUTPUT
作用: 指定测试结果(如视频、截图等)的输出目录,默认为 test-results。
示例:
python">[pytest] output = custom-test-results
7. --tracing={on,off,retain-on-failure}
作用: 控制是否为每个测试记录追踪信息。
on: 总是记录追踪信息。
off: 不记录追踪信息。
retain-on-failure: 只有测试失败时保留追踪信息。
示例:
python">[pytest] addopts = --tracing retain-on-failure
8. --video={on,off,retain-on-failure}
作用: 控制是否为每个测试录制视频。
on: 总是录制视频。
off: 不录制视频。
retain-on-failure: 只有测试失败时保留视频。
示例:python">[pytest] addopts = --video retain-on-failure
9. --screenshot={on,off,only-on-failure}
作用: 控制是否自动为每个测试捕获截图。
on: 总是捕获截图。
off: 不捕获截图。
only-on-failure: 只有测试失败时捕获截图。
示例:python">[pytest] addopts = --screenshot only-on-failure
10. --full-page-screenshot
作用: 是否捕获整个页面的截图,而不是当前视口的截图。
示例:python">[pytest] addopts = --full-page-screenshot
示例配置文件
下面是一个完整的 pytest.ini 文件示例,展示了如何配置上述选项:
python">[pytest]
addopts = --browser firefox --headed --slowmo 500 --device iPhone X --output custom-test-results --tracing retain-on-failure --video on --screenshot only-on-failure --full-page-screenshot
这些配置选项可以单独使用,也可以组合使用。
配置选项可以通过命令行参数传递给 pytest,也可以写入 pytest.ini 文件中。
通过命令行传递的选项会覆盖 pytest.ini 文件中的设置。