小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

RobotFrameWork WebService Soap接口測(cè)試 (一)

 小豬窩969 2017-03-28

     在做完基于http協(xié)議的接口測(cè)試之后,開(kāi)始弄soap協(xié)議了,之前有過(guò)開(kāi)發(fā)java webservice自動(dòng)化框架的經(jīng)驗(yàn),所以我想著應(yīng)該并不會(huì)很難。對(duì)于webservice的簡(jiǎn)介,服務(wù)器端和客戶端的開(kāi)發(fā)的簡(jiǎn)單例子前面的隨筆有分享過(guò),就不再次重復(fù)。然后在網(wǎng)上隨便搜了下,似乎RobotFrameWork并沒(méi)有提供基于soap協(xié)議的庫(kù),于是自己用python做了個(gè)簡(jiǎn)單的模塊。


     服務(wù)器端是用java開(kāi)發(fā)的,實(shí)際上提供了wsdl文件,跟什么語(yǔ)言開(kāi)發(fā)的不會(huì)影響客戶端的調(diào)用。用python做soap的客戶端,用到的是suds庫(kù),首先當(dāng)然是安裝suds了,執(zhí)行pip install suds或者到http://pypi./pypi/suds下載壓縮包,安裝成功后,可以在官網(wǎng)上搜索它的相關(guān)文檔介紹https:///suds/wiki/Documentation,然后可以開(kāi)心的進(jìn)行客戶端開(kāi)發(fā)了。


    


復(fù)制代碼


# -*- coding: cp936 -*-
#導(dǎo)入包from suds.client import Client
from suds.client import Client


#創(chuàng)建客戶端,與服務(wù)器端進(jìn)行連接
def webservice():

url= 'http://192.168.5.45:8888/bossApi/bossws/wsService?wsdl'
client = Client(url)
#print client 能得到服務(wù)器提供的遠(yuǎn)程調(diào)用的方法
print client
return client

if __name__=='__main__':
ws = webservice()
#getkeyCode是服務(wù)器端的一個(gè)方法,后面的三個(gè)是遠(yuǎn)程調(diào)用的方法
print ws.service.getkeyCode('daigg','e10adc3949ba59abbe56e057f20f883e','3025495AEE146DA3864AB81BAAF79A3E')

 

復(fù)制代碼

     運(yùn)行后,結(jié)果如下:



 第一個(gè)紅框內(nèi)返回的是可以遠(yuǎn)程調(diào)用的所有方法,第二個(gè)紅框是具體一個(gè)接口測(cè)試后返回的數(shù)據(jù)       


        介于是做demo演示,于是就只做了一個(gè)py文件進(jìn)行調(diào)用,就做一個(gè)關(guān)鍵字吧。然后關(guān)鍵字的參數(shù)就是url,遠(yuǎn)程調(diào)用的方法,方法內(nèi)的參數(shù)。而且方法名傳遞進(jìn)來(lái)后,如果放在.的后面(ws.service.getkeyCode),ws.service.method是無(wú)效的,method已經(jīng)不當(dāng)字符串處理了,只能當(dāng)函數(shù)名處理(js支持,一般語(yǔ)言都不支持),于是需要自己做個(gè)簡(jiǎn)單的映射,寫(xiě)完如下:


    


復(fù)制代碼

# -*- coding: cp936 -*-
from suds.client import Client

def webService(url,test_method,rootuname,pwd_md5,keyCode):

    client = Client(url)
    dic_metode={'getkeyCode':client.service.getkeyCode}
    method_test = dic_metode.get(test_method)
    return method_test(rootuname, pwd_md5, keyCode)

復(fù)制代碼

        這個(gè)就可以直接在RF內(nèi)導(dǎo)入,做一個(gè)接口的測(cè)試了(暫時(shí)只能證明可行,易用性是欠缺,但相比java之前寫(xiě)的代碼,已經(jīng)簡(jiǎn)潔了無(wú)數(shù)倍,java的稍晚復(fù)雜點(diǎn),嘿嘿),在RF內(nèi)導(dǎo)入XML(內(nèi)置庫(kù))就可以對(duì)返回的標(biāo)準(zhǔn)xml數(shù)據(jù)進(jìn)行解析,測(cè)試腳本和運(yùn)行結(jié)果如下所示:



    

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多