– coding: utf-8 –
#使用参数话进行多接口联调的脚本优化
import requests
import csv
class workflow_v3_test():
def userinsterface_test(self, url, userinfo, expresult, jkname):
#定义字典数据,存储实际的响应结果和测试结论
resultdata={}
response1 = requests.post(url, data=userinfo).text
r1 = response1.find(expresult)
resultdata[‘接口实际返回值’] = response1
if r1 > 0:
#print(jkname, ‘测试通过’)
resultdata[‘测试结论’]=‘测试通过’
else:
#print(jkname, ‘测试失败’)
resultdata[‘测试结论’] = ‘测试失败’
return resultdata
#把相关的测试结论写入测试报告中
def result_report(self,rpfilename,resultdata):
file=open(rpfilename,‘a’)
for key,value in resultdata.items():
file.write(key+’,’+value+’,’)
file.write(’\n’)
file.close()
if name == ‘main’:
wfObj3=workflow_v3_test()
file=open(r’C:\Users\xx\workflow7.csv’,‘r’,encoding=‘utf-8’)
table=csv.reader(file)
for row in table:
#逐行读取相关内容并设置为参数的内容
url=row[3]
jkname=row[1]
expresult=row[5]
#读取接口参数的数据
userinfo={}
j=int(row[6])
for i in range(7,j*2+7,2):
userinfo[row[i]]=row[i+1]
resultdata=wfObj3.userinsterface_test(url,userinfo,expresult,jkname)
wfObj3.result_report(r’C:\Users\xx\result7.csv’,resultdata)
userinfo = {}