背景

前面两篇聊过了 JMeter 的 简单使用 和 参数化,主要都还是单接口的。

很多时候,一个业务要走完,它会依赖多个接口,而且这些接口会有依赖性。

好比说,我想查询一个订单信息,那么大前提肯定是我已经下单了,并且拿到了订单号我才可以去查。

像这个场景就会有下单接口和查询订单两个接口,并且查询订单接口会依赖于下单接口。

所以下面来看看多接口的情况下我们怎么用 JMeter 来实现自动化测试。

场景接口

在这里的话,老黄没有虚拟一个场景,用的是步骤一步骤二和步骤三来代替。

它们的流程大概如下:

  1. 调用步骤一接口,会返回一个 data 字段

  2. 根据步骤一返回的 data 字段,去调用步骤二的接口,会返回一个 data 字段

  3. 根据步骤二返回的 data 字段,去调用步骤三的接口

下面是各接口定义

步骤一

请求:

POST http://localhost:8532/auto/step1
Content-Type: application/json{"str":"123","r":"456"
}

响应:

{"code":0,"msg":"ok","data":"step1"}

步骤二

请求:

POST http://localhost:8532/auto/step2
Content-Type: application/json{"str":"123","r":"step1"
}

响应:

{"code":0,"msg":"ok","data":"step1+step2"}

步骤三

请求:

POST http://localhost:8532/auto/step3
Content-Type: application/json{"str":"123","r":"step1+step2"
}

响应:

{"code":0,"msg":"ok","data":"step1+step2+step3"}

步骤一处理

添加一个 HTTP 请求,进行相关的参数设定。

同时还要添加一个 JSON Extractor 的后置处理器

添加这个处理器的目的就是为了获取到接口返回的 data 字段。

这里的配置和前面的 JSON 断言其实差不多,都是定义一个参数名和 JSON 节点的路径就可以了。

到这里的话,步骤一的接口就可以了。

下面是步骤二,要怎么用步骤一返回的结果数据。

步骤二处理

步骤二也是一个 HTTP 请求,所以这里也是添加,不一样的地方是参数这一块。

可以看到,这里是直接把步骤一的 JSON Extractor 里面定义的变量名拿过来用了。

用法和参数化的方式差不多。这里继续复刻步骤一的 JSON Extractor,提取步骤三需要的内容。

步骤三处理

同样是添加一个 HTTP 请求,参数配置和步骤二类似。

换的是步骤二的变量名。

步骤三还要加一个 JSON 断言,确定返回的 data 是期望值。

到这里,有依赖性的多接口测试其实已经配置好了。

最后就是添加一个查看结果树,看对应的结果。

写在最后

对于多接口测试,老黄认为这里的核心的关键点会是后置处理器这一块内容,通过它可以很方便的拿到接口返回的内容。

试想一下,一个相对稳定业务,测试同学配置好这些接口的用例和流程。

只要开发同学调整了接口,通过 Jenkins 更新到测试环境后,就会自动跑测试同学定义的 Jmeter 脚本,就可以很轻松的知道这次更新会不会出现明显的问题。

这样的话可以节省很多不必要的时间。

但是呢,不建议刚起来的业务去做这些内容,因为多变,脚本会经常变,吃力不讨好!

最后的话,老黄把 JMeter 系列的内容都放在 github 了,方便大家查阅和测试。

https://github.com/catcherwong/JmeterSample

聊一聊Jmeter与多接口测试相关推荐

  1. 使用Jmeter进行http接口测试

    使用Jmeter进行http接口测试 前言: 本文主要针对http接口进行测试,使用Jmeter工具实现. Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,因此 ...

  2. jmeter可以做接口测试和压力测试(较全)

    jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单.因为jmeter是java开发的,所以运行的时候必须先要安 ...

  3. 利用jmeter模拟手机接口测试

    利用jmeter模拟手机接口测试 (由于批量上传图片不方便,可以到博主网站查阅原版博客: https://blog.zhenglin.work/jmeter/use_jmeter_test_app.h ...

  4. Jmeter TCP socket接口测试(一)

    1.tcp取样器相关知识: 使用JMeter对套接字进行测试,有以下的选项可以做控制: TCPClient classname: 缺省的org.apache.jmeter.protocol.tcp.s ...

  5. Jmeter进行http接口测试,这一篇就搞定

    jmeter-http接口测试脚本 jmeter进行http接口测试的主要步骤 (1.添加线程组 2.添加http请求 3.在http请求中写入接口的URL,路径,请求方式,参数 4.添加查看结果树 ...

  6. Jmeter做单接口测试-超详细步骤讲解

    测试项目:本章节将以此测试项目为大家讲解怎么使用jmeter做一个接口测试 CSDN - 专业开发者社区CSDN是全球知名中文IT技术交流平台,创建于1999年,包含原创博客.精品问答.职业培训.技术 ...

  7. 1.3 使用jmeter进行http接口测试

    来源: http://www.cnblogs.com/alisapan/p/6150309.html 此篇纯是搬运记载..   一.测试需求描述 1. 本次测试的接口为http服务端接口 2. 接口的 ...

  8. jmeter测试java接口测试_简单易学的测试攻略:JMeter测试Java请求示例

    JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现,大家可以到官网下载源代码和查看相关文档. 关于使用JMeter进行JDBC数据库测试.HTTP请求接 ...

  9. jmeter mysql驱动jar包_用 Jmeter 做 Web 接口测试

    最近总结了一下在接口测试方面的知识与心得,在这里与大家分享一下,如有说的不对的地方请多多指正. 接口测试概述 定义 API testing is a type of software testing ...

最新文章

  1. linux ls 按 文件名 大小 时间 排序
  2. 自己组装服务器计算机,深度学习服务器组装经验过程分享
  3. 【报告分享】阿里达摩院:2022十大科技趋势.pdf(附下载链接)
  4. cargo 使用国内源镜像,引用 substrate 的 Contracts Pallet Crate 编译错误
  5. 简单了解一下如何使用Spring框架里JDBC和事务
  6. realme系统服务器代码,解锁BL之后,Realme正式开放源代码
  7. 遗传算法-附代码注释
  8. 服务器系统资源不足瑞友天翼,瑞友天翼 错误提示解决方法
  9. 《2018版-业余无线电(相关频率)对照表》
  10. go语言 mysql时间对比_go时间比较 - Go语言中文网 - Golang中文社区
  11. Android 自定义View实现拖动滑块完成验证
  12. 光环五正在连接服务器,五亿美元打水漂了?追了这么久的光环系列,玩家根本没法看...
  13. 打印100以内的质数
  14. dn什么意思_DN是啥意思
  15. 牛客网赛码网输入输出总结(python版)
  16. Unity translucent SSS 次表面散射 皮肤材质研究
  17. Java规则引擎Drools急速入门
  18. 面试刁难题——你有哪些缺点?
  19. Markdown语法详细整理
  20. 滴滴出行与Uber的合并历程回顾

热门文章

  1. Mysql InnoDB Plugin安装 install
  2. 版本控制介绍以及常用的版本控制工具
  3. ref:下一个项目为什么要用 SLF4J
  4. 03:数据结构 栈、队列、链表与数组
  5. php之简单使用数据库
  6. Andorid Binder进程间通信---总结
  7. mysql学习笔记之mysqlparameter(摘)
  8. Silverlight专题(10)- WatermarkedTextBox使用
  9. solidworks小金球_如何在没有电缆的情况下传送第77届年度金球奖
  10. SpringBoot+Shiro学习(四):Realm授权