Jmeter 使用实践 - 接口 diff 测试
大多数人都使用 Jmeter 做过性能测试,但是在使用的过程中你会发现,它不仅可以做性能测试和功能测试,还能够满足基本的接口测试需求。
相比其他工具,Jmeter 入门门槛较低,安装也比较方便,根据自己的需要可以扩展一些插件,总之一句话: 优点太多了。
那么问题来了,为什么要做接口 diff 测试?
- 产品迭代较快,提高已有 case 回归的效率,减轻工作量;
- 通过 diff 可以看到新的改动对已有功能的影响;
- 可以根据修改的代码设置 case,有针对性的测试;
- 在开发联调阶段提前定位发现的问题。
下面就介绍下通过 Jmeter 进行 diff 测试的步骤:
1.添加测试计划
2.添加 Threads
3.添加 Sampler-HTTP 请求
旧版本的接口:interfaceV1
4.针对 Sampler interfaceV1 添加后置处理器 - BeanShell PostProcessor,如图:

5.添加Sampler-HTTP请求
新版本的接口:interfaceV2
6.针对Sampler interfaceV2添加后置处理器 - BeanShell PostProcessor

7.针对 Sampler interfaceV2 添加后置处理器 - BeanShell Sampler
8.在 BeanShell Sampler 添加断言 - BeanShell 断言

下面是针对响应的信息进行简单的比较
resultV1 = vars.get("version1");
String[] firstLines = resultV1.split("\n");
resultV2 = vars.get("version2");
String[] secondLines = resultV2.split("\n");
for (i=0; i<firstLines.length; i++) {
if (!firstLines[i].equals(secondLines[i])){
j = i + 1;
Failure = true;
FailureMessage = FailureMessage + "\r第 " + j + " 行不同." + " \r\n版本1是: " + firstLines[i] + " \r\r\n版本2是: " + secondLines[i];
}else{
FailureMessage = FailureMessage + "\r两个版本返回结果相同";
}
}
9.添加监听器-断言结果
10.运行脚本后,查看断言结果

经过以上几步就完成了一个简单的接口 diff 测试
如果想实现自动化,可以集成到 jenkins 中。针对不同的环境,要想保证脚本都能够正常运行,可以添加配置元件 - 用户定义的变量,将环境配置作为变量保存。
此外,如有其他小伙伴发现了更好的一些针对 diff 测试的工具或方法,请多多指教。
Cloud Insight 集监控、管理、计算、协作、可视化于一身,帮助所有 IT 公司,减少在系统监控上的人力和时间成本投入,让运维工作更加高效、简单。本文系国内 ITOM 行业领军企业 OneAPM 工程师原创。想阅读更多技术文章,请访问 OneAPM 官方技术博客。
本文转自 OneAPM 官方博客
Jmeter 使用实践 - 接口 diff 测试的更多相关文章
- Jmeter使用实践-接口diff测试
Jmeter使用实践-接口diff测试 大多数人都使用 Jmeter 做过性能测试,但是在使用的过程中你会发现,它不仅可以做性能测试和功能测试,还能够满足基本的接口测试需求. 相比其他工具,Jmete ...
- 学习总结——JMeter做http接口压力测试
JMeter做http接口压力测试 测前准备 用JMeter做接口的压测非常方便,在压测之前我们需要考虑这几个方面: 场景设定 场景分单场景和混合场景.针对一个接口做压力测试就是单场景,针对一个流程做 ...
- 基于Jmeter的轻量级接口压力测试(一)
一.操作步骤: 1.在测试计划下新增一个线程组,并在线程组下新增一个http请求: 2.读取配置文件中的参数:在添加的http请求下添加配置元件-CSV DATA SET CONFIG 3.配置待测试 ...
- JMeter做http接口压力测试
测前准备 用JMeter做接口的压测非常方便,在压测之前我们需要考虑这几个方面: 场景设定 场景分单场景和混合场景.针对一个接口做压力测试就是单场景,针对一个流程做压力测试的时候就是混合场景,需要多个 ...
- 使用Loadrunner进行http接口压力测试
业务描述: 在业务系统里进行查询操作,查询的结果是通过请求http接口,从系统中处理并将结果以json字符串返回. 本文就讲述使用Loadrunner对此类接口进行压力测试并记录相关的性能指标数据: ...
- 【SoapUI、Postman、WebServiceStudio、Jmeter】接口测试工具结合测试webservice接口(发送XML格式参数)
目录: SoapUI测试webservice接口,发送XML格式参数 Postman测试webservice接口,发送XML格式参数 WebServiceStudio.exe测试webservice接 ...
- JMeter接口压力测试课程入门到高级实战
章节一压力测试课程介绍 1.2018年亿级流量压测系列之Jmeter4.0课程介绍和效果演示 简介: 讲解课程安排,使用的Jmeter版本 讲课风格:涉及的组件,操作配置多,不会一次性讲解,会先讲部分 ...
- JMeter进入接口压力测试
关键字: Jmeter.单接口.压力测试.插件监听.服务器端 摘要: 使用Jmeter对单个接口进行压力测试:监听并发量对接口响应时间.服务器资源占量.Jmeter本身只能获取到Tomcat的状态,所 ...
- Apache JMeter 做接口并发测试
获知来源:查找如何使用Postman进行接口并发测试时,在StackOverflow上看到,说postman只能做串行测试,而且postman并不是被设计做这种测试的:而jmeter就是为了测试而开发 ...
随机推荐
- 自定义ListView适配器
继承BaseAdapter类 覆盖以下4个方法: @Override public int getCount() { return users.size(); } @Override public O ...
- 消息推送SignalR
一.什么是 SignalR ASP.NET SignalR is a library for ASP.NET developers that simplifies the process of add ...
- javascript对象初读
<script type="text/javascript"> function baseClass() { this.showMsg = function() { a ...
- Cocos开发中性能优化工具介绍之Visual Studio内存泄漏检测工具——Visual Leak Detector
那么在Windows下有什么好的内存泄漏检测工具呢?微软提供Visual Studio开发工具本身没有什么太好的内存泄漏检测功能,我们可以使用第三方工具Visual Leak Detector(以下简 ...
- 【转】C#实现二叉查找树
原文URL: http://www.cnblogs.com/CareySon/archive/2012/04/19/ImpleBinaryTreeWithCSharp.html 简介 树是一种非线 ...
- easyui扩展-日期范围选择.
参考: http://www.5imvc.com/Rep https://github.com/dangrossman/bootstrap-daterangepicker * 特性: * (1)基本功 ...
- [GeekBand] 探讨C++新标准之新语法——C++ 11~14
一. 可变参数模板(Variadic Templates) 在C++11中,出现了参数数目可变的模板,这部分在之前C++高级编程的时候就有学习到. 其实,在C中就有类似的设定.最常用的printf() ...
- 抓取dump
1,在程序奔溃前部署.adplus.exe -crash -pn explorer.exe -o d: -crash:当进程挂掉的时候抓取dump,只能抓取到进程报错时的信息,如果进程不报错,就无法抓 ...
- [转]主键冲突的话就更新否则插入 (ON DUPLICATE KEY UPDATE )
mysql "ON DUPLICATE KEY UPDATE" 语法如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQ ...
- 关于C#正则表达式MatchCollection类的总结,正则表达式的应用
认识MatchCollection 类 表示通过以迭代方式将正则表达式模式应用于输入字符串所找到的成功匹配的集合. 命名空间: System.Text.RegularExpressions 属性:C ...