5

我将 jmeter 配置为运行使用 Azure Windows 虚拟机分发的测试。所有机器都使用Windows。

测试使用 GUI 模式成功运行,我可以将结果保存在 master 但是当我尝试从控制台jmeter -n -t plan.jmx -r运行测试时,控制台说:

rconfigure() 方法 java.rmi.MarshalException 中的错误:错误编组参数;嵌套异常是:java.io.NotSerializableException: org.apache.jmeter.JMeter$ListenToTest

我已经配置了所有虚拟机(服务器和客户端),例如:

Java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
Jmeter version 2.13
Jmeter Plugins 1.31

任何想法可能是什么问题?谢谢

编辑

我将 Java 版本降级到 1.7,现在错误说

rconfigure() 方法 java.rmi.MarshalException 中的错误:错误编组参数;嵌套异常是:java.io.NotSerializableException: org.apache.jmeter.threads.RemoteThreadsListenerTestElement

Jmeter插件可以解决问题的原因吗?

编辑 - 固定

我将插件版本从 1.31 更改为 1.21,现在可以使用了!!!。

但是我认为,我只是在这里猜测,当我从 GUI 运行测试然后在控制台上运行测试时会发生错误。可能 GUI 会打开一个套接字或类似的东西,不确定。

无论如何,这种组合有效

Java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
Jmeter version 2.13
Jmeter Plugins 1.21 (only Standard Version)
4

2 回答 2

6

检查 jmeter.log (在 bin 文件夹内)文件中的日志,如果你有这样的错误:

2018-09-17 14:41:32,097 ERROR o.a.j.e.ConvertListeners: Error replacing class org.apache.jmeter.threads.RemoteThreadsListenerTestElement by wrapper: class org.apache.jmeter.threads.RemoteThreadsListenerWrapper java.rmi.RemoteException: Cannot start. yout-pc-name is a loopback address.

然后通过给出以下命令启动 jmeter:

./jmeter -Djava.rmi.server.hostname=your_ip_address
于 2018-09-17T12:52:44.917 回答
4

我一直在努力:

NotSerializableException: org.apache.jmeter.threads.RemoteThreadsListenerTestElement

我的问题是:

Caused by: java.net.BindException: Address already in use (Bind failed)

此错误信息没有出现在标准输出中,只是出现在日志文件中。

于 2017-11-20T12:40:41.320 回答