案例:接口发送post请求
步骤1:编写方法,用于提交post请求
步骤2:编写测试数据对象,用户提交测试数据
步骤3:调用方法和数据,进行测试
实例展示:
步骤1:编写方法checkapi_post()
#coding=utf-8 import urllib,urllib2 import json def checkapi_post(url,data): #把参数进行编码 data=urllib.urlencode(data) #.Request来发送POST请求,指明请求目标是之前定义过的url,请求内容放在data里 url2=urllib2.Request(url,data) #.urlopen打开上一步返回的结果,得到请求后的响应内容 response=urllib2.urlopen(url2) #将响应内容用read()读取出来 apicontent=response.read() #将str对象转换成json对象 context=json.loads(apicontent) #读取json对象中的RetCode的值 retcode=context['RetCode'] print context #跟进返回的状态进行判断 if retcode!='0': print(retcode+' '+u"提交失败") else: print(retcode+' '+u"提交成功")
步骤2:编写测试数据对象data,并将对象类型转换成字典类型
class data(object): def __init__(self,User,UserPhone,Title,StockId,StockName,ModelId,UserGrade,IsFree,SelfStr): self.User=User self.UserPhone=UserPhone self.Title=Title self.StockId=StockId self.StockName=StockName self.ModelId=ModelId self.UserGrade=UserGrade self.IsFree=IsFree self.SelfStr=SelfStr #对象类型转换成字典类型 def convert_data(obj): dict={} dict.update(obj.__dict__) return dict
步骤3:调用方法和数据,进行测试
#coding=utf-8 import checkapi_post import ComQuestion_data #请求地址 url="http://xxxx.xxxx.xx/xxx/xxxxxx/CommitQuestion" data1=ComQuestion_data.data('30010384200','139****1094','python自动化脚本001','000001','平安银行',2,1,2,'python自动化测试数据001') data2=ComQuestion_data.data('300034228661','180****1650','自动化脚本002','000001','平安银行',2,1,2,'python自动化测试数据001') data1=ComQuestion_data.convert_data(data1) data2=ComQuestion_data.convert_data(data2) checkapi_post.checkapi_post(url, data1) checkapi_post.checkapi_post(url, data2)
输出结果:
{u'Message': u'-1', u'RetCode': u'-1', u'RetMsg': None} -1 提交失败 {u'Message': u'pythonu81eau52a8u5316u6d4bu8bd5u6570u636e001', u'RetCode': u'0', u'RetMsg': u' ac7940fe-0803-491c-86f3-4d64c6ea57c9'} 0 提交成功