Pytest-playwright运行时删除指定输出文件夹问题咨询
问题产生原因
pytest-playwright 针对输出目录设计了默认的前置清理逻辑:每次测试会话启动时,会先清空--output参数指定的目标文件夹,如果文件夹不存在则自动创建。该行为的设计目的是避免多次测试运行的旧结果、异常残留文件干扰新的测试输出统计,相关逻辑属于框架底层的预设配置,未在常规命令参数说明中高亮标注,因此难以直接在公开文档中检索到对应说明。
可用解决方案
- 临时禁用单次测试的输出目录清理
执行测试命令时追加--preserve-output参数即可跳过清理步骤,示例命令如下:pytest --output "foldername" --preserve-output - 全局配置永久禁用输出目录清理
可以在项目的pytest配置文件中添加固定配置,后续所有测试运行都不会自动清理输出目录,无需每次执行命令追加参数。
若使用pytest.ini作为配置文件,添加内容如下:
若使用[pytest] preserve-output = true output = foldernamepyproject.toml作为配置文件,添加内容如下:[tool.pytest.ini_options] preserve-output = true output = "foldername" - 动态命名输出目录留存多轮测试结果
如果需要保留每次测试的历史输出,可以将输出目录命名为带时间戳的动态名称,既不会触发旧目录的清理逻辑,也可以实现多轮测试结果的分类留存,不同环境的示例命令如下:- Linux/macOS 终端:
pytest --output "test_result_$(date +%Y%m%d%H%M%S)" - Windows PowerShell 终端:
pytest --output "test_result_$(Get-Date -Format 'yyyyMMddHHmmss')"
- Linux/macOS 终端:
内容的提问来源于stack exchange,提问作者Михаил Викторов
相关产品推荐
相关产品推荐

