python语言编写一个接口测试的例子,涉及切割获取数据,读取表格数据,将结果写入表格中

最近就公司的产品用python写了一个接口的脚本,目前还只是写了一个例子,现在附上我的完整流程。

哈哈,这是不是也算是做好笔记不至于之后遗忘。

 

好了,开始:

附上我的完整的代码

 

#coding=utf-8

import requests
import os
import xlrd
import re
import xlwt

def base_dir(filename=None):
return os.path.join(os.path.dirname(__file__),filename)
work=xlrd.open_workbook(base_dir('headlers.xlsx'))
sheet=work.sheet_by_index(0)

#登录接口
def login(url):
headers = {
'Authorization': 'Basic YWRtaW46MTIzNHF3ZXI='
}
response = requests.get(url, headers=headers)
# print(response.text.encode('utf8'))
return response


url = sheet.cell_value(1, 1)
requests = login(url)
# 得到结果进行分割拿到想要的数据
spilt1 = re.split(' |=|\n| |=|\n| |=|_0\n', requests.text)
# print(list1)
list_spilt1 = []
list_spilt1.append(int(spilt1[2]))
list_spilt1.append(spilt1[5])
list_spilt1.append(spilt1[8])

work = xlrd.open_workbook('data.xlsx')
sheet = work.sheet_by_index(0)
# 获取行
nrows = sheet.nrows # 2
# 获取列
ncols = sheet.ncols # 4
ncols = ncols - 1 # 3
c_list = []
for nrows in range(1, nrows - 3):
b = []
for ncols in range(ncols):
ctype = sheet.cell(nrows, ncols).ctype
sheet_name = sheet.cell_value(nrows, ncols)
# 进行数据转换,将float类型转换为int类型
if ctype == 2 and sheet_name % 1 == 0.0: # ctype为2且为浮点
sheet_name = int(sheet_name) # 浮点转成整型
b.append(sheet_name)
c_list.append(b)
# 将结果做成列表
d_list = []
for i in c_list:
if i == list_spilt1:
result = 'PASS'
else:
result = 'FAIL'
d_list.append(result)

# 获取到data表格里的备注信息作为下一个表格的开头列(接口名称)
work = xlrd.open_workbook('data.xlsx')
sheet = work.sheet_by_index(0)
nrows = sheet.nrows
ncols = sheet.ncols
a_list = []
# cell_A=sheet.cell(1,3).value
for i in range(1, nrows): # 第0行为表头
alldata = sheet.row_values(i) # 循环输出excel表中每一行,即所有数据
result1 = alldata[3] # 取出表中第三列数据
a_list.append(result1)

# 将获取的结果以 登录:pass/faild 移动侦测:pass/faild显示
title = d_list
result2 = a_list
merge = []
for i in range(len(title)):
q = []
q.append(result2[i])
q.append(title[i])
merge.append(q)
#结果写到excel表格中

myworkbook=xlwt.Workbook('encoding=utf-8')#创建工作簿
mysheet=myworkbook.add_sheet('XVR_api_result')#添加工作表格
#设置表头
mysheet.write(0,0,'接口名称')
mysheet.write(0,1,'是否通过')

#通过循环写入表格
ii = 1
for data in merge:
j = 0
for data2 in data:
mysheet.write(ii,j,data2)
j += 1
ii += 1
myworkbook.save('XVR_api_result.xls')

附上我的表格:
获取请求头URL的表格

附上生成结果的表格

 

 

好了,以上一个流程完结,下一个任务是:将代码写的规范好看

 

posted @ 2020-09-19 10:01  冯子闲  阅读(223)  评论(0编辑  收藏  举报