Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 参数化JMeter HTTP请求路径_Java_Gradle_Jmeter - Fatal编程技术网

Java 参数化JMeter HTTP请求路径

Java 参数化JMeter HTTP请求路径,java,gradle,jmeter,Java,Gradle,Jmeter,我正在为一个服务创建JMeter测试,该服务的上下文根可能会根据主机/环境而改变。我正在尝试将上下文根映射到HTTP请求路径中,如下所示: 我创建了一个用户定义的变量,如下所示: 我正在使用运行测试,这就是我将上下文根作为命令行参数传递的方式: -PcontextRoot=/my-context-root 但是我总是得到404响应,因为JMeter没有像预期的那样用参数值替换变量 有关于我做错了什么的线索吗?提前感谢。查看JMeter Gradle插件部分似乎支持“正常”,因此您应该使用-

我正在为一个服务创建JMeter测试,该服务的上下文根可能会根据主机/环境而改变。我正在尝试将上下文根映射到HTTP请求路径中,如下所示:

我创建了一个用户定义的变量,如下所示:

我正在使用运行测试,这就是我将上下文根作为命令行参数传递的方式:

-PcontextRoot=/my-context-root
但是我总是得到404响应,因为JMeter没有像预期的那样用参数值替换变量

有关于我做错了什么的线索吗?提前感谢。

查看JMeter Gradle插件部分似乎支持“正常”,因此您应该使用
-J
参数而不是
-p

J、 --jmeterproperty{argument}={value},定义其他JMeter属性

因此,将您的
-PcontextRoot=/my context root
替换为
-JcontextRoot=/my context root

参考资料:


您还可以省略此用户定义的变量,并将您的请求直接放到HTTP请求采样器路径(或更好的选择)

谢谢您的回答。你关于用-J替换-P的建议一开始没有起作用,因为gradle不知道-J标志。但是我得到了你的想法,我修改了build.gradle文件,将contextRoot参数添加到JMeter参数列表中,现在我可以通过-P标志传递属性:
jmUserProperties=[“contextRoot=“+System.getProperty”(“contextRoot”),在你关于省略用户定义变量的第二个建议中,
,我做到了,而且效果很好。谢谢