今天介绍两种实现数据驱动的方法,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-数据驱动的更多相关文章

  1. python+request+pymysql+pytest数据驱动

    一.pymysql简单使用 1.安装mysql 下载地址:https://www.mysql.com/,安装教程这里不做介绍了,网上一大推. 2.安装pymysql库 在Terminal终端输入:pi ...

  2. 5.@pytest.mark.parametrize()数据驱动

    简介: pytest.mark.parametrize 是 pytest 的内置装饰器,它允许你在 function 或者 class 上定义多组参数和 fixture 来实现数据驱动. @pytes ...

  3. pytest框架之parametries数据驱动参数化

    在测试用例的前面加上:@pytest.mark.parametrize('参数名', 列表数据) 参数名:用来接收每一项数据,并作为测试用例的参数 列表参数:一组测试数据(元组.列表.字典) 方式一: ...

  4. python的数据驱动

    什么叫数据驱动? 登录用例 ->不用的用户名登录,但是自动化化脚本一样,虽然脚本相同,步骤相同,但是不同的用户名登录得出的数据是不一样的,于是就有了数据驱动,就是数据的改变驱动自动化测试的执行导 ...

  5. selenium java 读取xml (数据驱动)

    selenium 数据驱动 (xml解析) getElementByTagName()可以通过标签名获取某个标签.它所获取的对象是以数组形式存放.如“caption”和“item”标签在info.xm ...

  6. Pytest进阶之参数化

    前言 unittest单元测试框架使用DDT进行数据驱动测试,那么身为功能更加强大且更加灵活的Pytest框架怎么可能没有数据驱动的概念呢?其实Pytest是使用@pytest.mark.parame ...

  7. pytest框架与unittest框架的对比

    一.pytest的优势 pytest是基于unittest之上的单元测试框架,它的优势如下: 自动发现测试模块和测试方法 断言使用 assert + 表达式 可以设置测试会话级(session).模块 ...

  8. pytest 常见用法

    前言 之前一篇文章简单介绍了 pytest 以及 fixture :https://www.cnblogs.com/shenh/p/11572657.html .实际在写自动化测试脚本中,还会有一些很 ...

  9. pytest-Mark数据驱动

    数据驱动 import pytest @pytest.mark.parametrize(("a", "b", "expected"), [ ...

  10. pytest中怎么实现参数化?

    我们在组自动化项目中,肯定会遇到需要数据驱动的地方,在unittest中我们直接采用ddt的方式,但是在pytest中我们不能用ddt来实现,所以我们采用了参数化的方式来实现 那么具体怎么完成这个参数 ...

随机推荐

  1. 火山引擎云原生数据仓库 ByteHouse 技术白皮书 V1.0(中)

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近日,<火山引擎云原生数据仓库 ByteHouse 技术白皮书>正式发布.白皮书简述了 ByteHou ...

  2. Solon2 开发之IoC,十、Bean 在容器的两层信息

    1.剖析 Bean 的装包与注册过程 比如,用配置器装配一个 Bean (本质是装配出一个 BeanWrap,并自动注册到容器): @Configuration public class Config ...

  3. SpringBoot Scheduled 常见用法

    外部统一管理可用 xxl-job ,将各定时任务集中管理,灵活改变执行频率,支持某一个定时器集群处理,避免多服务启动时,每个服务都执行(重复执行) 比如我的API服务里有一个定时任务,将API做成集群 ...

  4. OLAP引擎也能实现高性能向量检索,据说QPS高于milvus!

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 随着LLM技术应用及落地,数据库需要提高向量分析以及AI支持能力,向量数据库及向量检索等能力"异军突起& ...

  5. 谣言粉碎机?Python验证股市操盘口诀

    更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流. 经常炒股的朋友,应该都听说过这段操盘口诀: 早上大跌要买,早上大涨要卖 下午大涨不追,下午大跌次日买 早 ...

  6. 【Docker】docker介绍 什么是虚拟化 容器与虚拟机比较 Docker 概念 docker安装

    目录 docker介绍 什么是虚拟化 docker是什么 容器与虚拟机比较 Docker 概念 docker安装 docker介绍 什么是虚拟化 在计算机中,虚拟化(英语:Virtualization ...

  7. 阿里云Imagine Computing创新技术大赛正式开启!

    阿里云 Imagine Computing 创新技术大赛,是由阿里云与英特尔主办,阿里云天池平台.边缘云.视频云共同承办的顶级赛事,面向个人开发者和企业的边缘云领域算法及实时音视频应用类挑战. 本次创 ...

  8. C++岗位面试真题宝典 -- 语言基础篇

    一.C++语言基础 1.1.1 简述下C++语言的特点 参考回答: C++在C语言基础上引入了面对对象的机制,同时也兼容C语言. C++有三大特性(1)封装.(2)继承.(3)多态: C++语言编写出 ...

  9. Educational Codeforces Round 104 (Rated for Div. 2) A-E 个人题解

    比赛链接 1487A. Arena n 个 Hero,分别有 \(a_i\) 的初始等级.每次两个 Hero 战斗时:等级相同无影响,否则等级高的英雄等级+1.直到某个英雄等级到了 \(100^{50 ...

  10. 2023陕西省大学生信息安全竞赛web writeup

    前言 早写好了,忘发了,题目质量还行,够我坐大牢 ezpop 简单的反序列化,exp如下 <?php class night { public $night; } class day { pub ...