通过上一篇的介绍,我们知道了接口是什么,那么开展接口自动化测试之前,我建议大家先学会编写一个简单的接口,了解接口到底是怎么工作的。这样才能更清晰的知道:我们做接口测试到底是什么原理。好了,话不多说,上代码。
我们需要创建两个文件,文件名称千万不要跟文件夹同名哈,否则文件多了以后调用会有问题。
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比较高大上)
大家如果觉得对您有帮助,不要忘了关注和点赞哦,我会把接口自动化做成一个系列,关注不跑丢。谢谢