接口自动化测试可能是团队里容易被低估的一环,但真正落地时,它能大幅降低回归成本。我用 Python 的 requests + unittest 搭了一套小方案,从一个登录接口开始,一步步把代码封装到可以复用的层次,顺便把过程中踩的坑和思路记录下来。
为什么要自己写框架?
用 requests 库直接发请求、写断言,已经很简单了。但真实项目里,接口会不断增多,相同的请求头、cookie 维护、日志打印如果到处重复,维护起来会很头疼。自己包一层薄薄的框架,把共性的东西抽出来,能省下不少重复劳动,也方便团队统一调试。
下面直接动手:先造一个简单的测试服务,然后从最原始的测试脚本出发,逐步优化。
环境准备
Python 3.x,安装两个库:
pip install flask
pip install requests
用 Flask 写两个接口:/login 和 /info。后者需要登录后的 session 才能访问。新建 demo.py,把代码贴进去:
#!/usr/bin/python
# coding=utf-8
from flask import Flask, request, session, jsonify
USERNAME = 'admin'
PASSWORD = '123456'
app = Flask(__name__)
app.secret_key = 'pithy'
@app.route('/login', methods=['GET', 'POST'])
def login():
error = None
if request.method == 'POST':
if request.form['username'] != USERNAME:
error = 'Invalid username'
elif request.form['password'] != PASSWORD:
error = 'Invalid password'
else:
session['logged_in'] = True
return jsonify({'code': 200, 'msg': 'success'})
return jsonify({'code': 401, : error}),
():
session.get():
jsonify({: , : })
jsonify({: , : , : })
__name__ == :
app.run(debug=)


