JMeter4.0更新内容

等了这么久,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

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

  • 新增If Controller控制器使用最佳性能选择的默认表达式。
image
image
  • 新增JSR223测试元素,在语言使用支持的情况下,默认缓存编写的脚本。

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样式还有以下提升:

  • Module Controller会提示用户最少需要有一个Controller
  • Function Helper Dialog(帮助使用和测试功能的说明)在多个位置有提升。
image
  • Swich Controller会自动trim字符串前后的空格,减少问题出现。
  • Test Plan在运行前会保存。

函数

新函数 __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),在启动时会被调用。这样,启动脚本再也不用编辑了。

优化调整

  • 线程组的Start timeEnd date被移除,详见Bug 61549
  • 分布式测试中,Hold模式被删除。使用其它替代和更有效的模式
  • 针对第三方插件,方法org.apache.jmeter.gui.tree.JMeterTreeNode为合并至 Java9已被废弃(Bug 61529)
public Enumeration<JMeterTreeNode> children()
  • tearDown Thread Group 在默认情况下,会停止并关闭测试。如果你不想这样做,去掉 Test Plan中的Run tearDown Thread Groups after shutdown of main threads on Test Plan勾选。详见Bug 61656
  • sampleresult.getbytes.headers_size属性和sampleresult.getbytes.body_real_size属性被废弃。详见Bug 61587
  • JMeter 现在会在每次运行时保存测试计划,这个行为可以通过save_automatically_before_run来设置。详见Bug 61731
  • Workbench元素被废弃,你可以直接添加Test PlanNon Test Element的子元素来直接添加。当加载一个包含这种元素的 Test Plan时,JMeter 会增加将**Mirror Server, Property Display ** 和 HTTP(s) Test Script Recorder添加为直接子元素。对于任何元素,它会创建一个 Test Fragment元素,调用 Workbench Test Fragment 并将元素移入
  • 下面的类被废弃(org.apache.jmeter.functions.util.ArgumentEncoder, org.apache.jmeter.functions.util.ArgumentDecoder),详见Pull request #335
  • JMS Point-to-Point样例中,设置超时为0时,表示无穷大的时间。未设置时,表示超时为2000ms。详见Bug 61829
  • 当断言用于不同的范围时,它们会被从最外围一个至最内部的一个。详见Bug 61846
  • JMeter 现在默认启动语言为英语。这是因为缺少很多种类的语言翻译支持。可以通过修改 jmeter 和 jmeter.bat(或最好用 setenv.sh/setenv.bat)中的JVM_ARGS系统设置来调整。我们也很高兴,如果你能贡献支持语言的翻译工作。
  • Switch Controller现在默认会 trim掉无用的空格,减少问题出现。详见Bug 61771
  • JMeter JVM 堆设置从-Xms512m -Xmx512m调整为-Xms1g -Xmx1g
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容

  • 主要文体来自 CDNS:https://www.cnblogs.com/ceshisanren/p/5639895...
    Amano阅读 10,960评论 3 27
  • 在使用Jmeter进行接口的性能测试时,由于Jmeter 是JAVA应用,对于CPU和内存的消耗比较大,所以,当需...
    燕京博士阅读 4,158评论 0 16
  • 人一旦拖沓久了,就会活的死气沉沉,时常处于半睡眠状态。两年前的我就是这个样子,吃饭、上班、睡觉是生活的主要内容。一...
    小引哥哥阅读 387评论 2 3
  • 黄庭坚我居北海君居南,鸿雁传书谢不能桃李春风一杯酒,江湖夜雨十年灯持家但又四立壁,治病不蕲三折肱想得读书头已白,隔...
    setfocus阅读 413评论 0 0