接口测试之Moco框架
来源:互联网 发布:mac 装双系统 怎么备份 编辑:程序博客网 时间:2024/05/21 05:59
接口测试之Moco框架
Moco 简介
Moco 的作者是郑晔,该框架还在 JavaOne 2013 大会上获过奖。
简单的说,Moco 是一个搭建模拟服务器的工具,其支持 API 和独立运行两种方式,前者通常是在 junit 等测试框架中使用,后者则是通过运行一个 jar 包开启服务。
Moco 能帮助解决开发中的哪些问题?作者的回答如下:
Moco是针对HTTP集成而生的,不过,现在也有人把它用在其它需要一个模拟服务器的场景中。比如,在移动开发中,有人开发一个移动应用,需要有一个远端服务,但在开发时,这个服务还不存在,他就用Moco模拟了一个服务,保证移动应用可以顺利的开发。同样,也有人把它用在Web前端开发里,当我们的页面需要通过与服务器交互时,就可以用Moco模拟这样一个服务。这种做法在开发一个页面原型时,非常有用,因为那个时候,我们还来不及开发一个完整的服务。
Moco 用于接口测试
既然开发人员可以通过 Moco 模拟一个还不存在的服务来进行开发、调试,那对于接口测试来说,也可以模拟一个服务进行测试。
一般而言,在项目的接口文档输出后,开发人员会进行接口开发工作,测人员会进行接口用例的设计,但往往完成用例设计会先于接口开发工作,此时如果要进行接口用例的执行,则前提是开发人员完成接口开发工作。
而通过 Moco 框架,就可以在接口文档输出后,在接口开发、接口用例设计的同时,使用 Moco 搭建一个模拟服务器,这样在用例设计完成后,即使接口开发工作还未完成,也可以立即进行执行接口用例,在这个过程中可以修改、补充用例,如此的话,在接口开发完成以后,只需要简单的去执行所有的用例就 OK,省去了很大的工作量,并且这些完善的用例,用自动化去执行,效果更佳。
开始使用 Moco
- github 地址:moco
- 在项目的 readme 中找到 Quick Start,Download Standalone Moco Runner
新建一个 test.json:
1234567
[ { "response": { "text": "Hello, Moco" } }]
启动服务,端口号可自己设置
123
java -jar moco-runner-0.10.2-standalone.jar http -p 12306 -c test.json29 一月 2016 14:25:20 [main] INFO Server is started at 1230629 一月 2016 14:25:20 [main] INFO Shutdown port is 63643
在浏览器中访问 http://localhost:12306, 将会在页面上显示 Hello,Moco
配置 json 文件
做了一个 demo,demo 的目录结构:
1234567891011
.│ global.json│ moco-runner-0.10.2-standalone.jar│ test.json│└─api ├─book │ book.json │ └─person person.json
global.json 作为全局配置文件,里面定义了将会用到的 json 配置文件:
123456789
[ {"file_root":"api/book", "include": "book.json" }, { "file_root":"api/person", "include":"person.json" }]
book.json 中配置了书籍数据信息:
123456789101112131415161718192021222324252627282930313233
[ { "request": { "method": "get", "uri": "/book_list" }, "response": { "json": { "books": [ "Python基础编程", "wxPython实战", "Java核心编程", "Java编程思想" ] } } }, { "request": { "method": "get", "uri": "/book", "queries": { "book_name": "java_hxbc" } }, "response": { "json": { "name": "Java核心编程", "price": 50 } } }]
person.json 配置了人物信息:
1234567891011121314151617
[ { "request": { "method": "get", "uri": "/person", "queries": { "name": "Jack" } }, "response": { "json": { "country": "USA", "age": 18 } } }]
使用 Postman 测试接口
开启服务,当使用全局配置时,需要使用
-g
选项,而非之前的-c
1
java -jar moco-runner-0.10.2-standalone.jar http -p 12306 -g global.json
Chrome 安装 Postman 的话需要翻墙,可以通过离线安装的方式进行安装,具体自行百度。建议使用 VPN。
测试获取书籍列表:
获取 Java 核心编程的信息:
获取 Jack 的信息:
其它配置方法
通过配置不同的 json 文件,使得接口请求方式、返回的数据满足接口文档,这样就可以在完成接口用例的同时进行调试用例、用例完成后可以立即对接口进行测试。另外前端开发人员也可以使用这些模拟数据进行调试,这样就让测试人员、前端开发人员不用依赖于接口开发人员对接口的开发。
Moco 除了支持 get,还支持 post、put 、delete 等请求方式
- 前面 demo 中配置的返回数据类型都是 json,Moco 当然也支持 text、file 等类型
- 可以在 request 中设置 Headers , Cookies , StatusCode
- Moco 的其它特性可参考 Moco 的 API 文档
- 接口测试之Moco框架
- Python接口测试之moco(八)
- 接口自动化测试:mock server之Moco工具
- 接口测试 mock server 工具moco
- 使用测试服务框架Moco实现mock
- Moco 框架以及其在 Web 集成测试的应用
- Moco 框架以及其在 Web 集成测试的应用
- Moco 框架以及其在 Web 集成测试的应用
- Moco框架(mock-server)
- Python接口测试之unittest框架
- Android测试教程13--模拟服务器MockServer之Moco详细介绍
- 如何使用Moco模拟HTTP网络接口
- 如何用Moco-runner搭建测试服务器?
- 接口自动化测试框架
- 接口测试框架小结
- ITester接口测试框架
- wqrf 接口测试框架
- 接口自动化测试框架
- json
- 对应技术支持联系方式
- 用记事本编辑HTML文档在网页浏览会出现乱码,是什么原因?
- 单例模式
- Android:Service的基本使用1
- 接口测试之Moco框架
- JAVA多线程和并发基础面试问答
- TypeScript设计模式之门面、适配器
- easyui tree 递归查询树 oracle为例
- OpenCV 与 SVM
- Android高德地图使用之地点关键词的输入提示-InputTips
- 字符串排序
- 第十五周:69. Sqrt(x)
- Java面向对象思想