案例:接口發送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'python\u81ea\u52a8\u5316\u6d4b\u8bd5\u6570\u636e001', u'RetCode': u'0', u'RetMsg': u' ac7940fe-0803-491c-86f3-4d64c6ea57c9'} 0 提交成功