python接口自动化-接口

通过上一篇的介绍,我们知道了接口是什么,那么开展接口自动化测试之前,我建议大家先学会编写一个简单的接口,了解接口到底是怎么工作的。这样才能更清晰的知道:我们做接口测试到底是什么原理。好了,话不多说,上代码。

我们需要创建两个文件,文件名称千万不要跟文件夹同名哈,否则文件多了以后调用会有问题。
在这里插入图片描述

api文件内容如下:

from flask import Flask,g
from flask_restful import reqparse,Api,Resource
#reqparse验证前端参数
#Api
#Resource外部API交互部分,提供get,post方法

# Flask相关变量声明
app = Flask(__name__)
api = Api(app)

#RESTfulAPI的参数解析put/post参数解析
#add_argument 传参的
parser_put = reqparse.RequestParser()
parser_put.add_argument("un", type=str, required=True)
parser_put.add_argument("up", type=str, required=True)
 
# 功能(例如:登录,搜索)
def login(parm1, parm2):
    login_info = {
                    'username' : parm1,
                    'password' : parm2   #这里是对给过来的参数进行处理,我这里就是把参数存成字典了
                 }
    response = '{\'success\': True,\'code\':200,\'message\' : \'登录成功\'}'  #模拟的接口返回值
    return (response)
 
# 操作(post / get)资源列表,也就是这里是接口
class TodoList(Resource):
    def post(self):  #这里代表接口是post
        args = parser_put.parse_args()
        un = args['un']  #构建新参数
        up = args['up']
        info = login(un,up)  #调用login功能
        return (info)
 
# 设置路由,即路由地址为http://127.0.0.1:5000/login 这就是接口地址
api.add_resource(TodoList, "/login")
 
if __name__ == "__main__":
    app.run(debug=True)

上边就是我们写的接口,写完以后需要保存,运行,如下:
在这里插入图片描述

apitest文件内容如下:

import requests
import json

#下边这三句是为了避免中文乱码的,如果不打印中文,则不需要写这个
import sys
import io 
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
 
# api路径
url="http://127.0.0.1:5000/login"
headers = {
   			'User-agent': 'none/ofyourbusiness'   #请求头
		  }
parms = {
    		'un': 'admin',  #接口传参
   			'up': '123456'
		}
res = requests.post(url,headers=headers,params=parms)  # 发送post请求
r = res.json()
print(r)

上边这就是接口调用了,然后运行结果如下:
在这里插入图片描述
以上两个文件,希望能帮助大家理解后端的程序逻辑是什么样的。那么话说回来,我们做接口测试的,不需要编写接口和功能,只需要调用接口,然后判断接口的返回值,跟我们预期的是否一样,不一样就是bug了。

这篇接口的分享到此结束了,小伙伴们想要会编写脚本,还是需要有一定的python基础的,但是我个人认为,不需要特别深入的研究python,会一些常用的就够了,这里可以给大家统计一下需要的知识点,如有不足,请大家评论补充,谢谢!
python基础知识点:
1、引包
2、print使用方法
3、变量定义
4、运算符
5、if…else
6、循环
7、异常处理
8、list使用
9、dict使用
10、tuple使用
11、string常规操作
12、自定义函数
13、类
14、单元测试模块unittest(听说pytest比较高大上)

大家如果觉得对您有帮助,不要忘了关注和点赞哦,我会把接口自动化做成一个系列,关注不跑丢。谢谢

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值