python-接口測試(思路)


案例:接口發送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 提交成功

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM