Jmeter4.0来袭

本文转自 SQA Lab 软件质量报道 侵删

由于SOA架构、微服务架构的发展和面向接口编程越来越多,JMeter不仅应用在性能测试上,而且在接口测试上也深受欢迎,它也能够和JUnit集成,完成更专业的接口测试。

现在JMeter发布了4.0版本,无论在核心功能还是在用户体验上都有较大的提升。

1. 核心改进

JMeter现在支持JAVA 9。

新的Boundary Extractor更容易、更快地完成提取

新的JSON Assertion(断言)可用于JSON响应的测试验证。

全新的Precise Throughput Timer(精确的吞吐量计时器)可用于产生定制的恒定吞吐量的泊松分布(Poisson Distribution,二项式的随机概率分布)。

JMS点对点采样器(Point-to-Point sampler)得到改善,增加了 “Read、browser、clear” 新的选项。

现在在许多测试单元上可以选择最佳属性值,以确保最佳实践就是默认值:

新添加的If Controller(判定控制器)现在使用性能最佳选项的缺省表达式。

如果使用的语言提供了缓存已编译的脚本,则新添加的JSR223 Test Element现在默认使用这种特性。

循环控制器和ForEach控制器现在可以将它的当前迭代命名为__jm __ <您的单元的名称> __ idx这种格式的变量,例如,您可以像下面那样定义自己的循环控制器MyLoopController:

 $ {__ jm__MyLoopController__idx}

录制过程中,查看结果树中现在会显示Cookie,这里以前总是显示为空(见Bug 61802)。

响应断言(Response Assertion)现在允许您自定义断言消息并对请求数据(Request Data)进行验证。

Jmeter作为一款开源的测试工具,既能做接口测试又能做性能测试,相比于loadrunner而言又非常小巧轻便,主要是免费,能够根据具体测试需要定制测试方式,无论对于大神还是小白来说都是非常好用的。有对Jmeter感兴趣的小伙伴可以加群680748947,我这里有一节免费的Jmeter视频教程可以送给大家。

2. 用户体验(UX)改进

JMeter默认使用Darcula LAF

工作台已从UI中删除,现在可以直接使用Non Test Elements(非测试组件)作为测试计划的子项。

菜单UX已得到改进,可以更方便地使用大多数使用过的组件。

HTTP(S)Test Script Recorder(测试脚本录制)现在能够以更人性化的方式录制脚本,如命名各种交易(transactions)。

UX的改进,其中最值得一提的是:

模块控制器(Module Controller)会提醒用户至少需要一个控制器

功能助手对话框(Function Helper Dialog,帮助使用和测试功能的向导)在许多方面得到了改进。

开关控制器(Switch Controller)能够去掉字符串前后空格,以避免测试计划命名出现问题

下面就是一个完整的JMeter 4.0界面: