接口测试 开源项目 Doo:接口文档及 Mock 服务

tonglei · 2018年09月03日 · 最后由 tonglei 回复于 2018年09月10日 · 2993 次阅读

Doo

Doo

Doo 是一款简单易用的接口管理解决方案,支持接口文档管理、Mock 服务,接口测试等功能。Doo 接口文档采用 yaml 或 Excel 格式书写,简单快捷,Mock 基于该文档,无需数据库,一条命令秒变 Mock 服务。

已添加到开源项目中, 欢迎点赞! https://testerhome.com/opensource_projects/doo

看到上面的像素 logo,我想大家应该可以猜到,这是 Sweetest 的姊妹项目,所以 QQ 交流群和微信公众号合并到 Sweetest ,欢迎加入

安装

初次安装

pip install doo

升级

pip install -U doo

快速体验

Mock

在合适的目录,如 D:\doo 目录下,打开 CMD 命令行窗口,输入如下命令

doo
cd doo_example
python app.py

如果看到如下信息

* Restarting with stat
* Debugger is active!
* Debugger PIN: 248-052-080
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

OK,Mock 已经启动起来了。

运行指定的接口文档 (如: example.xlsx),直接带上文件名即可,执行命令如下:

python app.py example.xlsx

Postman 测试

doo_example 目录下的 doo.postman_collection.json 为 Postman 用例集

把该文件导入到 Postman 即可对 Mock 进行验证。

备注:collection 格式为比较新的 2.1 版本,请尽量把 Postman 升级到最新版本。

接口文档模板

1. yaml 模板

example.yml

模板格式

--- # 通用描述
Title: Example 接口文档
Description: ''
Version: '1.0'
BasePath: http://example.com
REQUEST_Headers:
  Content-Type: application/json
RESPONSE_Headers:
  Content-Type: application/json

---  # 接口描述
Name: LOGIN
Desc: 账号登录
Path: /api/authentication/login
Method: POST
GROUP: USER
Auth: None

REQUEST:
  Headers:
    Content-Type: application/json
  Body:
    # 参数名: [类型, 是否必传, 中文名称, 备注]
    account: [string, Y, 用户名, 手机号/邮箱]
    password: [string,Y, 密码, 6~12位数字字母组合]

RESPONSE:
  Headers:
    Content-Type: application/json
  Body:
    # json 支持多层嵌套
    Body: {code: [string, Y, 错误码, 报文里的错误码], message: [string, Y, 提示信息, 出错时信息]}
    nickname: [string, N, 昵称, 用户昵称]

# 以下为 Mock 测试数据,根据需要填写
DATA1:
  REQUEST:
    account: admin
    password: '123456'
  RESPONSE:
    code: '0'
    message: success
    nickname: admin
  status_code: 200  #可选,默认为 200
  delay: 0.5  #可选,默认为 0
  remark: admin 账户登录  #可选,默认为 ''

2. Excel 模板

example.xlsx

INDEX 页面

目前采用 Excel 来书写接口文档,其中 INDEX 是基本信息页,提供如下信息:

Field Value
Title EOMS 接口文档
Description
Version 1.0
BasePath http://example.com

注:此网址为虚构,仅作示例

也可以提供全局请求和响应的 Headers

请求 Headers 参数名 测试数据
Content-Type application/x-www-form-urlencoded
响应 Headers
Content-Type application/json

接口页面

除了 INDEX 页面外,其他页面为接口页面。一个接口页面为一组,可以有多个接口页面。
在每个接口页面,需要填写的信息如下:

字段
名称 登录
描述 账号登录接口
接口地址 /api/authentication/login
方法 POST
权限 None
请求 参数名 中文名称 类型 是否必传 备注 测试数据
account 用户名 string Y admin
password 密码 string Y 123456
响应 200
Body 报文 Body json Y json 格式 {"code: "0", "message":"success"}
nickname 昵称 string N 用户昵称 admin
响应延时 0.5
测试数据备注 正常场景
共收到 10 条回复 时间 点赞

这个很棒!简单好用😃 😐 😟 😮 😢 😔 😴

3楼 已删除

更新了 Postman 用例,方便对 Mock 服务做一下简单的验证

顶一下,可能以后会用到

可以可以~

nice 挺实用的

更新了等待延迟

手动支持

更新:支持 yaml 格式的接口文档

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册