Jmeter(二十)_Mock接口

首先解释一下什么是mock接口。

Mock通常是指,在测试一个对象时,我们构造一些假的对象来模拟与其交互。而这些Mock对象的行为是我们事先设定且符合预期。通过这些Mock对象来测试对象在正常逻辑,异常逻辑或压力情况下工作是否正常。

引入Mock最大的优势在于:Mock的行为固定,它确保当你访问该Mock的某个方法时总是能够获得一个没有任何逻辑的直接就返回的预期结果。Mock接口就是用一些合理的手段构造对象去模拟真实接口,达到我们需要的测试效果。测试场景有哪些呢?

  依赖的上游项目的接口尚未开发完成,下游无法进行联调,一直处于等待状态;

  接口不满足目前的测试需求。虽然接口已经实现,但是个别字段/返回不满足测试要求;

常见的 一些Mock 方式:

  将模拟数据直接写在代码里

  利用 JavaScript 拦截请求

  利用 Charles、 Fiddler 等代理工具拦截请求

  。。。。。。。

  等等

龙渊阁测试开发家园: 317765580

如何将这些Mock接口管理起来就成了一个问题,好在现在市面上已经有不少这种平台,比如

Doclever

Rap2

Easy-Mock

下面借用一张图来说明一下Mock平台的优势

通过这张图我们可以发现,通过Mock平台,可以实现前后端并行开发,甚至测试也能参与进来。可以极大地提高工作效率。

简单介绍Mock之后,我们可以来实际操作了。这里我在本地部署了一套Easy-Mock平台,具体部署流程自行Github,或者咨询博主。

我在后台创建了一个Mock接口,实现一个简单的响应式js,见下图。

大概意思就是通过接口传入一个time参数,接口判断如果参数名称是now,那么接口实时返回当前时间,如果传入的参数是id,那么接口返回一个随机的字符串。这里涉及到一些mock语法。可以参考下面的文档

Easy Mock 语法说明

Mockjs语法说明

现在可以去前台调试一下接口了

 完成这些工作之后,可以将这个接口写到Jmeter中进行调试,可以看到两种不同的结果。

我们也可以将接口文档中的预期返回值填入到Mock中去模拟结果,从而使接口测试摆脱对环境的依赖,实现真正的敏捷!

Easy-Mock可以在本地部署,但是也有线上环境,可以自由选择哦~

线上地址  Easy-Mock

龙渊阁测试开发家园: 317765580

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据智能实战

redhat6.4上Cassandra 3.9节点无法加入服务器(unable to bind IP:port)问题的解决

今天想测试一下cassandra新版本 安装环境是redhat6.4 由于以前装过3.7版本,只不过之前是在ubuntu上进行安装的。这回换在redhat 没想...

2025
来自专栏小白课代表

《经验之谈》——Chrome浏览器的扩展程序(下载及安装)

一台电脑上可以没有QQ微信,可以没有office,也可以没有安全软件修图软件下载软件等各种软件,但是一定要有的就是浏览器。浏览器是我们与互联网进行交流最重要的渠...

1675
来自专栏腾讯云服务器团队的专栏

腾讯云 CBS 性能测试用例参考

2、fio测试建议在空闲的、未保存重要数据的硬盘上进行,并在测试完后重新制作文件系统。请不要在业务数据硬盘上测试,避免底层文件系统元数据损坏导致数据损坏。

51113
来自专栏EAWorld

微服务系统之认证管理详解

微服务大行其道,微服务安全也是非常热门的话题。本文向大家分享微服务系统中认证管理相关技术。其中包括用户认证、网关和 API 认证、系统间和系统内的认证,以及我们...

2981
来自专栏编程

使用GitHub搭建个人博客

今年使用GitHub搭建了自己的博客:kaze2017.com 我整理了一下搭建博客的过程,分为购买域名、准备环境、Git和GitHub、搭建博客、绑定域名、感...

29510
来自专栏云市场·精选汇

如何巧妙解决小程序缓存问题,这5点你都知道吗?

清除缓存是我们开发者经常做的一个操作,我们需要在判断客户端在缺少缓存数据的情况下做出相应的处理

1.4K4
来自专栏技术翻译

如何在微服务之间共享和同步代码

微服务架构非常适合构建可扩展的代码库,具有更少的耦合,更好的关注点分离,更高的弹性,结合不同的技术,最重要的是,更好的模块化和构建它的组件的可重用性。

2630
来自专栏闰土大叔

从零开始:一个正式的vue+webpack项目的目录结构是怎么形成的

如何从零开始一个vue+webpack前端工程工作流的搭建,首先我们先从项目的目录结构入手。一个持续可发展,不断加入新功能,方便后期维护的目录结构究竟是长什么样...

5197
来自专栏.Net移动开发

.Net语言 APP开发平台——Smobiler学习日志:基于Access数据库的Demo

说明:该demo是基于Access数据库进行客户信息的新增、查看、编辑 新增客户信息和客户列表

1472
来自专栏Python爬虫与算法进阶

学习Git(一)起步

什么是Git 在Git官网上找到这样一段描述 Git is a free and open source distributed version control...

3376

扫码关注云+社区

领取腾讯云代金券