【问题标题】:JMeter - Could not find the TestPlan classJMeter - 找不到 TestPlan 类
【发布时间】:2020-04-12 14:41:04
【问题描述】:

我有一个简单的水槽设置,带有一个 HTTP 源和一个将 POST 请求有效负载写入文件的接收器。 (此完整设置在 Linux 机器上)。

之后,我的任务是对设置进行性能测试。所以我决定使用JMeter(这是第一次,我正在使用它)。

所以我在我的 windows 机器上创建了一个测试计划(使用 GUI),然后将其复制到 linux 环境中的 jmeter/bin 文件夹中。

当我尝试运行它时 -
java -jar ApacheJMeter.jar -n -t flume_http_test.jmx

我收到此错误 错误 - jmeter.JMeter:NonGUIDriver java.lang.RuntimeException 中的错误:找不到 TestPlan 类!

有什么建议吗?

提前致谢

【问题讨论】:

    标签: linux jmeter flume


    【解决方案1】:

    我今天在使用 JMeter 2.13 时遇到了同样的问题。当我使用菜单中的此条目保存它时,我收到了一个在非 GUI 模式下接受的 jmx 文件:

    【讨论】:

    • 我也遇到了这个问题,这就是解决方案!
    • 是的,这适用于我的 jmeter 版本 2.13
    • 它也不起作用。 NonGUIDriver java.lang.RuntimeException 中仍然出现错误:无法配置以下远程引擎:[127.0.0.1]
    【解决方案2】:

    我也有同样的错误信息。创建测试计划并在 Windows 机器上以 GUI 模式成功试运行后,我将 JMX 文件上传到 Linux 服务器以在命令行模式下运行。

    经过大量搜索和弄乱我发现这是因为我将脚本的测试计划名称保留为默认的“测试计划”!?例如,当我将其更改为“我的测试计划”,然后保存并上传到 Linux 服务器时,它运行成功。

    【讨论】:

      【解决方案3】:
      1. 在 GUI 模式下打开 JMeter,打开您创建的 .jmx 测试计划或创建新的测试计划,尝试在 gui 模式下运行测试计划。它应该在尝试运行之前提示您保存,保存 .jmx。
      2. 退出 GUI 模式。
      3. 打开命令提示符,导航到 jmeter 文件夹中的 bin 文件
      4. 输入jmeter -n -t "C:/Username/location of the .jmx file" 命令 这应该会按预期运行而不会出现错误。

      这就是我解决问题的方法。

      【讨论】:

        【解决方案4】:

        您可能错误地保存了测试计划。 尝试打开你的 flume_http_test.jmx 我猜它只包含 http 请求元素而没有测试计划元素。 尝试使用选择的测试计划元素保存您的测试。 http://joxi.ru/E2pvg4GSeLblrY

        【讨论】:

          【解决方案5】:

          在 testplan.jmx 文件中包含:

          <?xml version="1.0" encoding="UTF-8"?>
          <jmeterTestPlan version="1.2" properties="2.8" jmeter="2.13 r1665067">
            <hashTree>
              <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
              ...
              </TestPlan>
          

          包含预定义变量。但有时当您像“另存为”一样保存 testplan.jmx 时,可能会错过此部分。对于我的情况,@Marged 的​​回答帮助我:“文件 > 将测试计划另存为...”

          【讨论】:

            【解决方案6】:

            使用 bin/jmeter 代替命令行:

            【讨论】:

            • UBIK_INGENIERIE 对我不起作用。我还尝试在 JMETER_HOME/lib 目录中添加我的 flume.jar。
            【解决方案7】:

            用户 @Marged 建议在 .jmx 上执行“另存为”也对我有用。 我在“另存为”之前和之后对 .jmx 进行了比较,以显示使这项工作正常进行的确切更改。见下图。 实际上,我仅通过在图像中添加第二个更改来使其工作。具体来说,我添加了以下行作为 .jmx 的 &lt;ThreadGroup&gt; 的最后一个子标记。

            <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2021-05-06
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多