Jmeter使用实践-接口diff测试
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(" ");
resultV2 = vars.get("version2");
String[] secondLines = resultV2.split(" ");
for (i=0; i<firstLines.length; i++) {
if (!firstLines[i].equals(secondLines[i])){
j = i + 1;
Failure = true;
FailureMessage = FailureMessage + " 第 " + j + " 行不同." + " 版本1是: " + firstLines[i] + " 版本2是: " + secondLines[i];
}else{
FailureMessage = FailureMessage + " 两个版本返回结果相同";
}
}
9.添加监听器-断言结果
10.运行脚本后,查看断言结果

经过以上几步就完成了一个简单的接口 diff 测试
如果想实现自动化,可以集成到 jenkins 中。针对不同的环境,要想保证脚本都能够正常运行,可以添加配置元件 - 用户定义的变量,将环境配置作为变量保存。
此外,如有其他小伙伴发现了更好的一些针对 diff 测试的工具或方法,请多多指教。
Jmeter使用实践-接口diff测试的更多相关文章
- Jmeter 使用实践 - 接口 diff 测试
大多数人都使用 Jmeter 做过性能测试,但是在使用的过程中你会发现,它不仅可以做性能测试和功能测试,还能够满足基本的接口测试需求. 相比其他工具,Jmeter 入门门槛较低,安装也比较方便,根据自 ...
- 学习总结——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就是为了测试而开发 ...
随机推荐
- git回退到历史版本
问题描述 在开发的过程中,想要修改一个参数的命名.然后修改各种地方,并且push上码云的远程仓库.然后突然发现还要改很多地方,突然后悔不想改动了.那该怎么办呢? 处理步骤 回退本地的git版本 将本地 ...
- jenkins 持续集成笔记1 --- 安装配置
jenkins 安装 先安装Tomcat,然后下载jenkins war包,启动Tomcat即可 wget https://mirrors.huaweicloud.com/apache/tomcat/ ...
- Spark学习(4)----ScalaTest
一.例子: 1.一个简单例子:https://www.jianshu.com/p/ceabf3437dd7 2.Funsuite例子:https://www.programcreek.com/scal ...
- requests模拟浏览器请求模块初识
requests模拟浏览器请求模块初识 一.下载 requests模拟浏览器请求模块属于第三方模块 源码下载地址http://docs.python-requests.org/zh_CN/lates ...
- jQuery 实现手风琴菜单
main.js $(function(){ var tmp = null, $title = $('.title'), $con = $('.title > ul'); $title.click ...
- IIS配置web.config 将带www域名转为不带www域名
在configuration节点中添加 <configuration> <system.webServer> <rewrite> <rules> < ...
- docker 查看系统进程pid
docker inspect -f '{{.State.Pid}} {{.Id}}' $(docker ps -a -q)
- 03—Code First
Code First模式我们称之为“代码优先”模式,使用Code First模式进行EF开发时开发人员只需要编写对应的数据类(其实就是领域模型的实现过程),然后自动生成数据库.这样设计的 ...
- 包 ,模块(time、datetime、random、hashlib、typing、requests、re)
目录 1. 包 1. 优先掌握 2. 了解 3. datetime模块 1. 优先掌握 4. random模块 1. 优先掌握 2. 了解 5. hashlib模块和hmac模块 6. typing模 ...
- C10K问题和多进程模型
收录编辑来自马哥教育相关课程 内核空间的相关程序在调度用户空间里的进程的时候,也占用了cpu资源...... nginx可以作为两种类型的反向代理 http 和smtp(mail) C10K问题, 当 ...