• jmeter 5.0版本更新说明(个人做个记录)


    变化

     
    此页面仅详细说明了当前版本中所做的更改。 
    先前更改的历史记录中详细介绍了早期更改
     

    5.0版

    摘要

    新的和值得注意的

    核心改进

    在许多领域,休息支持得到了改善

    • 多部分/表单数据请求现在适用于PUTDELETE ......
    • 现在也可以发送带附加文件的JSON Body
    • 在“参数”选项卡中输入的参数现在在正文中使用,而不是被忽略

    在分布式测试中,JMeter现在自动为引线主机和端口添加线程名称前缀,这使得HTML报告中的线程计数正确无需任何其他配置,因为之前需要

    XPath 2.0在一个名为XPath2提取器的新元素中得到支持,提供更简单的XML命名空间处理,最新的XPath语法和更好的性能

    升级到HTTP Components 4.6最后的API已经完成,JMeter不再依赖于此库的弃用API

    现在可以以更简单的方式控制循环中断和循环切换到下一次迭代。这在流控制操作结果状态操作处理程序元素中 可用

    Controller现在导出一个包含其当前索引的变量,名为__jm __ <元素的名称> __ idx因此,例如,如果您的While Controller名为WC,那么您可以通过$ {__ jm__WC__idx}访问循环索引

    脚本/调试增强功能

    搜索功能已得到改进,允许您在搜索结果中迭代树,并通过下一个 / 上一个 / 替换 / 替换/查找按钮 进行必要的替换

    在“查看结果树”中,请求和响应标头/正文明确分开,以便您更好地检查请求和响应。您还可以在所有选项卡中搜索特定值

    录制功能已得到改进,以便在浏览器中导航时提供始终位于顶部的弹出窗口,允许您在应用程序中导航时命名事务。

    您现在可以从菜单文件  →  重新启动重新启动JMeter

    实时报告和Web报告

    报告功能已得到增强

    每秒新的图表总事务数已添加到HTML Web报告中

    现在可以通过sample_variables随时间绘制可用作JMeter变量的自定义指标这些自定义指标图表将显示在“ 自定义图表”部分的“HTML报告”中

    每秒点击次数图表现在考虑了嵌入式资源

    在实时报告中,发送和接收的字节现在发送到后端(InfluxDB或Graphite)

    功能

    引入了一个新函数__threadGroupName来获取ThreadGroup名称。

    不兼容的变化

    • 从JMeter 5.0开始,当使用默认的HC4实现时,JMeter将在每个线程组迭代时重置HTTP状态(SSL状态+连接)。如果您不想要此行为,请设置httpclient.reset_state_on_thread_group_iteration = false
    • 从JMeter 5.0开始,就上述注释而言,不推荐使用https.use.cached.ssl.context并且不再使用它。
    • 从JMeter 5.0开始,当使用CSV输出时,子结果现在也将输出到CSV文件。要恢复到先前的行为设置jmeter.save.saveservice.subresults = false,请参阅 错误62470 错误60917 错误62550
    • 从JMeter 5.0开始,CSS / JQuery Extractor已重命名为CSS Selector Extractor
    • 从JMeter 5.0开始,Test Action已重命名为Flow Control Action

    改进

    HTTP采样器和测试脚本记录器

    • 错误62260 - 改善休息支持。供稿人:Ubik Load Pack(ubikloadpack.com支持)
    • 错误58757 - HTTP请求:更新了HttpComponents的弃用方法以使用httpclient-4.5.X的最后一个API。供稿人:Ubik Load Pack(ubikloadpack.com支持)
    • 错误62212 - 记录器:通过在所有窗口上方提供弹出窗口来改进UX,以便在使用浏览器时更改事务名称和暂停。供稿人:Ubik Load Pack(ubikloadpack.com支持)
    • 错误62248 - HTTP请求:在参数选项卡中输入的参数应该在正文中使用而不是被忽略。部分基于由Blazemeter贡献的Artem Fedorov补丁。
    • 错误60015 - Multipart / form-data仅适用于使用HTTPClient4的POST,而它应该用于PUTDELETE,......由Ubik Load Pack提供(ubikloadpack.com支持)
    • 错误62317 - HTTP(S)测试脚本记录器:允许将ResultSaver添加到创建的采样器

    其他采样器

    • Pull请求#376 - JUnitSampler将除测试用例中的断言失败之外的异常记录为警告。供稿人:Davide Angelocola(fisglobal.com上的davide.angelocola)
    • 错误62244 - 将测试操作重命名流控制操作
    • 错误62302 - 将JSR223采样器移动到菜单中。由orimarko在gmail.com提供
    • 错误62595 - SMTPSampler不允许配置在握手时使用的SSL / TLS协议。供稿人:Felipe Cuozzo(fmail.com的felipe.cuozzo)

    控制器

    • 错误62237 - While Controller:导出包含当前迭代索引的变量。供稿人:Ubik Load Pack(ubikloadpack.com支持)

    听众

    • 错误62195 - 保存对文件的响应:改进组件和UI。供稿人:Ubik Load Pack(ubikloadpack.com支持)
    • 错误62209 - InfluxBackendListenerClient:如果错误代码和响应代码为空或正常,则必须发送第一个断言失败消息
    • 错误62269 - 错误62269 - 查看结果树:响应和请求选项卡应包含标题和正文选项卡。供稿人:Ubik Load Pack(ubikloadpack.com支持)
    • 错误62270 - 查看结果树:允许在请求标头,响应标头和请求正文中进行搜索。供稿人:Ubik Load Pack(ubikloadpack.com支持)
    • 错误62276 - InfluxDBBackendListenerClient / GraphiteBackendListenerClient:将已发送和已接收的字节添加到度量标准。供稿人:Ubik Load Pack(ubikloadpack.com支持)

    定时器,断言,配置,预处理器和后处理器

    • 错误62320 - 计数器:引用名称属性不清楚
    • 错误60991 - XPath Extractor:实现XPath 2.0。供稿人:Ubik Load Pack(ubikloadpack.com支持)
    • 错误62593 - 将CSS / JQuery Extractor重命名为CSS Selector Extractor。由orimarko在gmail.com提供

    功能

    国际化

    报告/仪表板

    • 错误62243 - 仪表板:选项“ --forceDeleteResultFile ”/“ - f ”选项删除“ -o ”选项引用的文件夹
    • 错误62367 - HTML报告生成器:每秒添加图表总事务数。主要由Martha Laks(laks.martha at gmail.com)提供
    • 错误62166 - 报告/仪表板:提供在JMeter仪表板中注册自定义图形和指标的功能。供稿人:Ubik Load Pack(ubikloadpack.com支持)
    • 错误62542 - 报告/仪表板:当图表为空时显示有关过滤器的更多信息。供稿人:Ubik Load Pack(ubikloadpack.com支持)
    • 错误62426 - 优化报告生成的性能。基于Allen(444104595,qq.com)的反馈
    • 错误62550 - 修改SubResult命名策略
    • 错误60917 - 使用嵌入式资源下载进行负载测试:每秒点击次数不考虑下载的资源

    一般

    • 错误62684 - 分布式测试:自动添加到线程名称前缀以标识引擎。供稿人:Ubik Load Pack(ubikloadpack.com支持)
    • 错误62155 - 搜索功能:使搜索文本字段获得焦点
    • 错误62156 - 搜索功能:区分匹配搜索的节点和包含与搜索匹配的子节点的节点
    • 错误62234 - 搜索/替换功能:增强UX并添加替换/下一个/上一个/替换和查找功能。供稿人:Ubik Load Pack(ubikloadpack.com支持)
    • 错误62238 - 添加切换到Current Loop的下一次迭代的功能。供稿人:Ubik Load Pack(ubikloadpack.com支持)
    • 错误62239 - 添加打破当前循环的功能
    • 错误61635 - 添加菜单以重新启动JMeter
    • 错误62470 - CSV输出:当jmeter.save.saveservice.subresults = true时,启用子结果的记录供稿人:Ubik Load Pack(ubikloadpack.com支持)
    • 错误62473 - 设置“ saveservice_properties ”具有反直觉行为
    • 错误62354 - 正确计算和使用每个用户的第二个单位(由gffagot05在gmail.com报告)
    • 错误62700 - 介绍jsr223.init.file以允许在JMeter启动时调用JSR-223脚本
    • 错误62128 -尝试猜测JMETER_HOME正确,当jmeter.bat从别的目录下的批处理文件调用。由logox01提供(logox01 at gmx.at)
    • Pull请求#386 - 为RMI密钥库创建脚本添加参数支持。供稿人:Logan Mauzaize(t524467 at airfrance.fr)
    • 错误62065 - 使用Maven工件代替嵌入式模块JAF模块
    • 错误61714 - 更新实时结果文档
    • 请求#382 - 在文档中纠正错误。Perze Ababa报道(perze.ababa at gmail.com>)
    • 拉请求#392 - 纠正文档中的拼写错误。Aaron Levin报道
    • 拉请求#379 - 改进中文翻译。由XmeterNet提供

    非功能性变化

    • 拉请求#358, 拉请求#365, 拉请求#366, 拉请求#375 - 更新到最新的checkstyle(v8.8)。将Checkstyle扩展为src中的文件并进行测试 ; 修复新检查的文件。根据Graham Russell(graham at ham1.co.uk)的贡献
    • 错误62095 - 边界提取器中右边界参数的正确描述。供稿人:orimarko(orimarko at gmail.com)
    • 错误62113 - 更新到最新的Bouncycastle(v1.60)。基于Olaf Flebbe的贡献(来自apache.org的oflebbe)
    • 错误62171 - 删除.md5校验和并仅为源和二进制存档保留.sha512校验和
    • 更新为groovy-all-2.4.15(来自groovy-all-2.4.13)
    • 更新为asm-6.1(从6.1开始)
    • 更新为tika-core和tika-parsers 1.18(从1.17开始)
    • 错误62482 - 将文档同步到ForEachController的实现。基于orimarko(orimarko at gmail.com)的贡献
    • 错误62529 - 更新为httpclient-4.5.6(来自httpclient 4.5.5)并更新为freemarker-2.3.28(来自freemarker-2.3.23)。基于orimarko的补丁(orimarko在gmail.com)
    • 已更新至httpmime-4.5.6(来自httpmime-4.5.5)
    • 更新为咖啡因-2.6.2(来自咖啡因-2.6.1)
    • 已更新至cglib-nodep-3.2.7(来自cglib-nodep-3.2.6)
    • 更新为commons-dbcp2-2.4.0(来自commons-dbcp2-2.2.0)
    • 更新为commons-pool2-2.6.0(来自commons-pool2-2.5.0)
    • 更新为httpcore-4.4.10(来自httpcore-4.4.9)
    • 更新为httpcore-nio-4.4.10(来自httpcore-nio-4.4.9)
    • 更新到log4j-2.11.0(来自log4j-2.10.0)
    • 更新为ph-css-6.1.1(来自ph-css-6.0.0)
    • 更新为ph-commons-9.1.2(来自ph-commons-9.0.0)
    • 更新至rhino-1.7.10(来自+ rhino-1.7.7.2)
    • 更新为commons-lang3-3.8(来自commons-lang3-3.7)

    Bug修复

    HTTP采样器和测试脚本记录器

    • 错误62114 - HTTP(S)测试脚本记录器:客户端证书身份验证使用创建的第一个SSLManager。供稿人:Ubik Load Pack(ubikloadpack.com支持)
    • 错误61058 - HTTP请求:添加选项httpclient4.deflate_relax_mode以避免在缩小似乎无效的流时出现“ZLIB输入流的意外结束”。供稿人:Ubik Load Pack(ubikloadpack.com支持)
    • 错误43612 - HTTP PUT不支持请求参数。由Artem Fedorov(blazemeter.com上的artem.fedorov)实施,由BlazeMeter Ltd.提供。
    • 错误60190 - 无条件地POST添加Content-Type 供稿人:Ubik Load Pack(ubikloadpack.com支持)
    • 错误62462 - 提取 请求#387 - 再次授权SPNEGO中的凭据。
    • 错误58807 - 仅在线程组迭代时重置SSL状态(https.use.cached.ssl.context = false已损坏)
    • 错误62716 - 记录时,JMeter在使用承载令牌时从生成的标题管理器中删除授​​权

    其他采样器

    • 错误62235 - Java 9 - org.apache.jmeter.util.HostNameSetter的非法反射访问
    • 错误62464 - 设置JMS发布者采样器的开始和结束时间,即使初始化失败也是如此。
    • 错误62616 - FTPSampler:上传文件大小不计入sentBytes

    控制器

    听众

    • 错误62097 - 仅在新数据到达时更新聚合报告中的JTable。这样,行的选择将保持更长时间。
    • 错误62203 - Influxdb BackendListener客户端:将用户标记存储到注释和内部事务。供稿人:Sergey Batalin(mail.ru上的sergey_batalin)
    • 错误62251 - TextGraphiteMetricsSender在网络错误的情况下不会使丢失的连接失效
    • 错误60705 - 在移动列时修复聚合报表和朋友的标题。

    定时器,断言,配置,预处理器和后处理器

    • 错误61664 - HTTP授权管理器:摘要仅适用于旧版RFC 2069未实现RFC 2617供稿人:Ubik Load Pack(ubikloadpack.com支持)
    • 错误62252 - HTTP标头合并逻辑与文档不对应
    • 错误62554 - BoundaryExtractor:要检查的字段未重置
    • 错误62553 - 即使属性“Per thread user(User)”设置为TRUE,Random元素也可能返回相同的值
    • 错误62637 - 在计算同步计时器的延迟时考虑调度程序

    功能

    国际化

    • 错误62310 - 精确吞吐量计时器标签的法语翻译

    报告/仪表板

    • 错误62333 - 报告仪表板 - 当一个系列不包含任何值时,图形颜色逻辑错误。供稿人:Ubik Load Pack(ubikloadpack.com支持)
    • 错误62283 - 报告仪表板 - 当粒度<= 1天时,日期未在图表上正确显示
    • 错误62520 - 当我们将鼠标悬停在'Latency Vs Request'图表中的点时,工具提示文本应为'Median Latency'

    文档

    • 错误62211 - 修复HTTP请求服务器文档。由orimarko在gmail.com提供
    • 拉请求#388 - 修正错字。供稿人:Giancarlo Romeo(gmail.com的giancarloromeo)

    一般

    • 错误62107 - 当JM_LAUNCH包含空格时,JMeter无法在Windows下启动
    • 错误62110 - 损坏的JUnit类(由于缺少依赖性)会破坏JMeter菜单。供稿人:Ubik Load Pack(ubikloadpack.com支持)
    • 拉请求#377 - 文档的小修复。供稿人:Peter Doornbosch(luminis.eu的peter.doornbosch)
    • 错误62124 - 录制模板:默认情况下,添加更多排除项并使用“事务名称”
    • 错误62127 - 将文件名存储为String而不是FileEditor中的File。例如,在CSV数据集配置中使用时,这将阻止将文件名从Unix样式路径分隔符转换为Windows样式。
    • 错误56150 - 滚动菜单项时保持索引正确。
    • 错误62240 - 如果不能正确初始化,则SampleMonitor实现是TestBean
    • 错误62295 - 在复制多个元素的选择时更正元素的顺序。
    • 错误62397 - 使用JSON Path Tester时,不要在逗号处断行
    • 错误62281 - 防止MapProperty中的NPE。由belugabehr修补(dam6923 at gmail.com)
    • 错误62457 - 在用户手册中,UUID函数的示例是错误的。供稿人:helppass(hotmail.com上的onegaicimasu)
    • 错误 62478 - 在GUI函数帮助器中构造函数字符串时,在参数中转义逗号。报告由blue414(blue414在163.com)
    • 错误62463 - 当为分布式运行设置client.rmi.localport时,修复端口的使用
    • 错误62545 - 在RenderAsJSON中缩进JSON时,不要使用冒号作为“tab”字符串的一部分。
    • 部分 错误62637 -避免整数溢出具有非常大的价值在交易时TimerService#adjustDelay
    • 错误62683 - 当用户打开完全无效的测试计划时,错误对话框没有文本。

    谢谢

    我们感谢上面的bug和改进部分中提到的所有贡献者:

    • 格雷厄姆罗素(graham at ham1.co.uk)
    • 在gmail.com的orimarko
    • Davide Angelocola(fisglobal.com上的davide.angelocola)
    • Ubik Load Pack
    • Olaf Flebbe(来自apache.org的)
    • Peter Doornbosch(luminis.eu的peter.doornbosch)
    • logox01(logox01 at gmx.at)
    • Sergey Batalin(mail.ru的sergey_batalin)
    • XMeter
    • Imane Ankhila(在ahlane.net的iankhila)
    • jffagot05(gmail.com的jffagot05)
    • Perze Ababa(perze.ababa at gmail.com)
    • Martha Laks(来自gmail.com的laks.martha)
    • Logan Mauzaize(t524467 at airfrance.fr)
    • belugabehr(在gmail.com的dam6923)
    • Giancarlo Romeo(gmail.com的giancarloromeo)
    • helppass(hotmail.com上的onegaicimasu)
    • blue414(blue414 at 163.com)
    • 亚伦莱文
    • 艾伦(qq.com的444104595)
    • Felipe Cuozzo(fmail.com的felipe.cuozzo)
    • bangnab(gros上的ambrosetti.nicola)

    我们也感谢帮助我们改进JMeter的bug记者。

    如果我们遗漏了其他人,请道歉。

    已知问题和解决方法

    • Once Only控制器在线程组或循环控制器下正常运行,但其行为不一致(或明确指定)。
    • 绿色框左侧显示的数字是活动线程数/线程总数,线程总数仅适用于本地运行的测试,否则将显示0(参见 错误55510)。
    • 请注意,在某些Windows系统下,您可能会遇到以下警告:
      java.util.prefs.WindowsPreferences
      警告:无法在root 0处打开/创建prefs根节点Software  JavaSoft  Prefs
      x80000002。Windows RegCreateKeyEx(...)返回错误代码5。
      
      修复是以管理员身份运行JMeter,它将为您创建注册表项,然后您可以作为普通用户重新启动JMeter,您将不再有警告。
    • 您可能会遇到以下错误:
      java.security.cert.CertificateException:证书不符合算法约束
      如果您在具有SSL证书(本身或其信任链中的SSL证书之一)的网站上使用MD2(如md2WithRSAEncryption)或大小低于1024位的SSL证书运行HTTPS请求此错误与Java 8+中增强的安全性有关。 
      要允许您执行HTTPS请求,可以通过编辑Java jdk.certpath.disabledAlgorithms属性来降级Java安装的安全性。根据您的情况,删除MD2值或大小约束。 
      此属性在此文件中:
      JAVA_HOME / JRE / lib / security中/ java.security
      有关详细信息,请参阅 错误56357
    • 在Mac OSX下,由于镜像对数字的影响,聚合图表将显示错误的值。这是由于已知的Java bug,请参阅Bug JDK-8065373 。修复方法是使用JDK8_u45或更高版本。
    • 查看结果树可能无法在HTML呈现器下显示某些HTML代码,请参阅 错误54586这是由于已知的Java错误无法解析行/列属性中的“ px ”单位。请参阅Bug JDK-8031109 修复方法是使用JDK9 b65或更高版本。
    • 使用键盘进行JTable选择(SHIFT  +  向上/向下)在Mac OSX上完全无法使用Java 7。这是由于已知的Java错误JDK-8025126 修复是使用JDK 8 b132或更高版本。

      以上摘自官网文章,此处仅做记录

  • 相关阅读:
    4个小时实现一个HTML5音乐播放器
    一款好看+极简到不行的HTML5音乐播放器-skPlayer
    操纵浏览器的历史记录
    基于jQuery查找dom的多种方式性能问题
    你真的了解console吗?
    关于overflow:hidden和bfc
    jQuery插件开发
    深入浅出jsonp
    jQuery.extend 函数详解
    [转] Hibernate一级缓存、二级缓存
  • 原文地址:https://www.cnblogs.com/Nanaya/p/9796080.html
Copyright © 2020-2023  润新知