目录

一、Pytest详解以及常用的插件安装

二、Pytest默认的测试用例的规则

三、Pytest用例运行方式以及参数

1.命令行模式运行 命令:pytes

2.主函数模式运行

3.基于pytest.ini配置文件运行

四、pytest测试用例的执行顺序

五、pytest跳过测试用例

六、pytest测试用例的前后置

今日内容:接口自动化测试框架必会之pytest插件,运行规则以及参数,pytest.ini配置文 件,跳过用例,用例执行顺序,夹具等

资源:python+requests+pytest接口自动化框架(1-4)-Python文档类资源-CSDN下载

一、Pytest详解以及常用的插件安装

1.pytest是一个非常成熟的基于python的单元测试框架(测试的是程序的最小单元:函 数,方法)

  • python:unittest和pytest
  • java:junit和testng

2.pytest可以和所有的自动化测试工具或模块:selenium,requets,appium结合实现 web自动化,接口自动化,app自动化。

3.它可以和allure插件生成美观以及定制化的报告以及和jenkins实现持续集成。

4.pytest有很多强大的插件 pytest(自己)

  • pytest-html (生成简易的HTML报告)
  • pytest-xdist(多线程执行)
  • pytest-ordering(修改测试用例的执行顺序)
  • pytest-rerunfailures (失败用例重跑)
  • pytest-base-url(管理基础路径:测试环境,开发环境,线上环境)
  • allure-pytest(生成allure报告)

放到一个requirements.txt的文件。一次行的安装所有的插件。

命令如下:-r表示递归

pip install ‐r requirements.txt

5.pytest单元框架主要用来做什么?

  1. 发现测试用
  2. 执行测试用例
  3. 判断测试结果
  4. 生成测试报告

二、Pytest默认的测试用例的规则

  1. 模块名(py文件)必须以test_开头或_test结尾
  2. 测试类必须以Test开头,并且不能带有init方法(初始化方法)
  3. 测试用例必须以test开头

三、Pytest用例运行方式以及参数

1.命令行模式运行

命令:pytes

参数: -vs

-v 输出更加详细的测试用例的信息

-s 输出用例中的调试信息

示例:pytest -vs

-n 多线程运行

示例:pytest -vs -n 2

--reruns 失败用例重跑

示例:pytest -vs --reruns 2

-x 一旦出现一个用例失败则终止测试。

示例:pytest -x

--maxfail 出现指定次数的错误则终止测试。

示例:pytest -vs --maxfail 2

--html 生成简易的html报告

示例:pytest -vs --html=./reports/report.html

-k 运行包含有指定字符串的测试用例(测试用例的名称必须很规范)

test_usermanage_adduser

test_usermanage_deluser

test_usermanage_edituser

示例:pytest -vs -k "mashang or jiaoyu"

指定模块运行:pytest -vs ./testcases/test_weixin.py

指定文件夹运行:pytest -vs ./testcases/weixin

通过node id运行:pytest -vs

./testcases/weixin/test_weixin.py::TestApi::test_02_add_flag

2.主函数模式运行

if __name__ == '__main__':pytest.main(['‐vs']);

3.基于pytest.ini配置文件运行

  • 配置文件的名称是固定的,一般放在项目的根目录下。
  • 作用是:可以改变pytest默认的测试用例的规则。
  • 不管是命令行的方式,还是主函数的方式都会自动的读取这个配置文件去运行。
[pytest]
#命令行参数
addopts = -vs --html=./reports/report.html
#指定测试用例的路径
testpaths = ./testcases
#指定测试模块的默认规则
python_files = test_*.py
#指定测试类的默认规则
python_classes = Test*
#指定测试用例的默认规则
python_functions = test_*

四、pytest测试用例的执行顺序

默认的执行顺序是从上到下依次执行。

改变测试用例的执行顺序可以使用插件:pytest-ordering

五、pytest跳过测试用例

1.无条件跳过

@pytest.mark.skip(reason="这里写跳过的理由")

2.有条件跳过

 @pytest.mark.skipif(age<5,reason="少于10年工作经验不考虑录取")

六、pytest测试用例的前后置

def setup_class(self):print("在类的前面执行的操作")def teardown_class(self):print("在类的后面执行的操作")def setup(self):print("测试用例执行之前的操作")def teardown(self):print("测试用例执行之后的操作")

python+requests+pytest 接口自动化框架(一)相关推荐

  1. python+requests+pytest 接口自动化框架(四)

    目录 一.requests库简介 二.requests库常用方法 三.request()返回的response对象 四.实战案例 post(url, data=None, json=None, **k ...

  2. python+requests+pytest 接口自动化框架(八)

    今日内容:接口自动化测试框架封装之数据类型处理以及DDT数据驱动封装 一.数据类型处理 "${read_extract_data(tag_id)}" 替换成 110 json: { ...

  3. 浅谈Python+requests+pytest接口自动化测试框架的搭建

    框架的设计思路 首先要明确进行接口自动化需要的步骤,如下图所示: 然后逐步拆解需要完成的工作: 1)了解分析需求:了解接口要实现的功能 2)数据准备:根据开发文档确定接口的基本情况,知晓接口的url. ...

  4. 最全最新pytest接口自动化框架

    pytest接口自动化框架介绍: Python+pytest+allure+log+yaml(默认数据和动态传参)+数据驱动+关键字驱动+pymysql(数据清理尽量接口清理)+一键切换环境+多角色随 ...

  5. 浅谈python+requests实现接口自动化

    前言 今年2月调去支持项目接口测试,测试过程中使用过postman.jmeter工具,基本能满足使用,但是部分情况下使用较为麻烦. 比如:部分字段存在唯一性校验或字段间有业务性校验,每次请求均需手工修 ...

  6. 测试之路 pytest接口自动化框架扩展-GUI窗口

    各位大佬好~上期内容梳理了下接口自动化脚本扩展思路,以及成果展示,本期开始就从代码角度出发.分享出源码后的同时将我的思路一并梳理出来.好了,废话不多,昊料开始~ 引言 本期先从数据入口开始,扩展脚本初 ...

  7. Python+Requests实现接口自动化

    一般对于自动化的理解,有两种方式的自动化. 第一,不需要写代码,完全由工具实现,这种方式的工具一般是公司自己研发的,方便黑盒测试人员使用.这种工具的特点是学习成本低,方便使用,但是通用性不强,也就是换 ...

  8. pytest接口自动化框架搭建

    目录: 一.设计思路-整体框架: 二.具体框架搭建 1.公共方法-common 1.1.yaml_util.py 1.2.excel_util.py 1.4.text_ util.py 1.5.exc ...

  9. python+pytest接口自动化框架(5)-requests发送post请求

    在HTTP协议中,与get请求把请求参数直接放在url中不同,post请求的请求数据需通过消息主体(request body)中传递. 且协议中并没有规定post请求的请求数据必须使用什么样的编码方式 ...

最新文章

  1. Android Studio 中删除项目和项目找回------ Project Structure的使用
  2. HDU 1269 移动城堡 联通分量 Tarjan
  3. React 16 Jest单元测试 之 Jest工具
  4. [BZOJ] 1637: [Usaco2007 Mar]Balanced Lineup
  5. P6620 [省选联考 2020 A 卷] 组合数问题(斯特林数、下降幂)
  6. favicon ico什么意思_你真的知道IPFS与Filecoin是什么吗?
  7. Atitit 编程范式 体系树 目录 1. 编程范型、编程范式或程序设计法(英语:Programming paradigm) 1 2. 编程范式 2 3. 声明式编程体系树 3 3.1. 声明式(对
  8. 烈火如歌手游找回服务器,《烈火如歌》05月02日新服公告:侠肝义胆
  9. 2020届华为面试题【Python】
  10. 用微PE安装KALI LINUX到U盘,【U盘安装kali】U盘+kali+pe三合一教程
  11. AI后门检测论文翻译:Universal Litmus Patterns: Revealing Backdoor Attacks in CNNs
  12. 蓝盘绿盘黑盘红盘的区别
  13. zzulioj 1055: 兔子繁殖问题
  14. GPT硬盘分区命令parted
  15. js代码中引入js文件
  16. 可怕的冷读术:十二种瞬间打开陌生…
  17. 【优化分配】基遗传算法求解医疗资源分配优化问题【含Matlab源码 1419期】
  18. mysql树形结构 无限分类_使用 authenticationDatabase 参数连接 aliyun 上的 MongoDB - SegmentFault 思否...
  19. 如何调整参数来更好地使用频谱分析仪
  20. 最新QT从入门到实战完整版(07 对象树)

热门文章

  1. Deep learning for fine-grained image analysis: A survey
  2. 同济大学计算机学硕考什么,同济大学考研难吗?一般要什么水平才可以进入?...
  3. GD32F107使用RTL8201F在LWIP-1.41上运行
  4. linux系统需要占多大的内存,linux启动过程Bootloader、kernel
  5. Linux引导启动详细过程
  6. SuperMap iClient3D for WebGL教程(空间分析)- 地表开挖及修改
  7. 最新系统漏洞--YzmCMS服务器端请求伪造漏洞
  8. 测试圈相亲平台开发流程(4):选个漂亮的首页
  9. 使用BT下载是否会损毁SSD?
  10. HCIA学习笔记#1