pytest是python的一种单元测试框架,与unittest相比,使用起来更简洁高效,也是目前业界使用最多的一款python自动化测试框架,除pytest本身的功能之外,还支持上百种第三方插件,良好的扩展性可以满足大家的自动化需求,包含web、app、api等。废话不多说,先从插件开始入门。
pytest常用插件
pytest
pytest-html:生成html格式的自动化测试报告
pytest-xdist:测试用例分布式执行
pytest-ordering:用于改变测试用例的执行顺序
pytest-rerunfailures:用例失败后重跑
pytest-assume:正常情况下一条用例如果有多条断言,一条断言失败了,其他断言就不会执行了,而使用pytest-assume可以继续执行下面的断言
allure-pytest:生成测试报告
pycharm批量安装插件
在pycharm项目的根目录下,创建一个requirements.txt文件,如下图,在命令终端执行pip install requirements.txt后自动安装。如果编码格式有误,则需要在文件头部注明文件编码格式,如:#coding=utf-8
插件使用方法及注意事项
pytest-ordering
通过给用例添加装饰器pytest.mark.run(order=执行顺序)设置用例的执行顺序。在执行的时候,使用装饰器pytest.mark.run的用例会优先没有装饰器的用例执行,设置了执行顺序的用例则按照order参数设置的大小升序执行。如下面
```pyte
```ß
importpytest
classTestCase:
deftest_01(self):
print("测试用例01")
deftest_02(self):
print("测试用例02")
# 使用装饰器设置执行顺序为2
@pytest.mark.run(order=2)
deftest_03(self):
print("测试用例03")
# 使用装饰器设置执行顺序为1
@pytest.mark.run(order=1)
deftest_04(self):
print("测试用例04")
if__name__ =="__main__":
pytest.main(['-vs'])
网友评论