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()
    1. pytest.main([]) 参数是放在list里传入的
  2. 命令行模式
    1. 运行所有用例 pytest
    2. 指定模块 pytest -vs xxx.py
    3. 指定目录 pytest -vs ./xxx
  3. 通过读取pytest.ini配置文件进行
    1. pytest.ini 这个文件它是pytest单元测试框架的核心配置文件
    2. 位置: 一般放在项目的根目录
    3. 编码: 必须是ANSI,可以使用notpad++修该编码格式
    4. 作用: 改变pytest默认的行为
    5. 运行的规则:不管是主函数模式运行,还是命令行运行,都会去读取这个配置文件
    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. 无条件跳过
    1. @pytest.mark.skip(reason=‘xxx’)
  2. 有条件跳过
    1. @pytest.mark.skipif(age>=18, reason=‘xxx’)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一叶知秋的BLOG

创作不易 请多多关注

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值