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 测试的工具或方法,请多多指教。

最新文章

  1. 使用MATLAB对图像处理的几种方法(下)
  2. NOIP2010 题解
  3. 【WP 8.1开发】一键锁屏
  4. iOS阶段学习第四天笔记(循环)
  5. linux 的 磁盘操作
  6. Balanced Binary Tree
  7. hdu 1035 (usage of sentinel, proper utilization of switch and goto to make code neat) 分类: hdoj 2015-06-16 12:33 28人阅读 评论(0) 收藏
  8. YARN环境搭建 之 一:CentOS7.0系统配置
  9. 什么是比特币(bitcoin)
  10. Python设计模式——工厂方法模式(FactoryMethod)
  11. C# gridview分頁導出excel
  12. 添加站点图标: 为SAE上的WordPress站点添加自己的Favicon
  13. 前端编程提高之旅(六)----backbone实现todoMVC
  14. BOM 浏览器对象模型_window 对象的常见 window.属性_window.方法
  15. Docker跨主机网络联通之etcd实现
  16. javap反汇编的使用
  17. hbase之createTable完整的netty实现执行流程
  18. python网页爬虫开发之三
  19. linux学习笔记-conky配置开机启动方法
  20. Python 学习 第四篇:动态类型模型

热门文章

  1. Swagger保姆级教学
  2. 作业八——非确定的自动机NFA确定化为DFA
  3. 顺丰科技面试-java开发
  4. java线程基础巩固---如何实现一个自己的显式锁Lock
  5. Appium Desired Capabilities-Android Only
  6. anguar @input绑定的属性变化
  7. solr不是自启动,添加code失败
  8. eclipse调试断点
  9. BZOJ1101——莫比乌斯函数&amp;&amp;入门
  10. learning docker steps(9) ----- arm linux docker 安装