python httplib_Python 如何測試WebService介面
技術標籤:python httplibsoapui測試webservice介面vb webservice 自動轉xmlwebservice介面webservice是什麼
WebService是什麼
簡單的說WebService是一個SOAP(面向服務的程式設計)的架構,它是不依賴於語言,不依賴於平臺,可以實現不同的語言(通過 xml 描述)間的相互呼叫,通過Internet進行基於Http協議的網路應用間的互動。通過SOAP在Web上提供的軟體服務,使用WSDL檔案進行說明,並通過UDDI進行註冊。(概念性的東西大家可以自行搜尋補充)
測試環境準備
python2.7 + httplib 內建庫
資料準備這裡就定義了兩個case:
case1是一個正向case, 根據正確的nameid查詢使用者資訊。
case2是一個反向case, 給出一個錯誤的nameid 查詢使用者資訊。
然後將這兩個case 存放到一個dict 中,最後引入程式碼裡面進行請求使用。
data.py檔案內容如下:
#正向的casecase1='''<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Header> <OGHeader xmlns="http://webservices.micros.com/og/4.3/Core/" transactionID="2019062118114433750450"> <Origin entityID="OW1" systemType="WEB"/> <Destination entityID="TI" systemType="ORS"/> OGHeader> soap:Header> <soap:Body> <FetchProfileRequest xmlns="http://webservices.micros.com/oqq/5.1/Name.wsdl"> <NameID type="INTERNAL">186217986NameID> FetchProfileRequest> soap:Body> soap:Envelope>'''
#反向的casecase2='''<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Header> <OGHeader xmlns="http://webservices.micros.com/og/4.3/Core/" transactionID="2019062118114433750450"> <Origin entityID="OW1" systemType="WEB"/> <Destination entityID="TI" systemType="ORS"/> OGHeader> soap:Header> <soap:Body> <FetchProfileRequest xmlns="http://webservices.micros.com/oqq/5.1/Name.wsdl"> <NameID type="INTERNAL">1862179863NameID> FetchProfileRequest> soap:Body> soap:Envelope>'''dict1={"success":case1,"fail":case2}
test.py檔案內容如下:
#coding=utf-8import httplibfrom data import dict1def Featchinfo(): url="test.beat.com" port=9700 path="/oqq_ws_51/Name.asmx" header={'Content-Type' : 'text/xml; charset=utf-8'} conn = httplib.HTTPConnection(url,port,timeout=10) for key,value in dict1.items(): conn.request('POST',path,value.encode('utf-8'),header) response=conn.getresponse() resp=response.read() if(key=="success" and "resultStatusFlag=\"SUCCESS" in str(resp)): print("case1 驗證通過") elif(key=="fail" and "resultStatusFlag=\"FAIL" in str(resp)): # print(resp) print("case2 驗證通過")if __name__ == '__main__': Featchinfo()
結果輸出:case2 驗證通過case1 驗證通過
總結 :通過以上簡單的幾步就可以完成WebService Api的測試,對於示例中的測試資料大家可以根據Api文件的描述不斷的豐富測試場景。與君共勉,每天進步一點點。
友情提示:“無量測試之道”原創著作,歡迎關注交流,禁止第三方不顯示文章來源時轉載。更多原創文章請掃碼關注檢視,交流與合作請聯絡:[email protected]。
QQ技術交流群:41564936
Python 實現Excel自動化辦公《上》
Python 實現Excel自動化辦公《中》
Python 實現Excel自動化辦公《下》
Python API自動化測試實操
Python 測試框架之 Unittest & Pytest
Python 爬蟲之Scrapy《下》
Python 爬蟲之Scrapy《中》
Python 一招搞定禪道提交bug
Shell 程式設計核心技術《四》
Shell 程式設計核心技術《三》
Git 必知必會《上》
Git 必知必會《下》