Python之測試webservice介面
一、準備環境
A:線上安裝
webservice介面測試,需要用到suds庫,網上百度的各種suds庫都沒法安裝,我這裡的Python3.5版本,所以安裝不了那些suds庫也沒有辦法線上安裝,所以這裡就提供一個大家都可用的方法和suds庫。
1)下載suds庫,地址:http://pypi.python.org/packages/source/s/suds-jurko/suds-jurko-0.4.1.jurko.4.zip#md5=769689edca81c34c0421a4145b08c264,檔名為:suds-jurko-0.4.1.jurko.4.zip
2)解壓壓縮包,放到Python安裝路徑下的scripts資料夾下面。
3)然後在cmd命令列中,進入到suds-jurko-0.4.1.jurko.4檔案下面,輸入命令: python setup.py install
4)安裝成功
5)注意:如果在py中寫程式碼 import suds報錯,就要把suds-jurko-0.4.1.jurko.4資料夾下面的dist、suds以及suds_jurko.egg-info這三個資料夾,拷貝到Lib 下面的site-packages路徑下面,就可以正常訪問了。
6)如果提示 ModuleNotFoundError: No module named 'version',需要更新一下suds-jurko
執行pip install --upgrade suds-jurko
B:線上安裝
1)pip install suds
2)pip install suds-jurko
6)一切準備就緒,可以開始測試啦!
二、使用suds庫來測試webservice介面
1)引入suds庫,程式碼如下:
1 |
from suds.client import Client
|
2)建立一個webservice物件,來呼叫webservice裡面的各類介面
1 2 |
user_url = "http://120.24.235.105:8080/finance-user_info-war-1.0/ws/financeUserInfoFacade.ws?wsdl" #這裡是你的webservice訪問地址
client = Client(user_url) #Client裡面直接放訪問的URL,可以生成一個webservice物件
|
3)打印出這個wsdl地址裡面的所有介面資訊:
1 |
print (client) #列印所webservice裡面的所有介面方法名稱,結果如下截圖所示:
|
4)利用soapui來看看webservice某個介面的組成和引數,其中一個註冊介面,如下所示:
一共有6個引數,如果要在Python裡面來傳遞這種引數,如何組裝拼接,接著往下看。
5)如何傳遞引數值:
1 |
t = { "channel_id" : 2 , "ip" : "129.45.6.7" , "mobile" :mobile , "pwd" : "123456" , "user_id" : "shabicu8" , "verify_code" :” 123456 ”} #用字典的方式傳值
|
6)如何在Python中呼叫註冊這個介面服務:
1 2 3 4 |
result = client.service.userRegister(t)
#client這個物件 ,呼叫service這個方法,然後再呼叫userRegister這個介面函式,函式裡面傳遞剛剛我們準備
#好的得引數字典 t
print (result) #列印返回結果
|
7)最後的返回結果列印如下:
其實測試webservice介面有很多種,但是我寫出的這個,相對而言會比較的簡單好理解。大家也可以參考這篇文章,跟官網的說明文件差不多,但是進行了一些詳細的說明:
http://www.chengxuyuans.com/Python/64773.html(推薦)
如果有問題,歡迎加群來溝通喲!
============================================ PS ============================================- 軟體測試技術交流:【 687136491 】
- 個人工作qq:【204893985】
- 功能測試,自動化測試,效能測試,測試開發,測試架構方面的技術問題歡迎與加群與我交流,加群時請備註下:部落格園-華華