1 / 1
Python
的接口測試架構執行個體
分析
接口是基于
HTTP
協定的,
那麼說白了,
就是發起
HTTP
請求就行了,
對于
Python
來說簡直就是小菜一碟。直接使用
requests
就可以很輕松的完成任務。
架構
整個架構
是比較小的,涉及的東西也比較少,隻要厘清楚幾個子產品的功能就行了。
上面是一個
接口測試
的完整流程。隻要一步一步的走下來就行了,并不是很難。
資料源
資料源我使用的是
JSON
來儲存,當然,比較廣泛的是使用
Excel
來儲存,用
JSON
來儲存是
因為
JSON
用起來比較友善,懶得去讀取
Excel
了,
Python
對
JSON
的支援是非常友好的。當
然這個就看個人喜好了。
{"TestId": "testcase004"
,
"Method": "post"
,
"Title": "
單獨推送消
息
"
,
"Desc": "
單獨推送消息
"
,
"Url": "http://xxx.xxx.xxx.xx"
,
"InputArg": {"action": "44803"
,
"account": "1865998xxxx"
,
"uniqueid": "00D7C889-06A0-426E-BAB1-5741A1192038"
,
"title": "
測試測試
"
,
"summary": "
豆豆豆
"
,
"message": "12345"
,
"msgtype": "25"
,
"menuid":
"203"}
,
"Result": {"errorno": "0"}}
示例如上面代碼所示,可以根據個人的業務需要進行調
整。
發送請求
發送請求就很簡單了,用
requests
子產品,然後從
JSON
中讀取發送的參
數,
post
、
get
或者其他。由于要生成測試報告,那麼發送的資料需要做一下記錄,我選擇用
txt
文本來作為記錄的容器。
f = file("case.json")testData = json.load(f)f.close()def
sendData(testData
,
num):payload = {}#
從
json
中擷取發送參數
for x in
testData[num]['InputArg'].items():payload[x[0]] = x[1]with open('leftside.txt'
,
'a+') as
f:f.write(testData[num]['TestId'])f.write('-')f.write(testData[num]['Title'])f.write('n')#
發送
請求
data = requests.get(testData[num]['Url']
,
params=payload)r = data.json()