pytest第一版 入门学习
一、pytest 简介
- pytest是一个非常成熟的单元框架,比unittest更灵活,容易上手。
- pytest可以和selenium,request,appium结合实现web自动化,接口自动化,app自动化。
- pytest可以实现测试用例的跳过以及reruns失败用例的重试。
- pytest可以和allure生成非常美观的测试报告。
- pytest可以和jenkins持续集成。
- pytest有很多强大的插件,并且这些插件能够实现很多的使用的操作。
常用的插件有:
- pytest
- pytest-html (生成html格式的自动化测试报告)
- pytest.xdist (测试用例分布式执行,多cpu分发)
- pytest-ordering (用于改变测试用例的执行顺序)
- pytest-rerunfailures (用于失败后重跑)
- allure-pytest (用于生成美观的测试报告)
二、使用pytest, 默认的测试用例的规则以及基础应用
- 模块名必须以test_开头或者_test结尾(此处的模块名指的是py文件的名字)
- 测试类必须以Test开头,并且不能有init方法
- 测试方法必须以test开头
三、pytest测试用例的运行方式
- 主函数模式 运行所有用例 pytest.main()
- pytest.main([]) 参数是放在list里传入的
- 命令行模式
- 运行所有用例 pytest
- 指定模块 pytest -vs xxx.py
- 指定目录 pytest -vs ./xxx
- 通过读取pytest.ini配置文件进行
- pytest.ini 这个文件它是pytest单元测试框架的核心配置文件
- 位置: 一般放在项目的根目录
- 编码: 必须是ANSI,可以使用notpad++修该编码格式
- 作用: 改变pytest默认的行为
- 运行的规则:不管是主函数模式运行,还是命令行运行,都会去读取这个配置文件
[pytest] addopts = -vs # 命令行参数 testpaths = /tests # 测试用例执行路径 python_files = test_*.py # 模块名的规则 python_classes = Test* # 类名的规则 python_functions= test_* start # 方法名的规则 markers =smoke: 冒烟测试usermanage: 用户商品管理productmanage: 商品管理模块
参数详情
- -s: 表示输出调试信息,包括print打印的信息
- -v: 显示更详细的信息
- -vs: 这两个参数可以一起使用
- -n: 支持多线程或者分布式运行测试用例
- –reruns num: 失败用例重跑 num代表重跑的次数
- -x: 表示只要一个用例报错,那么测试停止
- –maxfail=2 出现两个用例失败就停止
- -k: 根据测试用例的部分字符串制定测试用例
- –html ./report/report.html: 生成html的测试报告
四、pytest执行测试用例的顺序是什么样的
pytest 默认从上到下执行
可通过@pytest.mark.run(order=3) order可以控制当前用例第几个执行
改变默认的执行顺序: 使用mark标记
五、如何分组执行
smoke: 冒烟测试,分布在各个模块里面
pytest -m “smoke”
pytest -m “smoke or usermanage”
六、pytest 跳过测试用例
- 无条件跳过
- @pytest.mark.skip(reason=‘xxx’)
- 有条件跳过
- @pytest.mark.skipif(age>=18, reason=‘xxx’)
pytest第一版 入门学习相关推荐
- 零基础入门学python 第二版-《零基础入门学习Python》第二版和第一版的区别在哪里呢?...
第一版 时光荏苒,一晃间,距离<零基础入门学习 Python>出版(2016年11月)已经过去两年多了,在这段时间里, Python 逐步走入了大家的视野,这门语言因其简洁的语法风格,在云 ...
- 零基础学python鱼c-《零基础入门学习Python》第二版和第一版的区别在哪里呢?...
第一版 时光荏苒,一晃间,距离<零基础入门学习 Python>出版(2016年11月)已经过去两年多了,在这段时间里, Python 逐步走入了大家的视野,这门语言因其简洁的语法风格,在云 ...
- SCARA——OpenGL入门学习一、二
参考博客:http://www.cppblog.com/doing5552/archive/2009/01/08/71532.html 简介 最近开始一个机械手臂的安装调试,平面关节型机器人又称SCA ...
- 机器学习入门学习资源
机器学习入门学习资源 [转载请注明出处]http://blog.csdn.net/guyuealian/article/details/51471085 这是一篇很难写的文章,因为我希望这篇文章能对学 ...
- OpenGL入门学习[二] 绘制简单的几何图形
OpenGL入门学习[二] 本次课程所要讲的是绘制简单的几何图形,在实际绘制之前,让我们先熟悉一些概念. 一.点.直线和多边形 我们知道数学(具体的说,是几何学)中有点.直线和多边形的概念,但这些概念 ...
- 最全面的openGL 入门学习
自己在找openGL学习资料的时候,找到此篇openGL入门学习(虽然不是移动开发,但给我提供了非常好的思路),所以转一下让更多人知道,本文来自http://www.cppblog.com/doing ...
- OpenGL编程入门学习
OpenGL编程入门学习 非常详细的教程,很适合初学者 本文转自:http://www.cppblog.com/doing5552/archive/2009/01/08/71532.html === ...
- OpenGLGLUT入门学习
本文为转载,原文出处:OpenGL入门学习 说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的? ...
- OpenGL入门学习 (转)
OpenGL入门学习 (转) 说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜 ...
最新文章
- 3、python中的字符串
- springboot配置Filter的两种方法
- ClickOnce 部署概述
- C语言hello work的编译过程分解
- 男人最佳的生育年限,程序猿们,看看吧!!!
- oracle数据库十六进制转字符串,Oracle中各种进制相互转换
- php warning: directive,安装Composer PHP Warning: copy(): SSL operation failed with code
- 由input type=file /获取的file.type为空字符串引申浏览器是如何获取文件的MIME类型...
- web前端开发技术(第3版)储久良著课后实验
- 一些易被忽视且难度较高的Web前端面试题汇总
- 如何让微软Onedrive同步其他硬盘的文件
- Springboot入门手册
- ubuntu磁盘分区与挂载
- Python修改图片分辨率
- halcon之屌炸天的自标定(1)
- 微信公共平台 首次关注 自动回复消息
- 电脑从硬盘启动计算机,BIOS怎么设置成从硬盘启动?开启计算机或重新启动
- 1080p、1080i
- 三表左连接(LEFT JOIN) — 两表之间的关系
- 计算机软件投资所得税减免,个人以计算机软件著作权增资可以享受延迟纳个税的优惠吗...
热门文章
- python编程基础(二)~python安装设置 和 pip packages安装与使用
- ubantu使用apt安装时出现: xxx is not found 的解决方法
- 机器学习笔记 时间序列预测(最基本的方法【benchmark】)
- osmnx 补充笔记:get_edge_colors_by_attr get_node_colors_by_attr
- 数据仓库建设从0到1-一文带你深入建设金融数仓体系
- 深度学习核心技术精讲100篇(四十三)-人工智能新技术-知识普及篇:一文带你深入认识下联邦学习的前世今生
- 淘宝拼多多之争,从宏观的角度看拼多多是如何实现商业逆袭的?
- 数据挖掘之聚类k-means
- 【图像处理opencv】_图像边缘
- QT利用lamda正则表达式取出字符串中的浮点数与整数