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测试的更多相关文章

  1. Jmeter 使用实践 - 接口 diff 测试

    大多数人都使用 Jmeter 做过性能测试,但是在使用的过程中你会发现,它不仅可以做性能测试和功能测试,还能够满足基本的接口测试需求. 相比其他工具,Jmeter 入门门槛较低,安装也比较方便,根据自 ...

  2. 学习总结——JMeter做http接口压力测试

    JMeter做http接口压力测试 测前准备 用JMeter做接口的压测非常方便,在压测之前我们需要考虑这几个方面: 场景设定 场景分单场景和混合场景.针对一个接口做压力测试就是单场景,针对一个流程做 ...

  3. 基于Jmeter的轻量级接口压力测试(一)

    一.操作步骤: 1.在测试计划下新增一个线程组,并在线程组下新增一个http请求: 2.读取配置文件中的参数:在添加的http请求下添加配置元件-CSV DATA SET CONFIG 3.配置待测试 ...

  4. JMeter做http接口压力测试

    测前准备 用JMeter做接口的压测非常方便,在压测之前我们需要考虑这几个方面: 场景设定 场景分单场景和混合场景.针对一个接口做压力测试就是单场景,针对一个流程做压力测试的时候就是混合场景,需要多个 ...

  5. 使用Loadrunner进行http接口压力测试

    业务描述: 在业务系统里进行查询操作,查询的结果是通过请求http接口,从系统中处理并将结果以json字符串返回. 本文就讲述使用Loadrunner对此类接口进行压力测试并记录相关的性能指标数据: ...

  6. 【SoapUI、Postman、WebServiceStudio、Jmeter】接口测试工具结合测试webservice接口(发送XML格式参数)

    目录: SoapUI测试webservice接口,发送XML格式参数 Postman测试webservice接口,发送XML格式参数 WebServiceStudio.exe测试webservice接 ...

  7. JMeter接口压力测试课程入门到高级实战

    章节一压力测试课程介绍 1.2018年亿级流量压测系列之Jmeter4.0课程介绍和效果演示 简介: 讲解课程安排,使用的Jmeter版本 讲课风格:涉及的组件,操作配置多,不会一次性讲解,会先讲部分 ...

  8. JMeter进入接口压力测试

    关键字: Jmeter.单接口.压力测试.插件监听.服务器端 摘要: 使用Jmeter对单个接口进行压力测试:监听并发量对接口响应时间.服务器资源占量.Jmeter本身只能获取到Tomcat的状态,所 ...

  9. Apache JMeter 做接口并发测试

    获知来源:查找如何使用Postman进行接口并发测试时,在StackOverflow上看到,说postman只能做串行测试,而且postman并不是被设计做这种测试的:而jmeter就是为了测试而开发 ...

随机推荐

  1. 2.6. 案例:使用BeautifuSoup4的爬虫

    案例:使用BeautifuSoup4的爬虫 我们以腾讯社招页面来做演示:http://hr.tencent.com/position.php?&start=10#a 使用BeautifuSou ...

  2. P4151 最大XOR和路径 线性基

    题解见:https://www.luogu.org/problemnew/solution/P4151 其实就是找出所有环 把环上所有边异或起来得到的值扔到线性基里面 然后随便走一条从1~n的链 最后 ...

  3. php 常用正则运算

    $regx = "/^[0-9]*$/"; var_dump(preg_match($regx, $phone)); 常用的正则运算: •验证数字:^[0-9]*$ •验证n位的数 ...

  4. Event Binding in Angular

    https://www.pluralsight.com/guides/angular-event-binding Introduction In this guide, we will explore ...

  5. blur([[data],fn]) 当元素失去焦点时触发 blur 事件。

    blur([[data],fn]) 概述 当元素失去焦点时触发 blur 事件.大理石平台生产厂 这个函数会调用执行绑定到blur事件的所有函数,包括浏览器的默认行为.可以通过返回false来防止触发 ...

  6. (八)树控件(Tree Control),标签控件(tab control)

    树控件 基于对话框创建工程 // 01_TreeCtrlDlg.cpp : 实现文件 // #include "stdafx.h" #include "01_TreeCt ...

  7. Python 通过文件名批量移动文件

    Python 通过文件名批量移动文件 https://stackoverflow.com/questions/28913088/moving-files-with-wildcards-in-pytho ...

  8. 利用简单的有限状态机(FSM)来实现一个简单的LED流水灯

    有限状态机,(英语:Finite-state machine, FSM),又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型. 有限状态机是指输出取决于过去 ...

  9. c 判断一个字符是否为空格

    #include <stdio.h> #include <wctype.h> int main () { wchar_t c; ; wchar_t str[] = L" ...

  10. php 一段 shmop

    $size = 1024*1024; $shm_key = ftok(__FILE__, 't'); $shm_id = shmop_open($shm_key, "c", 064 ...