pytest第一版 入门学习

一、pytest 简介

  1. pytest是一个非常成熟的单元框架,比unittest更灵活,容易上手。
  2. pytest可以和selenium,request,appium结合实现web自动化,接口自动化,app自动化。
  3. pytest可以实现测试用例的跳过以及reruns失败用例的重试。
  4. pytest可以和allure生成非常美观的测试报告。
  5. pytest可以和jenkins持续集成。
  6. pytest有很多强大的插件,并且这些插件能够实现很多的使用的操作。

常用的插件有:

  1. pytest
  2. pytest-html (生成html格式的自动化测试报告)
  3. pytest.xdist (测试用例分布式执行,多cpu分发)
  4. pytest-ordering (用于改变测试用例的执行顺序)
  5. pytest-rerunfailures (用于失败后重跑)
  6. allure-pytest (用于生成美观的测试报告)

二、使用pytest, 默认的测试用例的规则以及基础应用

  1. 模块名必须以test_开头或者_test结尾(此处的模块名指的是py文件的名字)
  2. 测试类必须以Test开头,并且不能有init方法
  3. 测试方法必须以test开头

三、pytest测试用例的运行方式

  1. 主函数模式 运行所有用例 pytest.main()
  2. pytest.main([]) 参数是放在list里传入的
  3. 命令行模式
  4. 运行所有用例 pytest
  5. 指定模块 pytest -vs xxx.py
  6. 指定目录 pytest -vs ./xxx
  7. 通过读取pytest.ini配置文件进行
  8. pytest.ini 这个文件它是pytest单元测试框架的核心配置文件
  9. 位置: 一般放在项目的根目录
  10. 编码: 必须是ANSI,可以使用notpad++修该编码格式
  11. 作用: 改变pytest默认的行为
  12. 运行的规则:不管是主函数模式运行,还是命令行运行,都会去读取这个配置文件
    6.
[pytest]
addopts = -vs
testpaths = /tests
python_files = test_*.py
python_classes = Test*
python_functions= test_* start
markers =
    smoke: 冒烟测试
    usermanage: 用户商品管理
    productmanage: 商品管理模块

参数详情

  1. -s: 表示输出调试信息,包括print打印的信息
  2. -v: 显示更详细的信息
  3. -vs: 这两个参数可以一起使用
  4. -n: 支持多线程或者分布式运行测试用例
  5. –reruns num: 失败用例重跑 num代表重跑的次数
  6. -x: 表示只要一个用例报错,那么测试停止
  7. –maxfail=2 出现两个用例失败就停止
  8. -k: 根据测试用例的部分字符串制定测试用例
  9. –html ./report/report.html: 生成html的测试报告

四、pytest执行测试用例的顺序是什么样的

pytest 默认从上到下执行
可通过@pytest.mark.run(order=3) order可以控制当前用例第几个执行
改变默认的执行顺序: 使用mark标记

五、如何分组执行

smoke: 冒烟测试,分布在各个模块里面
pytest -m “smoke”
pytest -m “smoke or usermanage”

六、pytest 跳过测试用例

  1. 无条件跳过
  2. @pytest.mark.skip(reason=’xxx’)
  3. 有条件跳过
  4. @pytest.mark.skipif(age>=18, reason=’xxx’)

Original: https://blog.csdn.net/python_tian/article/details/120028830
Author: 一叶知秋的BLOG
Title: pytest第一版 入门学习

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/776676/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球