今天介绍两种实现数据驱动的方法,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. 跨越全场景统一架构三大挑战,MindSpore亮出“四招”

    摘要:本文重点剖析全场景统一的AI框架的挑战和MindSpore的解决思路. 2020年的最后一天,MindSpore发布了1.1版本,1.1中很重要的特性是构建了端边云全场景统一的基础架构: htt ...

  2. 解读分布式调度平台Airflow在华为云MRS中的实践

    摘要:Airflow是一个使用Python语言编写的分布式调度平台,通过DAG(Directed acyclic graph 有向无环图)来管理任务. 本文分享自华为云社区<分布式调度平台Air ...

  3. 1个案例读懂——游戏产品如何用 A/B 测试做增长

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 随着国内游戏用户数量趋于饱和,中国游戏产业也从高速成长期逐渐转型,市场成熟度提升,竞争趋于精细化. 随着游戏出海以 ...

  4. C# async await 异步执行方法

    WPF 异步执行 Action<> Func<> https://www.cnblogs.com/vipsoft/p/4535037.html 代码如下 using Syste ...

  5. Jenkins Pipeline 多分支流水线 Input length = 1

    Jenkins 多分支流水线 构建过程中报错. [Pipeline] // node [Pipeline] End of Pipeline java.nio.charset.MalformedInpu ...

  6. EXECL函数

    1 COUNTIF 对比两列数据,有相同的即计为1 找一列空白列,输入=COUNTIF(范围,条件),按回车,然后再点击表格右下角的"+" 就可以拉动持续执行这个函数 2 CONC ...

  7. Mysql--JOIN连表查询

    一.Join查询原理 MySQL内部采用了一种叫做 nested loop join(嵌套循环连接)的算法:通过驱动表的结果集作为循环基础数据,然后一条一条的通过该结果集中的数据作为过滤条件到下一个表 ...

  8. AtCoder ABC 164 (D~E)

    比赛链接:Here ABC水题, D - Multiple of 2019 (DP + 分析) 题意: 给定数字串S,计算有多少个子串 \(S[L,R]\)​ ,满足 \(S[L,R]\) 是 \(2 ...

  9. 六、java操作swift对象存储(resultful方式实现)

    系列导航 一.swift对象存储环境搭建 二.swift添加存储策略 三.swift大对象--动态大对象 四.swift大对象--静态态大对象 五.java操作swift对象存储(官网样例) 六.ja ...

  10. C#约瑟夫环问题算法

    /// <summary> /// 约瑟夫环问题算法 /// </summary> /// <param name="total">总人数< ...