日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

RobotFrameWork WebService Soap接口測試 (一)

 小豬窩969 2017-03-28

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


     服務(wù)器端是用java開發(fā)的,實(shí)際上提供了wsdl文件,跟什么語言開發(fā)的不會影響客戶端的調(diào)用。用python做soap的客戶端,用到的是suds庫,首先當(dāng)然是安裝suds了,執(zhí)行pip install suds或者到http://pypi./pypi/suds下載壓縮包,安裝成功后,可以在官網(wǎng)上搜索它的相關(guān)文檔介紹https:///suds/wiki/Documentation,然后可以開心的進(jìn)行客戶端開發(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ù)器端的一個方法,后面的三個是遠(yuǎn)程調(diào)用的方法
print ws.service.getkeyCode('daigg','e10adc3949ba59abbe56e057f20f883e','3025495AEE146DA3864AB81BAAF79A3E')

 

復(fù)制代碼

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



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


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


    


復(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ù)制代碼

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



    

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多