一、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’)

pytest第一版 入门学习相关推荐

  1. 零基础入门学python 第二版-《零基础入门学习Python》第二版和第一版的区别在哪里呢?...

    第一版 时光荏苒,一晃间,距离<零基础入门学习 Python>出版(2016年11月)已经过去两年多了,在这段时间里, Python 逐步走入了大家的视野,这门语言因其简洁的语法风格,在云 ...

  2. 零基础学python鱼c-《零基础入门学习Python》第二版和第一版的区别在哪里呢?...

    第一版 时光荏苒,一晃间,距离<零基础入门学习 Python>出版(2016年11月)已经过去两年多了,在这段时间里, Python 逐步走入了大家的视野,这门语言因其简洁的语法风格,在云 ...

  3. SCARA——OpenGL入门学习一、二

    参考博客:http://www.cppblog.com/doing5552/archive/2009/01/08/71532.html 简介 最近开始一个机械手臂的安装调试,平面关节型机器人又称SCA ...

  4. 机器学习入门学习资源

    机器学习入门学习资源 [转载请注明出处]http://blog.csdn.net/guyuealian/article/details/51471085 这是一篇很难写的文章,因为我希望这篇文章能对学 ...

  5. OpenGL入门学习[二] 绘制简单的几何图形

    OpenGL入门学习[二] 本次课程所要讲的是绘制简单的几何图形,在实际绘制之前,让我们先熟悉一些概念. 一.点.直线和多边形 我们知道数学(具体的说,是几何学)中有点.直线和多边形的概念,但这些概念 ...

  6. 最全面的openGL 入门学习

    自己在找openGL学习资料的时候,找到此篇openGL入门学习(虽然不是移动开发,但给我提供了非常好的思路),所以转一下让更多人知道,本文来自http://www.cppblog.com/doing ...

  7. OpenGL编程入门学习

    OpenGL编程入门学习  非常详细的教程,很适合初学者 本文转自:http://www.cppblog.com/doing5552/archive/2009/01/08/71532.html === ...

  8. OpenGLGLUT入门学习

    本文为转载,原文出处:OpenGL入门学习 说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的? ...

  9. OpenGL入门学习 (转)

    OpenGL入门学习 (转) 说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜 ...

最新文章

  1. Gson 使用总结 高级用法
  2. sqlserver改主键初始ID
  3. android audit2allow工具使用步骤
  4. 计算机操作师初级理论知识试卷答案,[计算机操作员初级理论知识试卷1.doc
  5. 686. Repeated String Match
  6. 计算机显示器刷新率怎么调,电脑显示器刷新率如何设置,免费教你如何快手设置刷新率...
  7. java hashmap value排序_按照Value对HashMap排序
  8. abb机器人过载报错_ABB机器人驱动模块温度警告及保养方案简介
  9. 关于Mac电脑装双系统的利弊解答
  10. 一般格式 | 分离变量法(三)| 偏微分方程(十五)
  11. 支付宝个人支付接口(蚂蚁金服官方接口)
  12. 【安全牛学习笔记】 端口扫描
  13. SecureCRT找回密码
  14. 小 tips:删除word表格下面多余的空白页
  15. 如何打造高绩效的研发团队
  16. 夏侯王朝 - (王室族谱)
  17. 环视拼接-鱼眼镜头模型
  18. ODBC in Win7
  19. mt4 python神经网络_【零基础】MT4量化入门二:关于MT4的总结
  20. 【Joy of Cryptography 读书笔记】Chapter 1 一次性密码本(one-time pad)Kerckhoffs原则

热门文章

  1. python 库整理:toolz.curried (整理中)
  2. 听说你想去大厂看妹子,带你看看阿里软件测试岗四轮面试是怎么样的?
  3. MATLAB实战系列(四)- LabVIEW初探
  4. 一部手机失窃引发的惊心动魄的战争,你是个合格的程序猿吗?
  5. Frighting的日常:第7天
  6. 【Python刷题】_3
  7. 使用libsvm对MNIST数据集进行实验
  8. Python编程基础:第二十二节 关键字参数Keyword Argument
  9. 【风控模型】Logistic算法构建标准信用评分卡模型python代码案例
  10. 元宇宙iwemeta:元宇宙和虚拟网红入围《经济学人》2022年值得关注的技术