大多数人都使用 Jmeter 作过性能测试,可是在使用的过程当中你会发现,它不只能够作性能测试和功能测试,还可以知足基本的接口测试需求。html
相比其余工具,Jmeter 入门门槛较低,安装也比较方便,根据本身的须要能够扩展一些插件,总之一句话: 优势太多了。运维
####那么问题来了,为何要作接口 diff 测试?工具
####下面就介绍下经过 Jmeter 进行 diff 测试的步骤:性能
1.添加测试计划测试
2.添加 Threads插件
3.添加 Sampler-HTTP 请求code
旧版本的接口:interfaceV1
htm
4.针对 Sampler interfaceV1 添加后置处理器 - BeanShell PostProcessor,如图:接口
5.添加Sampler-HTTP请求ci
新版本的接口: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 官方博客