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来实现,所以我们采用了参数化的方式来实现 那么具体怎么完成这个参数 ...
随机推荐
- 面试官问:mysql中时间日期类型和字符串类型的选择
摘要:MySQL中有多种表示时间日期的数据类型,主要有YEAR.TIME.DATE.DATETIME.TIMESTAMP等 本文分享自华为云社区<一针见血,mysql中时间日期类型和字符串类型的 ...
- Intellij IDEA 显示 access.log 日志
先配置 SpringBoot 记录 access.log 日志,先让accesslog 显示出来
- 【Java 进阶】Java8 新特性的理解与应用
[进阶]Java8新特性的理解与应用 前言 Java 8是Java的一个重大版本,是目前企业中使用最广泛的一个版本. 它支持函数式编程,新的Stream API .新的日期 API等一系列新特性. 掌 ...
- Go--变量的声明
Go语言是静态类型语言,因此变量(variable)是有明确类型的,编译器也会检查变量类型的正确性. 变量是一段或多段用来存储数据的内存,在go中,变量一旦被定义,一定要使用,不然会报错 内建变量类型 ...
- Python 3.12 抢先看——关于 f-string 的改动
Python 3.12 抢先看--关于 f-string 的改动 哈喽大家好,我是咸鱼 相信小伙伴们对 python 中的 f-string 都不陌生 f-string 是格式化字符串的缩写,是以小写 ...
- Cpp 值的种类划分
本博文会介绍移动语义的形式术语和规则.并且会正式的介绍值的类别,如 lvalue.rvalue.prvalue和 xvalue,并讨论了在绑定对象引用时的作用.也会讨论移动语义不会自动传递的细节,以及 ...
- POJ 1742 Coins(多重背包的可行性问题)
Description People in Silverland use coins.They have coins of value A1,A2,A3...An Silverland dollar. ...
- Web3初步实践总结
大家好~Web3是2021年才开始的浪潮,我非常赞同Web3的去中心化的理念,并且最近从Web2全面转向Web3了. 现在与大家分享我的实践的经验,希望对大家有所帮助,谢谢! 目录 为什么要转向Web ...
- 大数相乘 a*b
//zznu 1562//用数组模拟乘法计算的过程 #include<iostream> #include<stdio.h> #include<string.h> ...
- java基础(4)--javadoc文档与命令
一.Javadoc文档 javadoc是Sun公司提供的一个技术,它从程序源代码中抽取类.方法.成员等注释形成一个和源代码配套的API帮助文档.也就是说,只要在编写程序时以一套特定的标签作注释,在程序 ...