一、简介
本文从一个简单的登录接口测试入手,一步步调整优化接口调用姿势; 然后简单讨论了一下接口测试框架的要点; 最后介绍了一下我们目前正在使用的接口测试框架 pithy。 期望读者可以通过本文对接口自动化测试有一个大致的了解。
二、引言
为什么要做接口自动化测试?
在当前互联网产品迭代频繁的背景下,回归测试的时间越来越少,很难在每个迭代都对所有功能做完整回归。
但接口自动化测试因其实现简单、维护成本低,容易提高覆盖率等特点,越来越受重视。
为什么要自己写框架呢?
使用 requests + unittest 很容易实现接口自动化测试,而且 requests 的 api 已经非常人性化,非常简单。
但通过封装以后(特别是针对公司内特定接口),再加上对一些常用工具的封装,可以进一步提高业务脚本编写效率。
三、环境准备
确保本机已安装 python2.7 以上版本,然后安装如下库:
pip install flask
pip install requests
后面我们会使用 flask 写一个用来测试的接口,使用 requests 去测试。
四、测试接口准备
下面使用 flask 实现两个 http 接口,一个登录,另外一个查询详情,但需要登录后才可以,新建一个 demo.py 文件(注意,不要使用 windows 记事本),把下面代码 copy 进去,然后保存、关闭。
接口代码
#!/usr/bin/env 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, : })
jsonify({: , : error}),
():
session.get():
jsonify({: , : })
jsonify({: , : , : })
__name__ == :
app.run(debug=)


