1、EXCEL文件接口保存方式,如图。
2、然后就是读取EXCEL文件中的数据方法,如下:
import xlrd
class readExcel(object):
def __init__(self, path):
self.path = path
@property
def getSheet(self):
# 获取索引
xl = xlrd.open_workbook(self.path)
sheet = xl.sheet_by_index(0)
return sheet
@property
def getRows(self):
# 获取行数
row = self.getSheet.nrows
return row
@property
def getCol(self):
# 获取列数
col = self.getSheet.ncols
return col
# 以下是分别获取每一列的数值
@property
def getName(self):
TestName = []
for i in range(1, self.getRows):
TestName.append(self.getSheet.cell_value(i, 0))
return TestName
@property
def getData(self):
TestData = []
for i in range(1, self.getRows):
TestData.append(self.getSheet.cell_value(i, 1))
return TestData
@property
def getUrl(self):
TestUrl = []
for i in range(1, self.getRows):
TestUrl.append(self.getSheet.cell_value(i, 2))
return TestUrl
@property
def getMethod(self):
TestMethod = []
for i in range(1, self.getRows):
TestMethod.append(self.getSheet.cell_value(i, 3))
return TestMethod
@property
def getUid(self):
TestUid = []
for i in range(1, self.getRows):
TestUid.append(self.getSheet.cell_value(i, 4))
return TestUid
@property
def getCode(self):
TestCode = []
for i in range(1, self.getRows):
TestCode.append(self.getSheet.cell_value(i, 5))
return TestCode
3、EXCEL中的数据读取成功后,然后我们需要对于读出来的数据进行相应的处理。如下。当然示例中只是简单列了一下关于POST,GET等二种方式,实际还有很多其它方式,如put,delete等,请求中也还会包括headers,这些都可以自忆添加上去。
import requests
import json
from xl.read_xl import readExcel
from pubulic_way.get_token import get_token
class testApi(object):
def __init__(self, method, url, data):
self.method = method
self.url = url
self.data = data
@property
def testApi(self):
# 根据不同的访问方式来访问接口
try:
if self.method == 'post':
r = requests.post(self.url, data=json.dumps(eval(self.data)), headers=self.headers)
elif self.method == 'get':
r = requests.get(self.url, params=eval(self.data))
return r
except:
print('失败')
def getCode(self):
# 获取访问接口的状态码
code = self.testApi.json()['error']
return code
def getJson(self):
# 获取返回信息的json数据
json_data = self.testApi.json()
return json_data
4、最后我们就可以调用之前准备好的方法进去测试了。
from base.base_test import baseTest
from xl.read_xl import readExcel
from pubulic_way.test_api_way import testApi
import unittest
class testLoginApi(unittest.TestCase):
def testLoginApi(self):
'''测试发布评伦接口。'''
excel = readExcel(r'F:\path\add_thread_data.xlsx')
name = excel.getName
data = excel.getData
url = excel.getUrl
method = excel.getMethod
uid = excel.getUid
code = excel.getCode
row = excel.getRows
for i in range(0, row - 1):
api = testApi(method[i], url[i], data[i])
apicode = api.getCode()
apijson = api.getJson()
if apicode == code[i]:
print('{}、{}:测试成功。json数据为:{}'.format(i + 1, name[i], apijson))
else:
print('{}、{}:测试失败'.format(i + 1, name[i]))
if __name__ == '__main__':
unittest.main(verbosity=2)
5、最后还需要把我们的结果展示出来,这个就很简单了,利用htmltestrunner来展示。展示一张报告的切图。