-
前言:平常我们手工测试用例非常多时,比如有1千条用例,假设每个用例执行需要1分钟。如果一个测试人员执行需要1000分钟才能执行完,当项目非常紧急的时候,我们会用测试人力成本换取时间成本,这个时候多找个小伙伴把任务分成2部分,于是时间缩减一半。如果是十个人一起执行,1000个用例理论上只需100分钟就能完成,时间缩短到了1/10。大大节省的测试时间,为项目节省了时间成本。
-
同样道理,当我们测试用例非常多的时候,一条条执行,很显然会比较慢,那么如何让测试用例并行执行呢,这就是我们接下来要讲的pytest分布式执行插件pytest-xdist
-
1、环境安装
- pip install pytest-xdist
-
2、示例代码
import pytest,time
@pytest.mark.repeat(10)
class Test_class:
def test_001(self):
a = 'hello'
b = 'hello world'
time.sleep(1)
assert a != b
print('测试用例--001')
def test_002(self):
a = 1
b = 2
assert a+b == 3
time.sleep(1)
print('测试用例--002')
@pytest.mark.repeat(20)
def test_003():
a = 'hello'
b = 'hello world'
time.sleep(1)
assert a in b
print('测试用例--003')
- 正常运行,需要40s
- 设置并行运行数量为3,消耗时间:15.14s,大大的缩短了用例时间
- 参数 -n auto:可以自动检测到系统的CPU核数。
- 使用 auto 等于利用了所有CPU来跑用例,此时CPU占用率会特别高。
- 参数 -n auto:可以自动检测到系统的CPU核数。