我正在使用JMeter 5.0模式无GUI和OpenJDK运行时环境Corretto-8.322.06.1 (build 1.8.0_322-b06)
jmeter.bat -f -Ghilos=1 -Gsubida=1 -Gciclo=1 -GDatosCajero=DT_TramasATMPropios.csv -Guser.classpath=trama.jar -n -LERROR -t Cajeros_distribuidos.jmx -l result.csv -Djmeter.save.saveservice.output_format=csv -Ljmeter.engine=DEBUG
误差参数
-Guser.classpath=file.jar
在jmeter.log中全局获取参数
INFO o.a.j.JMeter: Setting全局属性:user.classpath=trama.jar
Jmeter.log
误差
ERROR . a.j.u.beanshellinterpreter:调用bsh方法出错:eval源文件:内联求值:' ' import cajeros . receicionparametrocajeros;导入java.util.concurrent.ThreadLoc…":类型化变量声明:Class: receicionparametroscjeros在命名空间中找不到
在非gui JMeter命令中使用属性,但是当我使用
属性时,它不接受.jar。-Juser.classpath=file.jar
如果它接受它,它也接受rego全局变量-G
全局使用-G进行分布式测试
我无法使用以下虚拟简单类重现您的问题:
package Cajeros;
public class RecepcionParametrosCajeros {
public RecepcionParametrosCajeros() {
}
public String foo() {
return "foo";
}
}
导入jar:
jmeter -Juser.classpath=trama.jar
和调用
import Cajeros.RecepcionParametrosCajeros;
String foo = new RecepcionParametrosCajeros().foo();
log.info("Got string " + foo);
所以再次检查文件是否存在于JMeter的"bin"目录
更多信息:
- JMeter的类路径
- 通过命令行重写属性
还要注意以下建议:
- 始终使用最新版本的JMeter,考虑迁移到JMeter 5.5
- 从JMeter 3.1开始,建议使用JSR223测试元素和Groovy语言编写脚本。它也可以解决你的问题,因为Beanshell不是100% Java兼容,你可能会面临泛型,内部类,Java 5之后引入的功能等问题。