我有一个关于在Jmeter中使用http请求的问题
我创建了一个json请求。我试图传递我在之前步骤中使用的参数(我使用vars.put(“Expected_Offer_Name”)保存它。
我想使用vars.get(“Expected_Offer_Name”)作为参数,但Jmeter拒绝使用此参数。
但是当我使用“$ {Expected_Offer_Name}”时,它运作正常。 1.有什么区别?在这两种情况下我想传递一个字符串参数。 他们是使用变种的方法,而是取而代之。
[] [不工作]
[] [工作]
他们是否可以在json的http请求中使用vars.get
答案 0 :(得分:1)
您无法在HTTP请求中使用变量。
vars
是仅用于脚本的特殊变量,仅在以下情况下可用:
在调用脚本之前,会设置一些变量。请注意,这些是JSR223变量 - 即它们可以直接在脚本中使用。
还使用right way
添加变量确保脚本不使用$ {varName}的任何变量,因为缓存只会获取$ {varName}的第一个值。而是使用: vars.get( “varName中”)
在其他位置,您需要使用${varName}
答案 1 :(得分:0)
将您的vars.get("Expected_Offer_Name")
包裹到__groovy() function中:
${__groovy(vars.get("Expected_Offer_Name"),)}
您可以在测试计划中的任何位置使用JMeter功能。
注意:您需要JMeter version at least 3.1才能使用__groovy
功能