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数据(应用到接口测试)相关推荐

  1. python读取excel内容和写入_Python读取和写入Excel文件

    制作Excel表 常用方法说明 Workbook类 Workbook类创建一个XlswWrite的Workbook对象,相当于创建一个excel表 And_worksheet()用来创建工作表,默认为 ...

  2. python文件读取方法read(size)的含义是_在Python中可使用read([size])来读取文件中的数据,如果参数size省略,则读取文件中的()。...

    [单选题]李明在他所属的公司工作五年,每天都很认真地处理繁杂的事情,同事们都夸他认真,但是依然没有建树,这是因为: [多选题]品牌标志的作用表现在 [单选题]新产品开发的第一个阶段是_______. ...

  3. python文件读取方法read(size)的含义是_在Python中可使用read([size])来读取文件中的数据,如果参数size省略,则读取文件中的()。(4.0分)_学小易找答案...

    [单选题]文本文件存储的是(),由若干文本行组成,通常每行以换行符 '\n' 结尾.(4.0分) [单选题]()属性是返回被打开文件的访问模式.(4.0分) [单选题]重力坝是由砼或( )修筑而成的大 ...

  4. python 通达信上传云端_Python读取通达信本地数据

    一.介绍 python获取股票数据的方法很多,其中 Tushare 财经数据接口包很好用,当然,也可以通过通达信本地的数据获取,这样更为方便. 日线数据存在这路径下 D:\通达信\vipdoc\sh\ ...

  5. python mysql 并发_python3.6使用sqlalchemy读取mysql中的数据并进行多进程并发处理

    文章目录 [隐藏] 1. 介绍 SQLALChemy 2. 安装 SQLAlChemy 2.1 创建测试数据库 2.2 用 SQLALChemy 创建数据库表 3. 多进程搜索程序 3.1 程序关键点 ...

  6. java poi 读取excel 编码_Java使用POI 读取和写入Excel指南

    做项目时经常有通过程序读取Excel数据,或是创建新的Excel并写入数据的需求:网上很多经验教程里使用的POI版本都比较老了,一些API在新版里已经废弃,这里基于最新的Apache POI 4.0. ...

  7. java excel 批注_Java 添加、读取和删除 Excel 批注的操作代码

    批注是一种富文本注释,常用于为指定的Excel单元格添加提示或附加信息. Free Spire.XLS for Java为开发人员免费提供了在Java应用程序中对Excel文件添加和操作批注的功能. ...

  8. python 读取excel表数据获取坐标_python读取并定位excel数据坐标系详解

    测试数据:坐标数据:testExcelData.xlsx 使用python读取excel文件需要安装xlrd库: xlrd下载后的压缩文件:xlrd-1.2.0.tar.gz 解压后再进行安装即可,具 ...

  9. python dialect='excel'是什么意思_python读取和生成excel文件

    今天来看一下如何使用python处理excel文件,处理excel文件是在工作中经常用到的,python为我们考虑到了这一点,python中本身就自带csv模块... 今天来看一下如何使用python ...

最新文章

  1. hdu4975 行列和构造矩阵(dp判断唯一性)
  2. nyoj 211 (Floyd算法求传递闭包)
  3. Delphi面向对象学习随笔六:接口
  4. Create QR Code
  5. XCodeBuild 使用
  6. sqlrelay mysql_php+sqlrelay+mysql实现连接池及读写负载均衡
  7. 了解这些坑,再也不会出现诡异的BUG了~
  8. 格力又双叒发福利了 将给所有员工交电话费!
  9. shell脚本,结合expect给当前网段所有主机分发任意文件
  10. Android AlarmManager实现不间断轮询服务
  11. 源码部署Apache和shell脚本安装
  12. @property、@staticmethod、@classmethod装饰器
  13. 阿里巴巴开发手册介绍
  14. cf服务器显示空白,cf空白名(cf显示空白的生僻字)
  15. 经典的01背包问题(挖金矿)
  16. PP-YOLOE论文解析
  17. iPhone12、iPhone12 Pro、iPhone12 Max、iPhone12 Pro Max是双卡双待吗
  18. ArcGIS中利用DEM数据生成地形图既视感的等高线;利用掩膜进行等高线注记;DEM的可视化表达总结
  19. 2018年已过半,Kubernetes和云原生的巨浪要把云计算带向何处
  20. 计算机软件商标,计算机软件商标的类别号 是多少?

热门文章

  1. spark出现task不能序列化错误的解决方法 org.apache.spark.SparkException: Task not serializable...
  2. 安装maven之后,cmd提示mvn不是内部命令的解决办法
  3. 使用JAX-RS创建RESTful Web Service
  4. java7 的final真的有坑啊。
  5. JS动态加载脚本及对动态脚本内方法的调用
  6. Hdu 4738 Caocao's Bridges (连通图+桥)
  7. ZOJ1563 (动态规划)
  8. java and asp.net
  9. Asp.net系列--基础篇(一)
  10. coursera—吴恩达Machine Learning笔记(1-3周)