【我理解的Python】處理webservices接口

總結我所理解的,整理過程的點點滴滴,只為回首往事時不因虛度年華而悔恨,不因碌碌無為而羞恥。

歡迎你來我的千聊平臺,我們一起顛覆你的Python接口自動化測試

【目錄】我所理解的Python


更新記錄2018-7-17 16:10:27
1.Python3使用suds時,需要 pip install suds-py3
2.如果提示"no module name ‘client’",需要額外安裝 pip install client

【樣例解釋】

# -*- coding: utf-8 -*-
'''
1.發送webservices協議接口請求并獲取數據
'''
from suds.client import Client
class OpWebservices(object):
    #定義初始化數據,分別是接口地址?wsdl,方法名,接口參數(字典形式)
    def __init__(self,url_interface,params_interface):
        self.url=url_interface
        self.params=params_interface
    #定義處理webservices協議接口請求
    def handle_wbs(self):
        client = Client(self.url)  # Client里面直接放訪問的URL,可以生成一個webservice對象
        #print(client)  # 打印所webservice里面的所有接口方法名稱
        result = client.service.toTraditionalChinese(**self.params)
        response = str(client.last_received())  # 保存返回報文,返回的也是一個實例,xml形式的
        return response,result

test_Opwbs=OpWebservices(url_interface="http://www.webxml.com.cn/WebServices/TraditionalSimplifiedWebService.asmx?wsdl",
params_interface={'sText':u'臺灣'})
r_response,r_result=test_Opwbs.handle_wbs()
print(r_response)
print(r_result)
#執行結果是:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope>
   <soap:Body>
      <toTraditionalChineseResponse xmlns="http://webxml.com.cn/">
         <toTraditionalChineseResult>臺灣</toTraditionalChineseResult>
      </toTraditionalChineseResponse>
   </soap:Body>
</soap:Envelope>
臺灣

【下一步優化】

1、調用client.service.方法名,該方法名是否可以作為參數傳入,否則N多接口要寫N個處理方法,或者這個整體作為接口請求
2、對返回結果xml的處理

作者簡介:
1、6年軟件測試經驗;2、擅長接口手工測試及自動化測試,UI自動化,Django 框架;3、自編自導自演了一套基于 Python + Django + MySQL 的自動化測試平臺;

想更深入的了解,歡迎來我的千聊平臺,我們一起顛覆你的Python接口自動化測試

【目錄】我所理解的Python

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容