python + pytest多进程、多线程执行用例生成报告总结

背景:

使用多进程、多线程执行测试用例,生成测试报告;不使用多进程、多线程,以下两种方式都可生成报告

两种生成报告的形式

1、 pytestreport(pytest_session_finish时生成)

2、 allure

具体比较如下:

 

pytest-xdist(多进程)

pytest-parallel(多线程)

 

pytestreport

1、 使用多进程,会有多个session,同一个任务集,一个session完成,就会生成一个报告,生成多个报告,任务结果分散:×

多线程,同一个任务,生成一个报告,具体测试用例运行日志,没有和当前用例绑定;如登录成功的用例,可能绑定运行日志包含了登录失败的日志; 这个只查看通过率,具体失败查询日志,不能通过报告排查问题

allure

会收集到所有用例的情况,进行统计:

使用多线程+allure,会导致allure-results 收集不到测试的结果,文件夹一直没有更新最新的测试结果,导致最后生成的报告内容是NaN: ×

解决pytest-parallel不能和allure生成报告

安装多线程生成allure报告

pip install pytest-multithreading-allure

参考:Python 解决 pytest 多线程插件 pytest-parallel 不能和测试报告插件 allure-pytest 兼容的问题

posted on 2022-09-09 13:47  刚刚好1  阅读(584)  评论(1编辑  收藏  举报

导航