
Pytest
前面的文章我们对pytest进行了详细的介绍,那么本篇文章我们来说说pytest最强大的一个机制——第三方插件。
那小提莫下面会给大家安利一些好用的第三方插件。
01
pytest-sugar进度条
这个插件主要是用来美化用的啦,它只要安装之后,你的pytest运行测试用例就会出现下面的进度条:

简单来说,装逼必用!
02
pytest-rerunfailures失败重试
这个插件是为了实现我们有时候希望能够重试失败的用例,来提升测试的稳定性用的。
命令如下:
pytest test_x.py --reruns=重试次数
复制
大概重试的结果如下:

此时跑了两条用例,一条成功一条失败,并且失败的那条用例会重复执行多次,如果仍失败那么认定最终结果为失败。
03
有时候我们希望我们单条用例可以重复运行多次的话,可以使用这个插件,命令如下:
pytest --count=重复次数
复制
结果:

上述结果是跑了2条用例,并且重复三次的结果,可以看到失败的运行了三次,成功的也运行了三次。
04
pytest-xdist并行任务
这个插件可以帮助我们实现并发执行测试用例,使用方法也是非常简单:
pytest -n=并发数
复制
运行结果:

可以看到,我们使用pytest-xdist确实能够提升不小的测试效率,但是小提莫这里温馨提示一下,我们在使用pytest-xdist插件的时候,测试用例的编写一定要遵循一个原则:测试用例和测试用例之前不能有任何依赖。否则并行执行的话就会乱掉。
05
pytest-ordering编排用例顺序
大家都知道在pytest中 ,默认的顺序是按照编写用例的前后顺序。如果想自定义这个用例的执行顺序,就需要用到此插件。
使用方式:
@pytest.mark.run(order=4)
def test_001():
time.sleep(1)
@pytest.mark.run(order=3)
def test_002():
time.sleep(1)
@pytest.mark.run(order=2)
def test_003():
time.sleep(1)
@pytest.mark.run(order=1)
def test_004():
time.sleep(1)
复制
我们需要在测试函数上方加上@pytest.mark.run(order=标号),按照这个标号的从小到大进行执行。
运行结果:

06
pytest-timeout超时机制
利用这个插件,我们可以控制用例的 执行超时,如果超时的话就记用例为失败。
使用方式:
pytest --timeout=秒数
复制
执行结果:

07
pytest-tmreport测试报告
这个测试报告插件是小提莫基于vue+element ui开发的一套模版插件,在这里也安利给各位小伙伴,非常的精美(不过注意需要联网)。
使用方式:
pytest --pytest-tmreport-name=报告名称.html
复制
运行之后就会在当前目录下生成一份测试报告啦。
测试报告样例:

推荐没有使用过的伙伴,快去尝试下!
那么本期的内容到底结束。
see you later.