【拉勾二期】pytest 实战(二)课程贴

参考链接

pytest hook函数:https://docs.pytest.org/en/latest/_modules/_pytest/hookspec.html

Pytest 参数化与数据驱动

  • 装饰函数:装饰测试函数
  • 装饰类:会传给类的所有方法
  • 组合数据:自动生成多组测试用例(类似笛卡尔积)
  • ids :增加可读性
  • 结合yaml 实现数据驱动

pytest 常用插件

pip install pytest-rerunfailures 失败重跑
pip install pytest-assume 多重较验
pip install pytest-sugar 用例执行过程显示进度条
pip install pytest-ordering 解决用例顺序
pip install pytest-dependency 解决用例依赖
pip install pytest-xdist 分布式执行
pip intall pytest-html 测试报告

pytest 高级用法(编写hook方法)

  • pytest_collection_modifyitems 收集上来的测试用例实现定制化功能
  • pytest_addoption 为 pytest 命令行增加自定义参数,每个pytest plugin都会用到这个hook方法
  • pytest_generate_tests 可以实现自定义动态参数化方案或者扩展

Pytest 配置

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

Allure 生成测试报告

    1. 安装 allure2
    1. Allure help 帮助文档
    1. 生成 allure 测试结果 :pytest —alluredir=./report/
    1. 展示报告:allure serve ./report
    1. 生成最终版本的报告: allure generate ./report
    1. 打开报告 :allure open -h 127.0.0.1 -p 8883 ./report/

课后作业

课后调查表