前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python脚本做接口测试,抛弃接口测试工具是否可行?(一)

Python脚本做接口测试,抛弃接口测试工具是否可行?(一)

作者头像
王大力测试进阶之路
发布2019-10-25 17:44:52
7520
发布2019-10-25 17:44:52
举报
文章被收录于专栏:橙子探索测试

最近在学习python语言,一直再想,工作中经常性会去调试接口、测试接口,于是就思考一番,怎么能抛弃以前经常依赖使用工具做接口测试的局限性,换做python脚本来做呢?接下来就产生下如下脚本,觉得还行,实用性很强,可以做基本的接口调试和接口测试,不废话了,上代码,巴拉~~~~~巴拉~~~~~巴拉

工具做接口测试:

局限性大、效率低、技术得不到提升

python做接口测试:

扩展性大、灵活、效率高、技术得到提升

代码语言:javascript
复制
温馨提示:如果看不明白的可以先复习下python requests模块基础

接口测试脚本

#!/usr/bin/env python
#_*_coding:utf-8_*_

import requests,json  #调用requests模块
class InterfaceTest(object):
    '''接口测试'''
    headers={"Content-Type":"application/json","Authorization":"token"}#请求头
    zp_url = 'http://test.meituan.com'  #域名
    zp_login_url=zp_url+'/login'#登录接口地址
    zp_login_param{"captcha":"1234","client_type":2,"login_type":1,"mobile":18221124103}#登录参数
    def __init__(self,headers,login_url,login_param=None):
        self.headers=headers
        self.login_url=login_url
        self.login_param = login_param
    def getToken(self):
        try:
res=requests.post(url=self.login_url,headers=self.headers,json=self.login_param)
            result=res.json()
            return result['data']['token']
        except Exception:
            print('参数错误或登录失败,获取token失败')
    def sendGet(self,api_url,param):
        try:
            res=requests.get(url=api_url,headers=self.headers).json()
            print(res)
        except Exception:
            print('参数错误')
    def sendPost(self,api_url,param):
        try:
            res=requests.post(url=api_url,headers=self.headers,json=param).json()
            print(res)
        except Exception:
            print('参数错误')
    def runMain(self,method,api_url,param=None):
        if method=='GET' or method=='get' or method=='Get':
            self.sendGet(api_url,param)
        elif method == 'POST' or method=='post' or method=='Post':
            self.sendPost(api_url,param)
        else:
            print('请传正确请求方式GET或POST')
if __name__== '__main__':
    url=InterfaceTest.zp_url+'/update_info'#接口地址
    params=[{"self_introduce":"我是参数1!"},{"self_introduce":"我是参数2!"}]#接口参数
    test = InterfaceTest(InterfaceTest.headers,InterfaceTest.zp_login_url,InterfaceTest.zp_login_param)#实例化
    InterfaceTest.headers['Authorization'] = test.getToken()# 获取token并赋值
    for param in params:
        test.runMain('POST',url,param)


"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py
{'msg': '成功', 'data': {}, 'code': 0}
{'msg': '成功', 'data': {}, 'code': 0}

Process finished with exit code 0

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 橙子探索测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档