一、pytest概述
官网:https://docs.pytest.org/en/latest/contents.html
二、安装
- pip install pytest
三、使用规则
文件名:必须以test*.py或者*test.py命名
测试类:必须以Test开头,不能有__init__
测试函数:必须以test开头。
执行顺序通unittest一样也是根据ASCII码执行的
四、用例执行
-v: 输出详细的用例执行信息
-s: 输出更加详细的调试信息
-m: 跟标记:执行含有改mark的测试用例
-k: 跟关键字;执行含有关键字的测试用例
五、用例跳过
class Test():
@pytest.mark.skip(reason="就是不想执行,跳过")
def test_001(self):
print("第一个测试用例")
@pytest.mark.skipif(1 == 1, reason="判断条件为true,则跳过")
def test_002(self):
print("第二个测试用例")
def test_003(self):
pytest.xfail(reason="执行失败") #xfail 是在用例中用的,注意和skip用法的区别
print("第三个测试用例")
def test_004(self):
注意:xfail 是用在测试用例中,不是以装饰器的方式使用
-
执行结果
六、参数化
- parameterized
官网:https://pypi.org/project/parameterized/ - 使用方式同unittest《https://www.jianshu.com/p/1b5e790fdaaf》
七、测试报告
pytest-html
- 安装:pip install pytest-html
- 执行:pytest -v -s pytest-1.py --html=./report.html
-
执行结果:
八、常用插件
- pytest-selenium(集成selenium)
- pytest-html(完美html测试报告生成)
- pytest-rerunfailures(失败case重复执行)
- pytest-xdist(多CPU分发)
九:完整示例代码
- 待更新.....