一、Pytest基础
1. Pytest优势
- 简单灵活
- 支持参数化
- 自动重试失败的测试用例
- 支持allure2测试报告
- 具有很多第三方插件
2. Pytest编写规范
- 测试文件以test_开头
- 测试类以Test开头,并且不能带有__init__方法
- 测试函数以test_开头
3. Pytest - 参数化
- @pytest.mark.parametrize(“x,y”,[(3,5),(4.6),(5,7)])
4. Pytest - 支持多个Assert
5.Pytest - rerunfails
6.Pytest - ordering(依赖关系)
7. Pytest - 执行用例的方式
- 执行一个module
- pytest -v src/testcases/api/test_autouser.py
- 执行一个类,一个方法
- pytest -v src/testcases/api/test_autouse.py::TestSample
- pytest -v src/testcases/api/test_autouse.py::TestSample::test_answer
- 执⾏⼀个⽬录或者package
- pytest -v src/testcases/api
- 通过标签来运⾏测试⽤例
- pytest -m P0 src/testcases/api
- 通过pytest.main来执⾏,所有的参数和pytest命令⾏⽅式是一样的
- pytest.main(['-v', '--instafail', 'testcases/api/test_example.py', '-m=P2'])
- -v:
- -s:
二、Pytest高级用法
1. Pytest - 自定义marks
2. Pytest - fixtures
3. Pytest - conftest.py