【拉勾6期】python pytest 测试实战

标题

python pytest 测试实战

课程价值

  • 掌握 pytest fixture 用法
  • 掌握 pytest 常用插件
  • 掌握 allure

大纲

  • pytest fixture 高级用法
  • conftest.py 用法
  • pytest 配置
  • pytest 常用插件
  • allure 生成测试报告

时长

120分钟

PPT

https://pdf.ceshiren.com/lg6/python-pytest测试实战

实战内容

参考资料:

fixture

调用方式

  • 测试用例中传入 fixture 方法名
  • @pytest.mark.usefixtures("login")
  • 自动调用:@pytest.fixture(autouse=True)

作用域

  • 控制方法:@pytest.fixture(scope='')
  • scope 的取值
    • function
    • class
    • module
    • session

fixture 方法返回值的获取

  • 在测试用例中使用 fixture 方法名就可以获取到 yield 后面的返回值

pytest 配置

  • 写在 pytest.ini 文件中
  • 放在项目工程的根目录
  • 不能用任何中文符号
[pytest]
markers  自定义 mark 标签名
addopts   运行时参数(可添加多个命令行参数,空格分隔,所有参数与命令行一致)
python_files  自定义测试文件命名规则
python_classes = Test_*   自定义测试类命名规则
python_functions= test_* check_*    自定义测试方法命名规则
testpaths = bilibili baidu    指定特定路径运行
norecursedirs = result logs datas test_demo*   运行时忽略某些文件夹

插件

pytest-rerunfailures

pytest test_rerun.py --reruns 3 --reruns-delay 1

xdist

pytest test_ordering.py -n 3

allure

  • 生成 allure 测试结果:pytest --alluredir=./result
  • 展示报告:allure serve ./result
  • 生成最终版本的报告:allure generate ./result
  • 清除上一次的记录:allure generate --clean result -o result/html

课后作业

  1. 补全计算器(加减乘除)的测试用例,编写用例顺序:加-除-减-乘
  2. 创建 fixture 方法实现执行测试用例前打印【开始计算】,执行测试用例之后打印【计算结束】
  3. 将 fixture 方法存放在 conftest.py ,设置 scope=module
  4. 控制测试用例顺序按照【加-减-乘-除】这个顺序执行
  5. 结合 allure 生成本地测试报告

课堂代码

https://github.com/ceshiren/HogwartsLG6

课后调查表

计算器用例作业!请查收:https://github.com/tangyihuai/HGWZLG6

飞儿老师请查收:https://github.com/Guoxiang1992/Code/tree/main/test_case

飞儿老师请查收作业:https://github.com/WangHao27/PytestDemo.git

https://github.com/GaoPangPang0318/MyStudy/tree/master/python_pytest

https://github.com/zimolanlan2008/pytest_homework3.git
fixture 参数化方法放到conftest有点混乱

老师请查收:https://github.com/Mr-ZhangChenxu/pytest_homework1/tree/master/testing

https://github.com/miaoqly/miaomiaomiao.git飞儿老师请查看这个文件夹![图片|364x39](upload://owUkd1PE8upfMFfpXbel08hp8At.png)

https://github.com/jinman716/jinman/tree/master/calctest请查收

请查收:https://github.com/jinman716/jinman/tree/master/calctest

请老师查收作业:https://github.com/pipidankaqiu/pytest_homework

https://github.com/Th0mas1ee/Hogwarts.git

计算器测试用例,请老师查收:GitHub - jww1996/homework_calcuator2: 计算器加减乘除测试用例作业

老师请查收:https://github.com/ZhangYi8326/Pytest_Zoey.git

计算器作业,飞儿老师请查收:https://github.com/Luciya0606/Hogwarts_HomeWork/tree/master/Pyhomework

pytest实战作业:https://github.com/ruyu-yin/STE.git
allure 报告生成不了
问题太多了,也看不懂,有时间我在慢慢改。还请老师有空指点!

作业请查收 AndyTeng/HomeWork - Gitee.com

作业请查收:https://github.com/13259727865/testing

老师请查收,https://github.com/zpl1024/GitDemo/tree/master/homework/pytest_test/testing_cases

老师,请检阅,https://github.com/ex-hefu001/pythonProject/blob/master/tests/test_calc_homework.py