【pytest】Xdist分布式运行

  • 前言:平常我们手工测试用例非常多时,比如有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占用率会特别高。
posted @ 2022-08-14 16:38  Tony_xiao  阅读(60)  评论(0编辑  收藏  举报