Time will tell.
手工测试用例非常多时,如1000条用例,假设每条用例执行要1分钟,一个测试人员需要1000分钟才能执行完。
项目非常紧急时,我们会用测试人力成本换取时间成本,这时会多找些人分配任务,而缩短时间。如果是10个人执行,1000个用例理论上只需100分钟,时间缩短到了1/10,为项目节省了时间成本。
同样道理,当我们测试用例非常多时,一条一条执行,显然会很慢,那么如何让测试用例并行执行呢?这就是今天要讲的 pytest 分布式执行插件pytest-xdist。
1、pytest-xdist
cmd 里面使用 pip 安装,pip install pytest-xdist 。
>pip show pytest-xdist
Name: pytest-xdist
Version: 1.23.2
Summary: pytest xdist plugin for distributed testing and loop-on-failing modes
Home-page: https://github.com/pytest-dev/pytest-xdist
Author: holger krekel and contributors
Author-email: pytest-dev@python.org,holger@merlinux.eu
License: MIT
Location: e:\python36\lib\site-packages
Requires: execnet, pytest-forked, six, pytest
pytest-xdist 插件扩展了一些独特的测试执行模式 pytest:
测试运行并行化:如果有多个 CPU 或主机,则可以将它们用于组合测试运行。加快运行速度。
looponfail:在子进程中重复运行测试。每次运行之后, pytest 会等待,直到项目中的文件发生更改,然后重新运行以前失败的测试。重复此过程直到所有测试通过,之后再次执行完整运行。
多平台覆盖:您可以指定不同的 Python 解释器或不同的平台,并在所有平台上并行运行测试