如何在Jmeter中将变量从sampler1响应传递到sample2请求

时间:2018-09-18 14:03:31

标签: java jmeter

我正在寻找针对how to get an array response of jdbc request in jmeter?中提供的同类情况的解决方案,但需要提供用户定义的变量。

假设我想传递 <mat-select style="width:10px"> ,而我的用户定义变量为A1 = dan。我在用户定义的变量中定义它。

name = 'dan'

然后在http采样器中将变量传递为if(x==name) then {vars.put("Y") }

有没有办法做到这一点?

感谢您的帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

您不需要通过User Defined Variables声明任何内容,如果由于A1而导致变量Sampler1,则您应该能够以${A1}的身份访问它在Sampler2

JMeter Variables across samplers

此外,您不应更新用户定义变量的值,因为它不会在其他任何地方传播:

  

请注意,测试计划中的所有UDV元素-无论它们在何处-都会在开始时进行处理。

所以我可以看到2个用例:

  1. 您的2个采样器位于同一Thread Group中。在这种情况下,您无需执行任何操作,其他采样器通常可以访问变量
  2. 您的2个采样器位于不同的线程组中。在这种情况下,您将需要使用__setProperty() function将变量转换为JMeter属性。可以使用__P() function在其他线程组中访问该属性。如果您的测试逻辑较为复杂,即除非该变量可用,否则第二线程组不应运行Sampler2-在这种情况下,您将需要Inter-Thread Communication插件(可以使用JMeter Plugins Manager安装)