pytest-数据驱动
今天介绍两种实现数据驱动的方法,json和excel,我们以获取企业微信token接口为例,共
有两个参数corpid&corpsecret
一.json
方法一:@pytest.mark.parametrize实现数据驱动有三种写法
写法一:

写法二:

写法三:

方法二:
1.使用json读取json文件内容实现数据驱动,在实现前先介绍json常用的几个方法
loads():将json类型的字符串转换成字典类型
dumps():将字典类型转换成字符串
dump():将字典类型的数据转化为json格式并输入到文件中
load():输出json文件流
下面是简单的实例用法:

2.下面介绍下具体使用,首先我们需要创建一个file文件,以json为结尾的,写法如下,注
意的是最外层需要嵌套个中括号

3.接下来就是用load()文法读取流,在.py文件中导入json模块,open()打开文件,具体写法
如下

二.excel(openpyxl)
1.今天介绍使用openpyxl插件来操作excel,看下常用的方法和指令
load_workbook(name.xlsx):打开一个excel文件

file.sheetnames或file.worksheets:获取工作簿中的所有工作表

file.active:获取当前活动工作表
file["工作表名称"]:获取指定的工作表

a.max_row:获取当前工作表中的行数
a.max_column:获取当前工作表中的列
a.cell(row=x,column=y).value:根据数字坐标获取单元格内容
a["A2"].value:根据字母+数据获取单元格内容(A、B、C表示列,1、2、3表示行数。例:D4表示的
是获取第四列第四个单元格内容,)
a["A2"].row:获取当前单元格的行坐标
a["A2"].column:获取当前单元格的列坐标
a["A2"].coordinate:获取当前单元格的字母+数字的组合坐标
a["A2"]="...":可更改单元格内容
2.下面进入正题,首先创建个file文件,以xlsx结尾的,我这边只列了两列数据

3.安装openpyxl插件:pip install openpyxl
4.创建.py文件,导入openpyxl模块,获取单元格内容,并将获取的内容添加到列表中,

执行后得到列表的数据类型

5.在测试case中直接导入该.py文件调用xlse()方法,具体如下。

完............
pytest-数据驱动的更多相关文章
- python+request+pymysql+pytest数据驱动
一.pymysql简单使用 1.安装mysql 下载地址:https://www.mysql.com/,安装教程这里不做介绍了,网上一大推. 2.安装pymysql库 在Terminal终端输入:pi ...
- 5.@pytest.mark.parametrize()数据驱动
简介: pytest.mark.parametrize 是 pytest 的内置装饰器,它允许你在 function 或者 class 上定义多组参数和 fixture 来实现数据驱动. @pytes ...
- pytest框架之parametries数据驱动参数化
在测试用例的前面加上:@pytest.mark.parametrize('参数名', 列表数据) 参数名:用来接收每一项数据,并作为测试用例的参数 列表参数:一组测试数据(元组.列表.字典) 方式一: ...
- python的数据驱动
什么叫数据驱动? 登录用例 ->不用的用户名登录,但是自动化化脚本一样,虽然脚本相同,步骤相同,但是不同的用户名登录得出的数据是不一样的,于是就有了数据驱动,就是数据的改变驱动自动化测试的执行导 ...
- selenium java 读取xml (数据驱动)
selenium 数据驱动 (xml解析) getElementByTagName()可以通过标签名获取某个标签.它所获取的对象是以数组形式存放.如“caption”和“item”标签在info.xm ...
- Pytest进阶之参数化
前言 unittest单元测试框架使用DDT进行数据驱动测试,那么身为功能更加强大且更加灵活的Pytest框架怎么可能没有数据驱动的概念呢?其实Pytest是使用@pytest.mark.parame ...
- pytest框架与unittest框架的对比
一.pytest的优势 pytest是基于unittest之上的单元测试框架,它的优势如下: 自动发现测试模块和测试方法 断言使用 assert + 表达式 可以设置测试会话级(session).模块 ...
- pytest 常见用法
前言 之前一篇文章简单介绍了 pytest 以及 fixture :https://www.cnblogs.com/shenh/p/11572657.html .实际在写自动化测试脚本中,还会有一些很 ...
- pytest-Mark数据驱动
数据驱动 import pytest @pytest.mark.parametrize(("a", "b", "expected"), [ ...
- pytest中怎么实现参数化?
我们在组自动化项目中,肯定会遇到需要数据驱动的地方,在unittest中我们直接采用ddt的方式,但是在pytest中我们不能用ddt来实现,所以我们采用了参数化的方式来实现 那么具体怎么完成这个参数 ...
随机推荐
- 火山引擎云原生数据仓库 ByteHouse 技术白皮书 V1.0(中)
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近日,<火山引擎云原生数据仓库 ByteHouse 技术白皮书>正式发布.白皮书简述了 ByteHou ...
- Solon2 开发之IoC,十、Bean 在容器的两层信息
1.剖析 Bean 的装包与注册过程 比如,用配置器装配一个 Bean (本质是装配出一个 BeanWrap,并自动注册到容器): @Configuration public class Config ...
- SpringBoot Scheduled 常见用法
外部统一管理可用 xxl-job ,将各定时任务集中管理,灵活改变执行频率,支持某一个定时器集群处理,避免多服务启动时,每个服务都执行(重复执行) 比如我的API服务里有一个定时任务,将API做成集群 ...
- OLAP引擎也能实现高性能向量检索,据说QPS高于milvus!
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 随着LLM技术应用及落地,数据库需要提高向量分析以及AI支持能力,向量数据库及向量检索等能力"异军突起& ...
- 谣言粉碎机?Python验证股市操盘口诀
更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流. 经常炒股的朋友,应该都听说过这段操盘口诀: 早上大跌要买,早上大涨要卖 下午大涨不追,下午大跌次日买 早 ...
- 【Docker】docker介绍 什么是虚拟化 容器与虚拟机比较 Docker 概念 docker安装
目录 docker介绍 什么是虚拟化 docker是什么 容器与虚拟机比较 Docker 概念 docker安装 docker介绍 什么是虚拟化 在计算机中,虚拟化(英语:Virtualization ...
- 阿里云Imagine Computing创新技术大赛正式开启!
阿里云 Imagine Computing 创新技术大赛,是由阿里云与英特尔主办,阿里云天池平台.边缘云.视频云共同承办的顶级赛事,面向个人开发者和企业的边缘云领域算法及实时音视频应用类挑战. 本次创 ...
- C++岗位面试真题宝典 -- 语言基础篇
一.C++语言基础 1.1.1 简述下C++语言的特点 参考回答: C++在C语言基础上引入了面对对象的机制,同时也兼容C语言. C++有三大特性(1)封装.(2)继承.(3)多态: C++语言编写出 ...
- Educational Codeforces Round 104 (Rated for Div. 2) A-E 个人题解
比赛链接 1487A. Arena n 个 Hero,分别有 \(a_i\) 的初始等级.每次两个 Hero 战斗时:等级相同无影响,否则等级高的英雄等级+1.直到某个英雄等级到了 \(100^{50 ...
- 2023陕西省大学生信息安全竞赛web writeup
前言 早写好了,忘发了,题目质量还行,够我坐大牢 ezpop 简单的反序列化,exp如下 <?php class night { public $night; } class day { pub ...