您的位置:首页 > 其它

实现接口自动化初步设想以及实现第一部

2016-01-27 17:27 363 查看
  最近工作之余一直在想怎么能够提高工作效率,特别是接口测试至一块,后来想到了接口自动化,在长期的测试过程中会经常做接口测试,可是那只是单一的一个接口,那么我们怎么去做批量的接口测试呢?自己设想如下:

  1、在一个工作目录下准备几个文件,分别为主程序运行文件,接口地址文本文件,请求参数文本文件,请求参数的值的文本文件

  2、主要思维:通过运行主程序,去获取接口地址下的文本文件,再将该地址对应的请求参数和请求参数值对应起来,然后拼接上

  3、再通过urllib发送请求到服务器,根据返回的状态码以及返回值来判断接口是否成功

  下面是写的一个简化版的脚本程序:

  

#__author__ = 'ytxu'
#coding=utf-8
import urllib,urllib2,os,sys,json

class InterfaceAutoTestMain:
#读取接口
def InterfaceData(self):
file = 'InterfaceData.txt'
interfaceDataData = ''.join(self.ReadFile(file))
return interfaceDataData

#读取变量
def Variety(self):
postVariety = []
varietyData = 'VarietyDataFile.txt'
Data = self.ReadFile(varietyData)
for LinData in Data:
#postData[LinData]
lin = LinData.replace('\n','')
postVariety.append(lin)
return postVariety

#读取参数数据
def Parameter(self):
postParameter = []
parameterData = 'ParameterDataFile.txt'
Data = self.ReadFile(parameterData)
for LinData in Data:
#检查请求数据中是否包含多元数组
lin = LinData.replace('\n','')
postParameter.append(lin)
return postParameter

#读取文件
def ReadFile(self,FileName):
f = open(FileName)
Data = f.readlines()
return Data

#拼接变量和数据
def PostData(self):
#将两个列表合并为一个字典
Data =dict(zip(self.Variety(),self.Parameter()))
return Data

#接口、数据拼接
def SouData(self):
jdata = urllib.urlencode(self.PostData()).replace('+','').replace("%27","%22")
req = urllib2.Request(self.InterfaceData(),jdata)
response = urllib2.urlopen(req)
responseStr = response.read()
code = response.getcode()
if(code ==200):
ResJson = json.loads(responseStr)
if(ResJson["ret"]!=0):
print "error"
#print eval(code)

#脚本运行
run = InterfaceAutoTestMain()
run.SouData()


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: