专栏首页公众号-测试驿栈Jmeter(二十)_Mock接口

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 条评论
登录 后参与评论

相关文章

  • Jmeter(十一)_针对响应信息不明确的接口做关联

    1:做接口关联的时候,发现接口响应没有可以利用的信息.如下图只返回了一个成功的标识,这样的接口如何与之关联?

    飞天小子
  • jenkins 参数化运行性能测试脚本

    我们用jenkins做持续集成的时候,常常需要跑不同的脚本,传不同的参数。尤其是性能基准测试,线程数和持续时间需要实时调整以满足我们的测试需求。那么是不是需求变...

    飞天小子
  • 开篇随笔

      做软件测试七八年了,第一次正经的考虑把自己所学的分享出来,希望后来的朋友们少走一些弯路。

    飞天小子
  • 使用 Moq 测试.NET Core 应用 -- Mock 方法

    第一篇文章, 关于Mock的概念介绍: https://www.cnblogs.com/cgzl/p/9294431.html

    solenovex
  • 扯谈SDL(一)

    原作者Lancer,原文发表于安全村,原始链接https://www.sec-un.org/%e6%89%af%e8%b0%88sdl%ef%bc%88%e4%...

    Ramos
  • 基于web界面的locust性能测试

    做为一个压测工具(库),[locust](http://locust.io/) 其实解决这么一个问题:AB 之类压测工具不能编写复杂的因果逻辑,而现实场...

    用户6367961
  • Java 学习笔记(16)——Java数据库操作

    JDBC——Java Database connecting Java数据库连接;本质上JDBC定义了操作数据库的一套接口,作为应用程序的开发人员来说只需要创建...

    Masimaro
  • 前端中那些让你头疼的英文单词

    作为一个程序员,一个标标准准的理工男,肯定会有一个问题,英语虐我千百遍,我却待它如初恋。相信我,为英语头疼的你并不孤单。除了那些天赋异禀的神人,我们都一样。

    小闫同学啊
  • gitbook 入门教程之超高颜值的思维导图simple-mind-map插件

    在您的 gitbook 的 book.json 文件中,将 simple-mind-map 添加到 plugins 列表中.

    雪之梦技术驿站
  • SELECT from world | SQL刷题

    Observe the result of running this SQL command to show the name, continent and p...

    数据医生

扫码关注云+社区

领取腾讯云代金券