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