首页 / PYTHON / python2.7接口自动化整理
python2.7接口自动化整理
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python2.7接口自动化整理,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4298字,纯文字阅读大概需要7分钟。
内容图文
![python2.7接口自动化整理](/upload/InfoBanner/zyjiaocheng/701/b756507e68a444a4a8c2bb83203584d9.jpg)
当我们在测试知识海洋玩的正嗨时,收到一个需求,被告知这个需求在何时何时上,心中肯定万马奔腾!
不过作为测试,我们要保证需求质量同时,也需要提升自己测试技能,从而高效完成测试工作。
废话不多说~
一,接口自动化:
(1)对收到一个接口文档,我们肯定需要对这个接口进行接口测试,我们可以先写一个请求函数出来,然后在用例里面进行调用这个函数。
get请求:
那么这种请求方式就是参数放在链接里面,在fidder中就是webfroms 里面可以看到参数
例子:
获取验证码接口:
def users_sendOtp(params={}):
"""
发送验证码
请求方式:get
:return:
"""
url=HOST+'/users/sendOtp'
result=requests.get(url=url,params=params,proxies=proxies,verify=False)
return result
注:
proxies和verify=False可以不带上
下面为调用这个函数的测试用例:
def test_send_otp_13(self):
"""
发送验证码,params方式传参,传入全部必填参数
:return:
"""
result=users_sendOtp(params={
# 'userLoginType': '9421511119',
'userLoginType':time.strftime('zhumandi@%Y%m%d%H%M%S.com',time.localtime()),
'type': 'lend',
'userExistCheck': 'true'
})
# print result
self.assertEqual(result.status_code, 200, "fail".format(result.status_code))
post请求类似:
不过post请求涉及到传参数不同的问题,我们先写一个更新body的函数
def test_user_addAppConfig(kitc={}):
"""
给app添加详细信息接口
请求方式:post
:return:
"""
url=HOST+'/users/addAppConfig'
body={
"androidId": "string",
"appVersion": "string",
"deviceDetails": "string",
"deviceToken": "string"
}
args = update_args(body, kitc)
ret=requests.post(url=url,proxies=proxies,json=args,verify=False)
return ret
这里面
update_args 就是一个更新body的函数 具体如下:
def update_args(dict_args=None, new_dict=None, **kwargs):
if kwargs:
dict_args.update(kwargs)
if new_dict:
dict_args.update(new_dict)
return dict_args
实际用例当中就是调用这个函数,进行传参就行
result=test_user_addAppConfig({
})
(2)以上讲的是我们如何进行写接口自动化用例,当然会存在 出现问题时,我们要去找参数,不简单明了。我们可以把发起请求这个动作封装一下。
def httprequest(url,params,method,**kwargs):
#先判断是get请求还是post请求
#定义result为全局变量 两种方式:赋值和global
global result
if method.upper()=='GET':
try:
#发起get请求
args=update_args(kwargs)
result=requests.get(url=url,json=args,params=params,verify=False,proxies=proxies)
except Exception as e:
raise e
elif method.upper()=='POST':
try:
#发起post请求
args = update_args(kwargs)
result=requests.post(url=url,json=args,params=params,verify=False,proxies=proxies)
except Exception as e:
raise e
return result
这个函数就是把发起请求这个动作封装成一个函数,下面看具体的调用方式:
def test_users_logout1():
"""
退出登录
:return:
"""
#发起HTTP请求
re=httprequest(url=HOST+'/users/logout',method='GET',params={'AUTH_TOKEN':'fbkejsfvka3476t9320975834rbeow5yt239rh3'})
是不是简洁很多. 我们只需要传url 请求方式(post或者get) 然后有需要params传参就是传 不需要就params={} 就行 当然也可以加请求参数
**kwargs很好的解决了这个问题
(3)我们发现第二种方式,写参数很麻烦,我们可以这么弄,先搞个excel表格,把请求方式 method url params、或者存在的body 写到一个表格中
具体这样,当然 里面字段不用介意。下面看具体的测试用例举例:
def test_addAppConfig_1(self):
"""
给app添加详细信息,传入全部参数,添加成功
请求方式:post
:return:
"""
file=r'E:\Apitest\test.xls'
book = xlrd.open_workbook(file) # 打开excel文件
sheet = book.sheet_by_index(0) # 通过索引打开第一个表
nrows = sheet.nrows # 获取所有行数
nrow_value = sheet.row_values(1)#获取表格中的值 具体是第几行
那么url 就是(1,1)method为(1,3)以此类推
ret=httprequest(url=nrow_value[1],method=nrow_value[3],params=nrow_value[2],data=nrow_value[4])
print ret
这种方式是第二种方式的延伸。我们写测试用例时,只需要复制粘贴,前提我们把这个表格整理好就行。
nrow_value = sheet.row_values(number)#只需要修改这个number
喜欢python就好好学吧,哈哈哈哈~ 我也在学,有歧义大佬勿喷,只是想深入一下自己理解!
内容总结
以上是互联网集市为您收集整理的python2.7接口自动化整理全部内容,希望文章能够帮你解决python2.7接口自动化整理所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。