python接口自动化框架pithy初探
python 接口自动化
网络整理,学习素材 from https://www.zybuluo.com/coolfish/note/726662
以下为正文
简单实现接口自动化测试(基于python)
一、简介
本文从一个简单的登录接口测试入手,一步步调整优化接口调用姿势,然后简单讨论了一下接口测试框架的要点,最后介绍了一下我们目前正在使用的接口测试框架pithy。期望读者可以通过本文对接口自动化测试有一个大致的了解。
二、引言
为什么要做接口自动化测试?
在当前互联网产品迭代频繁的背景下,回归测试的时间越来越少,很难在每个迭代都对所有功能做完整回归。但接口自动化测试因其实现简单、维护成本低,容易提高覆盖率等特点,越来越受重视。
为什么要自己写框架呢?
使用requets + unittest很容易实现接口自动化测试,而且requests的api已经非常人性化,非常简单,但通过封装以后(特别是针对公司内特定接口),再加上对一些常用工具的封装,可以进一步提高业务脚本编写效率。
三、环境准备
确保本机已安装python2.7以上版本,然后安装如下库
pip install flask
pip install requests
后面我们会使用flask写一个用来测试的接口,使用requests去测试
四、测试接口准备
下面使用flask实现两个http接口,一个登录,另外一个查询详情,但需要登录后才可以,新建一个demo.py文件(注意,不要使用windows记事本),把下面代码copy进去,然后保存、关闭
接口代码
#!/usr/bin/python
# coding=utf-8
from flask import Flask, request, session, jsonify
USERNAME = 'admin'
PASSWORD = '123456'
app = Flask(__name__)
app.secret_key = 'pithy'
最后执行如下命令
python demo.py
响应如下
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
大家可以看到服务已经起起来了
接口信息
登录接口
请求url
/login
请求方法
post
请求参数
参数名称 |
参数类型 |
参数说明 |
username |
String |
登录名称 |
password |
String |
登录密码 |
响应信息
参数名称 |
参数类型 |
参数说明 |
code |
Integer |
结果code |
msg |
String |
结果信息 |
详情接口
请求url
/info
请求方法
get
请求cookies
参数名称 |
参数类型 |
参数说明 |
session |
String |
session |
响应信息
参数名称 |
参数类型 |
参数说明 |
code |
Integer |
结果code |
msg |
String |
结果信息 |
data |
String |
数据信息 |
五、编写接口测试
测试思路
使用requests [使用链接] 库模拟发送HTTP请求
使用python标准库里unittest写测试case
脚本实现
#!/usr/bin/python
# coding=utf-8
import requests
import unittest
class TestLogin(unittest.TestCase):