标题
python pytest 测试实战 2
课程价值
- 掌握 pytest fixture 用法
- 掌握 conftest.py 用法
- 了解 pytest 常用插件
- 掌握 allure 用法
大纲
- pytest fixture 用法
- conftest.py 用法
- pytest 常用插件
- allure 用法
时长
90分钟
PPT
https://pdf.ceshiren.com/lg5/python-pytest测试实战2
实战内容
参考资料
- allure 下载地址: https://repo1.maven.org/maven2/io/qameta/allure/allure-commandline/2.13.7/
- python包查询:pypi.org
fixture 用法
定义
@pytest.fixture()
def fixture_method():
print("setup")
yield 返回值
print("teardown")
调用方法
- 测试用例中传入 fixture 方法名
- @pytest.mark.usefixtures(“login”)
- 自动调用 @pytest.fixture(autouse=True)
作用域
- 控制方式:@pytest.fixture(scope=“”)
- scope 的取值
- function (默认值)
- class
- module
- session
fixture 方法返回值的获取
在测试用例中使用 fixture 方法名可以获取到 yield 后面的返回值
conftest.py 用法
conftest.py 文件名是不能改变
conftest.py 与运行的用例要在同一个 package 下
不需要 import 导入 conftest.py,pytest 用例会自动查找
所有同目录测试文件运行前都会执行 conftest.py 文件
全局的配置和前期工作都可以写在这里
课后作业
- 补全计算器(加减乘除)的测试用例,编写用例顺序:加-除-减-乘
- 创建 fixture 方法实现执行测试用例前打印【开始计算】,执行测试用例之后打印【计算结束】
- 将 fixture 方法存放在 conftest.py ,设置 scope=module
- 控制测试用例顺序按照【加-减-乘-除】这个顺序执行
- 结合 allure 生成本地测试报告
课堂代码
https://github.com/ceshiren/HogwartsLG5/tree/main/test_pytest