Apache JMeter性能测试软件测试

JMeter4.0更新内容

2018-02-28  本文已影响180人  Yuan_Jie
等了这么久,20180210,终于有较大的更新。无论是从 UI 还是功能优化,都让人耳目一新。下面我们就详细看下具体变化。

原文地址:http://jmeter.apache.org/changes.html
下载地址:apache-jmeter-4.0.zip

重要更新

主要变更

JMeter 现在支持 JAVA 9.

新的Boundary Extractor元素可以提供更好的元素提取性能

image

新的JSON Assertion元素可用于 JSON 响应的断言。

image

JMS Point-to-Point 样例增加了read,browser,clear选项。

image

将许多测试元素的最佳选项已设置为默认选中内容,如:

image image

Loop controllerForEach Controller会使用jm<Name of your element>__idx来暴露循环的遍历次数,可以像下面的方式来使用一个名为 MyLoopControllerLoop Controller:

${__jm__MyLoopController__idx}

详见Bug 61802.

Cookies 在录制过程中,会展示在View Results Tree中。之前他们总是显示为空。

Response Assertion允许定制断言信息和请求数据。

image

UX 提升

JMeter 现在默认使用Darcula LAFUI样式。

Wokbench 已经被从 UI 中去掉,你可以使用Test PlanNon Test Elements的子元素来添加对应 Workbench 中的功能。

image

菜单样式将最常用元素调整为快速进行操作。

image

HTTP(S) Test Script Recorder 允许在录制时,定制更加人性化的 transactions的名称。

image

UX样式还有以下提升:

image

函数

新函数 __digest 用户快速提升 SHA-XXX,MDX Hash 计算:

${__digest(MD5,Apache JMeter 4.0 rocks !,,,)}

返回0e16c3ce9b6c9971c69ad685fd875d2b

新函数 __dateTimeConvert 提供两种时间格式的快速转换:

${__dateTimeConvert(01 Jan 2017,dd MMM yyyy,dd/MM/yyyy,)}

返回01/01/2017

新函数 changeCase提供字符在大写、小写、驼峰式之间的转换:

${__changeCase(Avaro omnia desunt\, inopi pauca\, sapienti nihil,UPPER,)}

返回AVARO OMNIA DESUNT, INOPI PAUCA, SAPIENTI NIHIL

新函数__isVarDefined__isPropDefined 用于测试属性和变量是否可用。

${__isPropDefined(START.HMS)}

返回 true

${__isVarDefined(JMeterThread.last_sample_ok)}

返回 true

编码和插件开发

如果你不想样例在测试结果中出现,可以调用SampleResult#setIgnore()

JavaSamplerContext 替代在AbstractJavaSamplerClient,有新的方法用于快速的插件开发。

JMeter 现在发布 Maven 源和 JavaDoc在Maven repository中。

插件可以注册监听事件,当收到 TestPlan 的开启/关闭状态通知时。

实时报告和 Web 报告

InfluxDB backend listener支持通过使用TAG_来定制化 tags,详见Bug 61794.

在 Web 报告中 responseTime分布图更加精细。

一些 BUG 修复也被集成在报告模块中,详见Bug 61900Bug 61956Bug 61899。图表中 Latency Vs RequestResponse Time Vs Request 不会超过1000RPS,详见Bug 61962

JMeter 环境配制

JMeter 的启动脚本用于 JVM设置的被放在了单独的文件中(Unix 中是bin/setenv.sh,Windows 中是bin\setenv.bat),在启动时会被调用。这样,启动脚本再也不用编辑了。

优化调整

public Enumeration<JMeterTreeNode> children()
上一篇下一篇

猜你喜欢

热点阅读