压测一个接口
接口中含有json数据,所以使用post发送,post数据格式为
param1=sth¶m2=[{json data}]
Data Preparation
xml文件准备
import json
def processData(filename):
try:
filehandler=open(filename,'r')
except:
print "error file open"
else:
jsonlist=[]
for line in filehandler.readlines():
distance,dataId,encryptDistance = line.strip().split('\t')
item={}
item['dataId']=str(dataId)
item['distance']=int(distance)
item['encryptDistance']=str(encryptDistance)
filehandler.close()
jsonlist.append(item)
return jsonlist
def createXmlFile(jsonlist):
try:
filehandler=open('processFile','w')
except:
print "error file open"
else:
filehandler.write('<testcases>')
filehandler.write('\n')
for line in jsonlist:
filehandler.write('<case>')
filehandler.write('\n')
filehandler.write('<url>http://your url</url>')
filehandler.write('\n')
filehandler.write('<method>post</method>')
filehandler.write('\n')
filehandler.write('<body><![CDATA[')
filehandler.write("param1=like¶m2=["+json.dumps(line)+']')
filehandler.write(']]></body>')
filehandler.write('\n')
filehandler.write('</case>')
filehandler.write('\n')
filehandler.write('</testcases>')
filehandler.write('\n')
if __name__=="__main__":
createXmlFile(processData(r"tobeProcess"))
两个函数:processData主要是将数据处理一下,形成一个item为dict的list,dict可以通过json格式dump到文件中(ps:dict格式无法直接write到文件中的)
createXmlFile增加pylot中xml固定格式