Python在HTTP接口测试中的应用
上一篇 / 下一篇 2012-07-10 15:02:09 / 个人分类:Python
HTTP接口例子:http:\\ip:port\interface.php?uname=aaa51Testing软件测试网e+dZ4])u g\g
接口功能: 根据uname参数值来返回对应的用户名的基本信息
接口功能: 根据uname参数值来返回对应的用户名的基本信息
# -*- coding:gb2312 -*-
eq4ez_TR(g0import urllib2,urllib
eq4ez_TR(g0import urllib2,urllib
'''
W(x&ZDtA)?G0函数说明:url 特殊字符编码转换
[9S$S6u7|A0作者:xiaonan51Testing软件测试网#n4VY0kQvh1H-e(b~
输入参数:待转换的字符串数据51Testing软件测试网4q#\"a!xQ`FA
输出参数:转换完成后的字符串数据
:p*N#w2Jc0'''51Testing软件测试网RZ|K)h,X.gC6C(o;_J
def urlcode(data):51Testing软件测试网_}B\u2\n];e Fj
return urllib2.quote(str(data))
W(x&ZDtA)?G0函数说明:url 特殊字符编码转换
[9S$S6u7|A0作者:xiaonan51Testing软件测试网#n4VY0kQvh1H-e(b~
输入参数:待转换的字符串数据51Testing软件测试网4q#\"a!xQ`FA
输出参数:转换完成后的字符串数据
:p*N#w2Jc0'''51Testing软件测试网RZ|K)h,X.gC6C(o;_J
def urlcode(data):51Testing软件测试网_}B\u2\n];e Fj
return urllib2.quote(str(data))
6~/X3Jp(_t0'''51Testing软件测试网:lk@1Y L\4EU-j8E
函数说明:获取用户信息的API接口51Testing软件测试网,CYl7e6_ks
作者:xiaonan
*oF1u0wzO"R-f5n)MDi0输入参数:用户名(uname),HTTP接口调用方式(GET或者POST)51Testing软件测试网3O[[af[`
输出参数:HTTP接口调用返回数据
;qRkv _#Gx0'''51Testing软件测试网x.H Ms%L.@OYo
def GetUserInfo(uname,method):
le1~$U K0 if method == 'GET':51Testing软件测试网$[ zVlBe.{m
url = 'http://ip:port/interface/GetUserInfo.php?uname='+urlcode(uname)51Testing软件测试网}3_!a4A!]4XB
result = urllib2.urlopen(url).read()
)j0R]mnn_;]/By!e0 return result51Testing软件测试网4oCk~!CIt|"c
51Testing软件测试网 p8~8UwvpD lK
if method == 'POST':51Testing软件测试网t%DCG6_1[5N]zx
url = 'http://ip:port/interface/GetUserInfo.php'
H*Gh ~0OtTv0 values = {'uname' : uname}
rY"ZnP2N4OR~t0 data = urllib.urlencode(values)
&LA0g.ps,S4L7kg)n}0 req = urllib2.Request(url, data)
7w`m6_k,])BO0 response = urllib2.urlopen(req)51Testing软件测试网c}(LG9v3p4L'~ U*fOd.G
result = response.read()51Testing软件测试网}.nkV C
return result
2. 编写、组织测试脚本, 准备测试数据
X(U(zl`o7ha0 根据Testcase的具体业务逻辑用事先准备好的测试数据去调用封装好的API接口,验证实际返回结果是否与预期返回结果一致.
X(U(zl`o7ha0 根据Testcase的具体业务逻辑用事先准备好的测试数据去调用封装好的API接口,验证实际返回结果是否与预期返回结果一致.
测试数据可以以各种形式存放,如Excel数据表: