mock平台架构及实现
转载: http://blog.csdn.net/xkhgnc_6666/article/details/51757209
在测试过程中有些情况通过手工测试是无法测试出来的或是非常难复现,比如网络异常、网络延迟,又比如在接口测试过程中如果后台开发还没有把接口开发出来时有什么办法能够提前进行接口测试呢?这些情况下纯手工测试也是很难做到的,再就是在测试过程中希望合作方返回的数据可以随意设置,这种情况我们又该如何做呢?这时候mock接口就是一件能够极大的提高工作效率而且又能够实现手工测试不能做到的事情,在这里,我就把最近一段时间做mock平台的工作记录下来。
在部门里面不同的产品线都有自己的mock平台,但是不同的平台使用的技术不一样,有些是通过开源的wiremock,有些是用mina,在我这个做的mock平台主要是通过freemarker模板来模拟数据,通过接口把数据返回给调用方,下面是大体的系统架构;
这个平台主要分为两个大的部分,一个是web平台的数据录入,因为mock报文接口返回的内容不是固定死的,需要里面的一些值按照使用人的需要来进行设置,这个设置的内容就是用前面的web平台来做,另外一部分是mock接口的调用,按照合作方给出的接口报文内容,模拟接口返回的内容,在页面上是看不出来的,只是在调接口的时候才能感受到;
下面列举一下在这个mock平台中涉及到的技术点相应也会详细的介绍如何用这些技术来实现mock平台中的一些功能;
1.nginx ip转发;
2.前台web页面中涉及到的spring知识
这部分内容主要是在做前端web页面的过程中需要掌握的内容;
2.1.如何处理表单数据;
前端页面页面中有多条类似的数据需要设置,这里我们就需要通过表单的形式来对这些数据进行存储;
在合作方的接口文档中约定了,post请求必须使用json格式来传递参数,所以专门来讲下如何来做这个;
2.3.前端设置页面的数据实现自动刷新;
4.如何模拟合作方的报文(mock过程)
4.1.复杂的返回数据是如何利用freemarker来生成的;
4.1.1.返回固定报文;
4.1.2.返回可设置报文;
4.2..简单返回数据是如何模拟mock接口的;
5.灾备测试
灾备测试主要是模拟接口的成功、延时、失败的情况;
6.模拟支付失败;
7.实现的细节处理
7.1.数据类型转换;
8..未来mock平台发展方向思考;
mock平台架构及实现的更多相关文章
- 朱晔的互联网架构实践心得S2E7:漫谈平台架构的工作(基础架构、基础服务、基础平台、基础中间件等等)
前言 程序开发毕竟还不是搬砖这种无脑体力劳动,需要事先有标准,有架构,有设计,绝对不是新公司今天创立,明天就可以开始编码的.其实很多公司在起步的时候没有财力和资源建设独立的基础架构或平台架构部门,甚至 ...
- 【Mock平台】测试开发实战01-开篇PRD和需求详细
微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 平台背景 从业务特性上,不少测试的服务很多是依赖第三方的接口的,比如其中的支付场景,就需要很多状态的返回进行验证,但大部分服务提供商没有很 ...
- 提高可测性-Mock平台设计和整体规划
微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 平台背景 从业务特性上,不少测试的服务很多是依赖第三方的接口的,比如其中的支付场景,就需要很多状态的返回进行验证,但大部分服务提供商没有很 ...
- 测试开发【Mock平台】04实战:前后端项目初始化与登录鉴权实现
[Mock平台]为系列测试开发教程,从0到1编码带你一步步使用Spring Boot 和 Antd React 框架完成搭建一个测试工具平台,希望作为一个实战项目能为你的测试开发学习有帮助. 一.后端 ...
- 【从零开始学BPM,Day1】工作流管理平台架构学习
[课程主题] 主题:5天,一起从零开始学习BPM [课程形式] 1.为期5天的短任务学习 2.每天观看一个视频,视频学习时间自由安排. [第一天课程] Step 1 软件下载:H3 BPM10.0全开 ...
- [转] 前后端分离开发模式的 mock 平台预研
引入 mock(模拟): 是在项目测试中,对项目外部或不容易获取的对象/接口,用一个虚拟的对象/接口来模拟,以便测试. 背景 前后端分离 前后端仅仅通过异步接口(AJAX/JSONP)来编程 前后端都 ...
- 58同城高性能移动Push推送平台架构演进之路
本文详细讲述58同城高性能移动Push推送平台架构演进的三个阶段,并介绍了什么是移动Push推送,为什么需要,原理和方案对比:移动Push推送第一阶段(单平台)架构如何设计:移动Push推送典型性能问 ...
- ASP.NET 让无码编程不在是梦 -.NET通用平台、通用权限、易扩展、多语言、多平台架构框架
先拿出我半前年前平台的设计初稿,经过半年的努力我已经完成了该设计稿的所有功能.并且理念已经远远超出该设计稿. 下面是一些博友对我贴子的评价: 1.楼主,想法很美好,现实很骨感,我们公司就有一套你说的这 ...
- Android_进化史和平台架构介绍
一.Android平台发展史 2008年9月,谷歌正式发布了Android 1.0系统,全球第一台Android设备HTC (G1) 2009年4月,谷歌正式推出了Android 1.5 ...
随机推荐
- 什么是虚假唤醒 spurious wakeup
解释一下什么是虚假唤醒? 说具体的例子,比较容易说通. pthread_mutex_t lock; pthread_cond_t notempty; pthread_cond_t notfull; v ...
- Strut 2 ValueStack传送带机制
源码与jar包下载(将rar改成jar,直接放在WEB_INF\lib目录中即可) 众所周知,Strut 2的Action类通过属性可以获得所有相关的值,如请求参数.Action配置参数.向其他 ...
- s if标签
字符串N一定要用“”双引号包含,从test的包含则用单引号 ‘ ’,如果相反,则不能正确判断该属性是否与该字符串相等. 正确:<s:if test='activityBean.searchFor ...
- POJ-2159 最小费用最大流
Going Home 自己写的第一道费用流,图建好一波板子AC.不过还是有几个地方有点迷. 先来 ...
- BZOJ 3674 可持久化并查集加强版(主席树变形)
3673: 可持久化并查集 by zky Time Limit: 5 Sec Memory Limit: 128 MB Submit: 2515 Solved: 1107 [Submit][Sta ...
- swarm集群数据管理
1.volume [root@manager ~]# docker service create --mount type=volume,src=vol1,dst=/usr/local/nginx/h ...
- spring rest 请求怎样添加Basic Auth请求頭
请自行揣摩代码 package com.hudai.platform.manager.util; import java.net.URI; import java.net.URISyntaxExcep ...
- UOJ Goodbye Bingshen
在叶子童鞋的推荐下打了这场比赛... 感觉被虐爆了... 怎么这么多构造题... 我还没写过呢... 交互题是毛线...看了好久没看懂...就放弃了...(我语文好差QAQ...) 最后只会T1... ...
- java网络编程学习笔记(三):ServerSocket详解
1.ServerSocket的构造方法 ServerSocket(); ServerSocket(int port); ServerSocket(int port,int backlog); Serv ...
- layui 的Tab选项卡
http://www.layui.com/doc/element/tab.html <#--start--> <div class="layui-tab layui-tab ...