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()