python与excel的应用-Python 3 读取和存储Excel数据(应用到接口测试)
1、利用cmd命令安装第三方库
openpyxl 同时支持读写操作,支持的Excel是以.xlsx结尾的文件。
命令: pip install openpyxl
【命令:pip install requests (安装http请求requests也是一样的)】
2、新建Excel文件
新建Excel的时候,需要在电脑上新建一个后缀为xlsx的文件,再通过复制粘贴的方式放到PyCharm工具里边。
------复制粘贴---------->
3、操作工作簿
引入工具包:from openpyxl import load_workbook
打开工作簿:open_wb=load_workbook('demo_excel.xlsx') #传一个工作簿名称参数
定位表单:sheet=open_wb['Sheet1'] #传一个表单名,也可使用get方式获取表单
定位坐标:value=sheet.cell(1,3).value #获取到第一行第三列的值
更新数据:sheet.cell(5,3).value='abc' #将第五行第三列的值改为abc
保存工作簿(一般放最后):
open_wb.save('demo_excel.xlsx')
#调用save方法保存,但值得注意的是, 当数据更新时,需要关闭Excel表方可保存成功。
4、接口测试:
学习以上知识之后,我们怎么通过Python操作Excel做接口测试?get / post
(可以结合jmeter做接口测试对应记忆)
import requests
url='http://.........com' #URL地址
req=requests.get(url) #发起get请求
req=requests.post(url) #发起post请求
login_data={“mobilephone”:“183.。。。”,”pwd”:“123”} #传参:http请求是以字典形式传入的
下一个请求若需要鉴权,则需要从上一个请求中获取及在下一个请求去发送cookie、session、token,则需要接下来这些操作:
从返回的结果中获取cookie:(注:Python只识别:cookies,而不是cookie)
假如此处是个简单的下单(我们用pay表示)操作:
pay_url="http://........."
pay_data={通过字典传参}
pay_req=requests.get(参数1,参数2,cookies=req.cookies)
#这种方法只识别前2个值,所以传入cookie只能以上边的方法传入。
查看结果(两种方法):(http请求返回的数据格式:json、xml、html)
1、res=req.text #三种结果都可以返回
2、res=req.json() #json只能返回结果是json格式的
我们也可以通过session方式传值:(只能传入1个参数)
s=requests.session #用一个s来接收返回的结果,以后我们在进行请求时,都用s去传。
pay_response=s.get(参数1,params=参数2)
那么,理解上述的知识后,我们用函数及参数化,就可以做这个简单的接口测试了。
首先,创建好我们的测试用例:以下边这个表格为例(注:写测试用例时,返回结果及比对结果为空)。
然后,通过我们的pycharm写入执行用例的代码,就可以妥妥的做接口测试啦。
#Python读取Excel数据的函数方法:
from openpyxl import load_workbook
def demo_excel(file_name,sheet_name,start,end):
open_wb=load_workbook(file_name)
sheet=open_wb[sheet_name]
data_list=[]
for i in range(start,end):
data_dict={}
data_dict['ID']=sheet.cell(i,1).value
data_dict['TITLE']=sheet.cell(i,2).value
data_dict['METHOD']=sheet.cell(i,3).value
data_dict['URL']=sheet.cell(i,4).value
data_dict['DATA']=sheet.cell(i,5).value
data_dict['CODE']=sheet.cell(i,6).value
data_list.append(data_dict)
return data_list
t=demo_excel('demo_excel.xlsx','Sheet1',2,6)
#发起http请求的函数方法:
import requests
cookie=None
def http_request(req_url,req_data,method):
global cookie
if method=='get':
response=requests.get(req_url,req_data,cookies=cookie)
else:
response=requests.post(req_url,req_data,cookies=cookie)
if response.cookies!={}:
cookie=response.cookies
result=response.text()
return result
#执行测试用例:
open_wb=load_workbook('demo_excel.xlsx')
sheet=open_wb['Sheet1']
for item in t:
print('正在执行第{0}条用例:{1}'.format(item['ID'],item['TITLE']))
url=item['URL']
data=item['DATA']
method=item['METHOD']
result=http_request(url,eval(data),method)
print(result)
#返回结果:
sheet.cell(item['ID']+1,7).value=str(result)
#结果比对:
if result['code']==str(item['CODE']):
RESULT='PASS'
else:
RESULT='FAIL'
sheet.cell(item['ID']+1,8).value=RESULT
open_wb.save('demo_excel.xlsx')
python与excel的应用-Python 3 读取和存储Excel数据(应用到接口测试)相关推荐
- python读取excel内容和写入_Python读取和写入Excel文件
制作Excel表 常用方法说明 Workbook类 Workbook类创建一个XlswWrite的Workbook对象,相当于创建一个excel表 And_worksheet()用来创建工作表,默认为 ...
- python文件读取方法read(size)的含义是_在Python中可使用read([size])来读取文件中的数据,如果参数size省略,则读取文件中的()。...
[单选题]李明在他所属的公司工作五年,每天都很认真地处理繁杂的事情,同事们都夸他认真,但是依然没有建树,这是因为: [多选题]品牌标志的作用表现在 [单选题]新产品开发的第一个阶段是_______. ...
- python文件读取方法read(size)的含义是_在Python中可使用read([size])来读取文件中的数据,如果参数size省略,则读取文件中的()。(4.0分)_学小易找答案...
[单选题]文本文件存储的是(),由若干文本行组成,通常每行以换行符 '\n' 结尾.(4.0分) [单选题]()属性是返回被打开文件的访问模式.(4.0分) [单选题]重力坝是由砼或( )修筑而成的大 ...
- python 通达信上传云端_Python读取通达信本地数据
一.介绍 python获取股票数据的方法很多,其中 Tushare 财经数据接口包很好用,当然,也可以通过通达信本地的数据获取,这样更为方便. 日线数据存在这路径下 D:\通达信\vipdoc\sh\ ...
- python mysql 并发_python3.6使用sqlalchemy读取mysql中的数据并进行多进程并发处理
文章目录 [隐藏] 1. 介绍 SQLALChemy 2. 安装 SQLAlChemy 2.1 创建测试数据库 2.2 用 SQLALChemy 创建数据库表 3. 多进程搜索程序 3.1 程序关键点 ...
- java poi 读取excel 编码_Java使用POI 读取和写入Excel指南
做项目时经常有通过程序读取Excel数据,或是创建新的Excel并写入数据的需求:网上很多经验教程里使用的POI版本都比较老了,一些API在新版里已经废弃,这里基于最新的Apache POI 4.0. ...
- java excel 批注_Java 添加、读取和删除 Excel 批注的操作代码
批注是一种富文本注释,常用于为指定的Excel单元格添加提示或附加信息. Free Spire.XLS for Java为开发人员免费提供了在Java应用程序中对Excel文件添加和操作批注的功能. ...
- python 读取excel表数据获取坐标_python读取并定位excel数据坐标系详解
测试数据:坐标数据:testExcelData.xlsx 使用python读取excel文件需要安装xlrd库: xlrd下载后的压缩文件:xlrd-1.2.0.tar.gz 解压后再进行安装即可,具 ...
- python dialect='excel'是什么意思_python读取和生成excel文件
今天来看一下如何使用python处理excel文件,处理excel文件是在工作中经常用到的,python为我们考虑到了这一点,python中本身就自带csv模块... 今天来看一下如何使用python ...
最新文章
- hdu4975 行列和构造矩阵(dp判断唯一性)
- nyoj 211 (Floyd算法求传递闭包)
- Delphi面向对象学习随笔六:接口
- Create QR Code
- XCodeBuild 使用
- sqlrelay mysql_php+sqlrelay+mysql实现连接池及读写负载均衡
- 了解这些坑,再也不会出现诡异的BUG了~
- 格力又双叒发福利了 将给所有员工交电话费!
- shell脚本,结合expect给当前网段所有主机分发任意文件
- Android AlarmManager实现不间断轮询服务
- 源码部署Apache和shell脚本安装
- @property、@staticmethod、@classmethod装饰器
- 阿里巴巴开发手册介绍
- cf服务器显示空白,cf空白名(cf显示空白的生僻字)
- 经典的01背包问题(挖金矿)
- PP-YOLOE论文解析
- iPhone12、iPhone12 Pro、iPhone12 Max、iPhone12 Pro Max是双卡双待吗
- ArcGIS中利用DEM数据生成地形图既视感的等高线;利用掩膜进行等高线注记;DEM的可视化表达总结
- 2018年已过半,Kubernetes和云原生的巨浪要把云计算带向何处
- 计算机软件商标,计算机软件商标的类别号 是多少?
热门文章
- spark出现task不能序列化错误的解决方法 org.apache.spark.SparkException: Task not serializable...
- 安装maven之后,cmd提示mvn不是内部命令的解决办法
- 使用JAX-RS创建RESTful Web Service
- java7 的final真的有坑啊。
- JS动态加载脚本及对动态脚本内方法的调用
- Hdu 4738 Caocao's Bridges (连通图+桥)
- ZOJ1563 (动态规划)
- java and asp.net
- Asp.net系列--基础篇(一)
- coursera—吴恩达Machine Learning笔记(1-3周)