Python自动化测试用例编写方法:requests通过excel读取测试用例
off999 2024-12-09 16:17 21 浏览 0 评论
前言
编写正常的测试用例,一般都是通过excel进行编写的,当我们进行编写自动化测试用例的时,也是通过功能用例进行编写的,那么有没有方法直接通过python读取我们的excel然后完成自动化测试用例编写。
整体思路
1.通过Excel编写测试用例,整理测试数据;
2.通过Python读取Excel数据;
3.将读出来的数据进行放入到requests中进行请求并做对应断言。
整体思路其实很简单,就是通过python读取Excel然后在导入我们的requests中进行做接口自动化。
通过Excel编写用例
安静在网上找了一些开源的接口进行编写到Excel中,由于接口比较简单,就写了用例标题、url地址、请求方法、请求参数、预期结果等操作。
读取Excel
在python读取Excel的方法有很多,这里安静就介绍最常用的库xlrd xlrd可以进行完成对Excel的读取。xlrd属于Python的第三方库,需要重新安装。
安装:
pip install xlrd
通过上面的Excel通过Excel完成读取操作。
import xlrd
# 将excel进行实例化
book = xlrd.open_workbook('E:\\web\\123.xlsx')
# 通过下标方法读取sheet值
sheet = book.sheet_by_index(0)
# 通过name值进行读取sheet
# sheet = book.sheet_by_name('Sheet1')
# 获取列表的总数
nrows = sheet.nrows
# 循环读取每行数据
for i in range(1, nrows):
# 通过每行进行读取数据
# print(sheet.row_values(i))
# 将数据通过组合成dic+t格式
data = dict(zip(sheet.row_values(0), sheet.row_values(i)))
print(data)
安静在上面简单的介绍了读取数据的方法,上述代码中通过字典的形式获取到了excel的全部数据内容。
PS:这里通过字典的形式获取为了下面使用时好取值。
request请求用例
前面已经把用例需要用到的数据都已经存储下来了,那么接下来的就是需要进行发送请求。
这里通过requests的方式进行发送请求。先将requests请求进行简单的封装。通过把请求方式、请求类型、请求参数放入到requests中。
def Requests_result(item):
# 封装request请求,并读取数据
response = requests.request(
method=item['method'],
url=item['url'],
data=json.loads(item['body'])
)
result = response.json()['reason']
# 这里返回实际结果是否和预期值一样
return result == item['expect']
整体代码
pytest
上面已经将各个部分的内容都简单的做了介绍了,这里就直接上整体代码,这里通过requests+pytest+excel进行完成的读取excel数据完成测试用例。
import xlrd
import requests
import json
import pytest
def Read_Excel():
# 将excel进行实例化
book = xlrd.open_workbook('E:\\web\\123.xlsx')
# 通过下标方法读取sheet值
sheet = book.sheet_by_index(0)
# 循环读取每行数据
return [dict(zip(sheet.row_values(0), sheet.row_values(row))) for row in range(1, sheet.nrows)]
class Test_01:
def Requests_result(self, item):
# 封装请求
response = requests.request(
method=item['method'],
url=item['url'],
data=json.loads(item['body'])
)
result = response.json()['reason']
print(result)
return result == item['expect']
# 通过参数化的方式进行导入excel的数据
@pytest.mark.parametrize('item', Read_Excel())
def test_01(self, item):
response_result = self.Requests_result(item)
# 断言请求返回的结果是否为True
assert response_result == True
if __name__ == '__main__':
pytest.main(['-vs'])
通过执行发现,我们的requests已经通过excel来完成了测试读取测试用例。并通过单元测试-pytest完成了判断是否通过。
unittest
上述方法是通过pytest来完成的,那么unittest当然也可以完成。这里通过requests+unittest+ddt+excel进行来完成读取数据内容。
import xlrd
import requests
import json
import unittest
import ddt
def Read_Excel():
# 将excel进行实例化
book = xlrd.open_workbook('E:\\web\\123.xlsx')
# 通过下标方法读取sheet值
sheet = book.sheet_by_index(0)
# 循环读取每行数据
return [dict(zip(sheet.row_values(0), sheet.row_values(row))) for row in range(1, sheet.nrows)]
@ddt.ddt
class Test_01(unittest.TestCase):
def Requests_result(self, item):
response = requests.request(
method=item['method'],
url=item['url'],
data=json.loads(item['body'])
)
result = response.json()['reason']
return result
# 通过ddt进行读取数据
@ddt.data(*Read_Excel())
def test_01(self, data):
response_result = self.Requests_result(data)
self.assertTrue(response_result)
if __name__ == '__main__':
unittest.main()
执行发现,通过unittest的也成功的读取了excel的数据以及完成了接口内容。
总结
这里安静简单的介绍了如何通过python进行读取excel的方法从而实现了接口自动化的类似操作,当然如何运用到公司项目中,这个要看根据公司的项目来做了。
请关注+私信回复:“测试”就可以免费拿到软件测试学习资料,同时进入群学习交流~~
相关推荐
- u盘有东西但是显示文件夹为空
-
u盘里面有文件,却显示文件夹为空是因为文件被隐藏了,开启方法如下:需要用到的工具有:电脑、U盘。1、打开我的电脑,找到并点击进入U盘,2、在U盘目录里面,点击上方的属性功能。3、在属性页面,把隐藏对勾...
- 五笔86版输入法下载(86版五笔安装包)
-
要下载王码五笔86版官方,可以前往官方网站进行下载。安装时,先打开下载的安装文件,按照提示完成安装向导。在安装过程中,可以自定义安装路径,也可以选择安装组件。安装完成后,可以在输入法设置中选择王码五笔...
- 360游戏中心怎么关闭(360游戏中心怎么关闭自动更新)
-
1.你把360卸载了,换成QQ管家2.你把360卸载,再安装的时候,别一键安装要,改为自定义安装,在安装过程中,如果有弹出窗口,上面显示360游戏大厅,你把360游戏大厅前面的那个选择口里点一下,里面...
- 宽带安装哪个便宜(安装宽带哪个好)
-
我认为光纤宽带是目前最便宜和最好用的选择。1.光纤宽带拥有更高的传输速度和稳定性,可以提供更好的上网体验。相比其他宽带类型,如ADSL和电缆宽带,光纤宽带的速度更快,不容易受到网络拥堵的影响。2....
- pubg加速器免费版(pubg加速器免费版无广告)
-
现在加速吃鸡的游戏加速器是有专线路线的比较好,专线的稳定很多,不过目前是没有完全免费的加速软件,很多都可以先体验,注册就可以体验的,可以多去体验几款,对比一下。目前的加速器可以分为三个等级第一等级:全...
-
- 如何用u盘重装电脑系统win7(用u盘怎样重装系统win7)
-
u盘怎么装win7系统步骤如下:1、先下载Windows7镜像,根据自己需求选择下载的版本:简化版、家庭基础版、家庭高级版、企业版等。2、下载工具软碟通。直接在搜索引擎中输入“软碟通”,选择合适的下载地址,直接下载安装即可。3、制作系统U...
-
2025-12-27 08:51 off999
- 系统驱动怎么安装(系统驱动的安装)
-
首先进入系统的设备管理器,检查一下是否存在有没有正确安装或者找不到的驱动程序的设备,然后进入硬件生产厂商官网去下载对应的操作系统的驱动程序,进行安装。如果嫌麻烦,可下载第三方软件进行辅助安装。1、如果...
-
- 设置bios密码(银河麒麟怎么设置bios密码)
-
想电脑BIOS开机密码,其实很简单,只要进入BIOS设置界面,然后选择“security”选项卡,在“security”内设置好开机密码即可。下面就跟随小编一起来学习一下具体提设置步骤吧!1、首先开机,然后快速按“F2”或者“F12”进入B...
-
2025-12-27 07:51 off999
- 华硕售后服务中心查询(华硕售后维修服务网点查询)
-
首先查看包装盒、保修卡、机器底部。三个地方的SN码及机器的序列号是不是一致。如果不一致那一定是有问题的。2然后,如果一致,我们可以拨打华硕的客服,通过机器的序列号,查询机器的基本情况,然后与说明书上的...
- 如何更改硬盘分区(硬盘怎么更改分区)
-
要修改磁盘分区,首先需要使用磁盘管理工具,如DiskManagement(Windows)或DiskUtility(Mac)。在工具中,选择要修改的磁盘并右键点击,然后选择“修改分区”选项。接着,...
- 无线路由器当交换机使用(路由器当交换机用无线wifi还可以上网吗)
-
若您想将无线路由器用作交换机,您可以按照以下步骤操作:1.确保您的无线路由器具有交换器功能。不是所有的无线路由器都具备此功能,请先确保您的设备支持。2.将您的无线路由器与网络中的其他设备连接。通常...
- computer(computer lab)
-
"电脑"这个名称实际上是人们对具有计算功能电子设备的俗称。而计算机(Computer)则是这个设备的正式名称,因为"计算"是其核心功能。在英文中,Computer是指可...
- 电脑重置20多个小时了(重置电脑一直12%)
-
重置电脑时间太长了解决办法如下1、将电脑关机然后开机或者直接点击重启,然后按住DELETE键,电脑会自动进入到BIOS;2、电脑屏幕上会显示两个选项,两个选项一般都在电脑屏幕的右方;3、其中一个选项是...
- 电脑虚拟机是什么(电脑虚拟机有啥用)
-
电脑虚拟机(VirtualMachine,VM),也称为虚拟计算机,是一种软件模拟的计算机,它在现有的计算机硬件上创建一个虚拟的计算机环境。这个虚拟环境可以用来运行操作系统、应用程序等软件,就像是在...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
