python+requests+excel 接口测试
来源:互联网 发布:淘宝手淘首页流量来源 编辑:程序博客网 时间:2024/04/30 17:30
1、EXCEL文件接口保存方式,如图。
2、然后就是读取EXCEL文件中的数据方法,如下:
1 import xlrd 2 3 4 class readExcel(object): 5 def __init__(self, path): 6 self.path = path 7 8 @property 9 def getSheet(self):10 # 获取索引11 xl = xlrd.open_workbook(self.path)12 sheet = xl.sheet_by_index(0)13 return sheet14 15 @property16 def getRows(self):17 # 获取行数18 row = self.getSheet.nrows19 return row20 21 @property22 def getCol(self):23 # 获取列数24 col = self.getSheet.ncols25 return col26 27 # 以下是分别获取每一列的数值28 @property29 def getName(self):30 TestName = []31 for i in range(1, self.getRows):32 TestName.append(self.getSheet.cell_value(i, 0))33 return TestName34 35 @property36 def getData(self):37 TestData = []38 for i in range(1, self.getRows):39 TestData.append(self.getSheet.cell_value(i, 1))40 return TestData41 42 @property43 def getUrl(self):44 TestUrl = []45 for i in range(1, self.getRows):46 TestUrl.append(self.getSheet.cell_value(i, 2))47 return TestUrl48 49 @property50 def getMethod(self):51 TestMethod = []52 for i in range(1, self.getRows):53 TestMethod.append(self.getSheet.cell_value(i, 3))54 return TestMethod55 56 @property57 def getUid(self):58 TestUid = []59 for i in range(1, self.getRows):60 TestUid.append(self.getSheet.cell_value(i, 4))61 return TestUid62 63 @property64 def getCode(self):65 TestCode = []66 for i in range(1, self.getRows):67 TestCode.append(self.getSheet.cell_value(i, 5))68 return TestCode
3、EXCEL中的数据读取成功后,然后我们需要对于读出来的数据进行相应的处理。如下。当然示例中只是简单列了一下关于POST,GET等二种方式,实际还有很多其它方式,如put,delete等,请求中也还会包括headers,这些都可以自忆添加上去。
1 import requests 2 import json 3 from xl.read_xl import readExcel 4 from pubulic_way.get_token import get_token 5 6 7 class testApi(object): 8 def __init__(self, method, url, data): 9 self.method = method10 self.url = url11 self.data = data12 13 14 @property15 def testApi(self):16 # 根据不同的访问方式来访问接口17 try:18 if self.method == 'post':19 r = requests.post(self.url, data=json.dumps(eval(self.data)), headers=self.headers)20 elif self.method == 'get':21 r = requests.get(self.url, params=eval(self.data))22 return r23 except:24 print('失败')25 26 def getCode(self):27 # 获取访问接口的状态码28 code = self.testApi.json()['error']29 return code30 31 def getJson(self):32 # 获取返回信息的json数据33 json_data = self.testApi.json()34 return json_data
4、最后我们就可以调用之前准备好的方法进去测试了。
1 from base.base_test import baseTest 2 from xl.read_xl import readExcel 3 from pubulic_way.test_api_way import testApi 4 import unittest 5 6 7 class testLoginApi(unittest.TestCase): 8 def testLoginApi(self): 9 '''测试发布评伦接口。'''10 excel = readExcel(r'F:\path\add_thread_data.xlsx')11 name = excel.getName12 data = excel.getData13 url = excel.getUrl14 method = excel.getMethod15 uid = excel.getUid16 code = excel.getCode17 row = excel.getRows18 for i in range(0, row - 1):19 api = testApi(method[i], url[i], data[i])20 apicode = api.getCode()21 apijson = api.getJson()22 if apicode == code[i]:23 print('{}、{}:测试成功。json数据为:{}'.format(i + 1, name[i], apijson))24 else:25 print('{}、{}:测试失败'.format(i + 1, name[i]))26 27 28 if __name__ == '__main__':29 unittest.main(verbosity=2)
5、最后还需要把我们的结果展示出来,这个就很简单了,利用htmltestrunner来展示。展示一张报告的切图。
热忱回答(0)
0 0
- python+requests+excel 接口测试
- python+requests实现接口测试
- python+requests实现接口测试
- Python + Requests + Unittest接口自动化测试
- Jenkins + python(requests)做接口自动化测试
- Python+Requests接口自动化测试框架
- Python接口测试之Requests(七)
- python Excel接口测试
- 接口测试框架(基于json格式、http请求)基于Excel文件管理测试用例(python+requests)
- 接口测试-requests
- excel+python进行接口测试
- 使用Python的Requests库进行web接口测试
- python requests做接口测试对json的处理
- Python-Requests库进行接口测试(一)
- 使用Python的Requests库进行web接口测试
- 基于python+requests+unittest框架接口自动化测试设计开发
- python+requests接口自动化测试框架实例详解教程
- python+requests接口自动化测试框架实例详解教程
- ACdream 1068 sgx和路飞 (构造/暴力+多样例坑)
- python http接口测试框架示例
- 安卓版本更新简单的Demo
- hbase-map(ImmutableBytesWritable key,Result value,Context context)数据解析
- 【BZOJ 4520】[Cqoi2016]K远点对 kd-tree
- python+requests+excel 接口测试
- poj3691DNA repair AC自动机+dp
- POJ 2728 Desert King (最优比例生成树)
- Sublime Text 3 & Atom插件篇
- java 使用相对路径读取文件
- Spark环境配置与学习
- easyUI页面加载完成前不显示样式问题解决方案
- spring mvc 获取上下文路径
- redis.conf配置项