一、pytest测试框架简介:

(1)pytest是python的第三方测试框架,是基于unittest的扩展框架,比unittest更简洁,更高效。

(2)pytest框架可以兼容unittest用例

(3)支持参数化

测试用例的skip和xfail,自动失败重试等处理

(4)能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appium等自动化测试、接口自动化测试(pytest+requests);

(5)pytest并且具有很多第三方插件,并且可以自定义扩展,比较好用的比如pytest-allure(完美 html测试报告生成),pytest-xdist(多cpu分发)等;

(6)可以很好的和jenkins集成

二、用例编写规则:

(1)测试文件名必须以“test_”开头或者"_test"结尾(如:test_ab.py)

(2)测试函数必须以“test_”开头。

(3)测试类命名以"Test"开头。

三、pytest安装与依赖

pip install -U pytest U表示升级

pip insetall pytest-sugar ( sugar可以对我们运行的过程界面进行美化)

pip install pytest-rerunfailures( rerunfailures可以重新运行执行出错的测试用例)

pip install pytest-xdist( xdist多任务并发的执行测试用例)

pip install pytest-assume( assume可以在测试用例里面添加断言,通常是断言出错了就不执行了,但是通过用这个包,就可以即使这个断言出错了,也可以继续执行下一个断言)

pip install pytest-html( html可以生成html结果报告)

pip list 查看已安装模块

pytest -h 查看帮助

四、命令行模式执行:

pytest/py.test  运行该目录下所有以test_开头的.py文件

pytest -v   (最高级别信息--verbose)打印详细运行日志信息

pytest -v -s 文件名   (s是带控制台输出结果,也是输出详细运行日志)

pytest 文件名.py     执行单独一个pytest模块

pytest 文件名.py::类名    运行某个模块里面的某个类

pytest 文件名.py::类名::方法名   运行某个模块里面某个类里面的方法

pytest -v -k "类名and not方法名"  跳过运行某个测试用例

pytest --html=report.html   生成html测试报告

pytest -m[标记名]   @pytest.mark.[标记名]将运行这个有标记的测试用例

pytest -x 文件名 一旦运行报错就停止运行

pytest --maxfail=[num] 当运行错误达到num的时候就停止运行(比如冒烟测试,执行多少个失败的用例就打回)

pytest 文件名 -s  显示print内容

   # 执行该.py文件中所有以Test开头的类,以及test_开头的函数

    # 仅执行TestApi类中的test_login函数

  # 执行test_run.py中除了test_upload外的所有测试类和测试函数

    # 测试文件运行错误达到2次后,便停止运行

    #运行错误后,重复再运行2次,且每次延时2秒(前提:pip install pytest-rerunfailures)

    # 在当前目录下生成report.html测试报告

五、pycharm中执行:

参考:https://www.cnblogs.com/zhaikunkun/p/12583742.html

最新文章

  1. Prometheus 系统监控方案 二 安装与配置
  2. Hibernate之全面认识
  3. Tableau10.0学习随记-度量的聚合设置(取消度量汇总-展示所有数据)
  4. 添加thrust的库后出错
  5. yield return的用法简介
  6. 无序数组的中位数(set+deque)hdu5249
  7. Inno Setup技巧[界面]自定义安装向导小图片宽度
  8. Winfrom 程序打包及安装
  9. vim - manual -个人笔记
  10. html-webpack-plugin 遇到 throw new Error('Cyclic dependency' + nodeRep)
  11. Faiss安装
  12. jQuery对标签select优化:实现模糊搜索查询功能
  13. Multi-attention Network for One Shot Learning
  14. 第二类Stirling数
  15. Problem D: 求(x-y+z)*2
  16. C# 自定义类型通过实现IFormattable接口,来输出指定的格式和语言文化的字符串(例:DateTime)
  17. cookie的详解
  18. Windows 7 完美安装 Visual C++ 6.0
  19. nodejs发送http请求
  20. MD5摘要算法实现

热门文章

  1. 小程序3:ATM小程序
  2. 记录使用Python登录浙江大学统一身份认证
  3. mysql-STRAIGHT_JOIN-优化
  4. .Net Core3.1 + EF Core + LayUI 封装的MVC版后台管理系统
  5. Java 8新特性(一):Lambda表达式
  6. Paillier同态加密实现
  7. Linux服务器上创建新用户
  8. Java多线程_ReentrantLock
  9. [Redhat虚拟机安装][VirtualBox][NET:Registered protocol family 2]
  10. Ajax、XMLHttpRequest、JSONP的区别