pytest之多进程运行测试用例(pytest-xdist)
2021/7/7 7:06:34
本文主要是介绍pytest之多进程运行测试用例(pytest-xdist),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
背景:
我们日常的工作当中进行自动化测试编写的测试用例会非常多,测试用例一个一个的执行所需要花费的时间会很长,你想象一下如果开发改动一块代码,我们需要回归一下,这时候执行一下自动化用例需要花费一小时或者好几个小时的时间,这是我们无法容忍的。
为了解决这个问题,我们采用pytest的插件pytest-xdist来进行多进程的并发执行测试用例,大大的缩短测试用例的执行时间,提高效率。
并发运行测试用例:
1.安装pytest-xdist
pip install pytest-xdist
2.多进程并发执行测试用例
pytest test_add.py -n NUM # NUM表示并发的进程数
举例:
项目结构如下:
代码参考:
# file_name: test_a.py import pytest import time def test_a_01(): print("----------------->>> test_a_01") time.sleep(1) assert 1 def test_a_02(): print("----------------->>> test_a_02") time.sleep(1) assert 1 def test_a_03(): print("----------------->>> test_a_03") time.sleep(1) assert 1 def test_a_04(): print("----------------->>> test_a_04") time.sleep(1) assert 1 if __name__ == '__main__': pytest.main(["-s", "test_a.py"])
# file_name: test_b.py import pytest import time def test_b_01(): print("----------------->>> test_b_01") time.sleep(1) assert 1 def test_b_02(): print("----------------->>> test_b_02") time.sleep(1) assert 1 def test_b_03(): print("----------------->>> test_b_03") time.sleep(1) assert 1 def test_b_04(): print("----------------->>> test_b_04") time.sleep(1) assert 1 if __name__ == '__main__': pytest.main(["-s", "test_b.py"])
正常运行以上代码,耗时:8.09s
设置并行运行数量为4,耗时:3.48s,大大的缩短了测试用例的执行时间。
这篇关于pytest之多进程运行测试用例(pytest-xdist)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-17HarmonyOS NEXT开发实战:打造高效上拉刷新与下拉加载组件(一)空页面的设计与实现
- 2024-11-17职场毒瘤:无脑尊蠢老!我不反对尊老,我只是反对没有脑子的尊老!
- 2024-11-17顶级企业如何用数据脱敏保护用户隐私!
- 2024-11-16ShardingSphere 如何完美驾驭分布式事务与 XA 协议?
- 2024-11-16ShardingSphere如何轻松驾驭Seata柔性分布式事务?
- 2024-11-16Maven资料入门指南
- 2024-11-16Maven资料入门教程
- 2024-11-16MyBatis Plus资料:新手入门教程与实践指南
- 2024-11-16MyBatis-Plus资料入门教程:快速上手指南
- 2024-11-16Mybatis资料入门教程:新手必看指南