0

我在 CentOS 上通过 Taurus (bzt) 运行 jMeter。我的第一个调用是需要从返回的 JSON 中获取访问令牌的登录。当我在我的 Mac 上运行这个测试时,一切都按预期工作。但是当我在我的 CentOS 服务器上运行它时,每次尝试从 JSON 路径中提取数据时都会出现以下错误。我已经尝试重新安装插件。我也尝试过直接通过 jMeter 运行它。在这两种情况下,我仍然有同样的问题。知道是什么导致了这个错误吗?

2016/06/08 14:34:05 警告 - com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor:提取失败 com.jayway.jsonpath.PathNotFoundException:提取的数组在 com.atlantbh.jmeter.plugins.jsonutils 处为空.jsonpathextractor.JSONPathExtractor.process(JSONPathExtractor.java:104) 在 org.apache.jmeter.threads.JMeterThread.runPostProcessors(JMeterThread.java:776) 在 org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:489 ) at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:410) at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:241) at java.lang.Thread.run(Unknown Source )

4

2 回答 2

0

如果您使用Taurus很长一段时间,它可能会使用以前下载的 JMeter 2.13,它还没有 JSON Path PostProcessor。因此,以下命令可以提供帮助:

  1. 将 Taurus 升级到最新版本:

    sudo pip instal --upgrade bzt
    
  2. 删除以前的 JMeter 安装:

    rm -rf ~/.bzt/jmeter-taurus
    
  3. 正常运行测试 - Taurus 应该下载 JMeter 3.0

如果您无法升级 JMeter 和/或 Taurus - 请改用JSON Path Extractor插件

于 2016-06-09T04:13:33.503 回答
0

原来我的问题是版本不匹配。大约一个月前,当我开始使用 jMeter 时,我下载了最新最好的(稳定的)jMeter。在我下载 jMeter 大约一周后,他们发布了 3.0。直到一个多星期后,我才开始设置我的 perf 服务器。当我在服务器上安装 jMeter 时,它得到了 3.0,但我的 Mac 有 2.13。所以我试图在我的 3.0 服务器上运行用 2.13 创建的 jmx 文件。我从来没有遇到任何版本不匹配错误,就像我上面分享的那样。在我升级我的 Mac 并通过 3.0 重写我的 jmx 文件后,一切正常。

于 2016-06-15T21:21:11.667 回答