【拉勾7期】【直播】python pytest 测试实战

标题

python pytest 测试实战

课程价值

  • 理解 Fixture 高级用法
  • 理解 pytest 常用插件
  • 掌握 Allure 生成测试报告

大纲

  • Fixture 高级用法
  • pytest 常用插件
  • Allure 生成测试报告

时长

180 分钟

PPT

脚本编写

应用

fixture 的用法

  • Fixture 是为了测试⽤例的执⾏,初始化⼀些数据和⽅法
    • 1、类似 setUp, tearDown 功能,但⽐ setUp, tearDown 更灵活
    • 2、直接通过函数名字调⽤或使用装饰器@pytest.mark.usefixtures(‘test1’)
    • 3、允许使用多个Fixture
    • 4、使用 autouse 自动应用,如果要返回值,需要传fixture函数名
    • 5、作用域(session>module>class>function)
    • -setup-show 回溯 fixture 的执行过程

conftest.py 注意

  • conftest.py配置需要注意:
    • conftest.py文件名是不能换的(重要)
    • conftest.py与运行的用例要在同一个package下,并且有__init__.py文件
    • 不需要import导入conftest.py,pytest用例会自动查找
    • 所有同目录测试文件运行前都会执行conftest.py文件
    • 全局的配置和前期工作都可以写在这里,放在某个包下,就是这 个包数据共享的地方。
    • 就近原则,离测试模块最近的conftest.py 文件生效

常用插件

pip install pytest-ordering  控制用例的执行顺序
pip install pytest-dependency   控制用例的依赖关系
pip install pytest-xdist    分布式并发执行测试用例
pip install pytest-rerunfailures   失败重跑
pip install pytest-assume              多重较验
pip install pytest-random-order  用例随机执行
pip intall  pytest-html                    测试报告 

测试报告 Allure

  • Allure2 解析过程:
      1. 安装 allure2
      1. Allure help 帮助文档
      1. 生成 allure 测试结果 :pytest —alluredir=./report/
      1. 展示报告:allure serve ./report
      1. 生成最终版本的报告: allure generate ./report
  • 在本地搭建一个网站服务(例如:Django)

课后作业

1、将课上的计算器的相加相除功能 ,完善测试用例,使用fixture 实现 setup_class/teardown_class 功能(使用conftest.py文件保存 fixture)
2、添加测试步骤,生成测试报告,截图回复课程贴

课后反馈

作业地址:lagoutest: 学习 - Gitee.com

有不足之处请指导

https://gitee.com/best-yangyuli/lagou_study

作业地址:https://gitee.com/mengmengnie/pytest_homework_0402
测试报告截图:

作业地址:https://github.com/mazhenhua0706/Homework/tree/main/homework2
报告截图:


磕磕绊绊…

https://gitee.com/yangge531/wsy2/tree/master/homework2

作业地址:https://github.com/zhengwan012/zhengwan.github.io/tree/master/homework/4_2

麻烦老师批改指正一下,谢谢
https://github.com/lqin007/testDemo/tree/master/PythonPractice/caculatePractice

老师 好,提交python pytest测试实战作业
https://github.com/oukouri/gitPythonTest/tree/master/py_pytest/pytest_fixture

https://github.com/zp89n11/pythonproject/tree/main/pytestdemo

作业:GitHub - xyzzh/coc: 计算器

老师好,这是我的pytest测试作业 TestWork/Pytest at main · Joe0929/TestWork · GitHub

作业已完成,请老师修改。

作业地址:https://github.com/sekilanxue/test/tree/main/pytesthowork