總結我所理解的,整理過程的點點滴滴,只為回首往事時不因虛度年華而悔恨,不因碌碌無為而羞恥。
歡迎你來我的千聊平臺,我們一起顛覆你的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接口自動化測試