在jmeter

时间:2016-07-19 16:29:22

标签: jmeter

我正在运行一个ForEach控制器,我希望控制器在其下运行服务,以便更改纬度和经度。示例 -

输入变量前缀:latitude

输出变量名称:Latitude

我想运行控制器来改变"纬度"和经度"。我试过这个 -

输入变量前缀:latitude, longitude

但它不起作用。有没有其他方法可以在ForEach控制器中传递两个变量?

2 个答案:

答案 0 :(得分:10)

很遗憾,您无法使用ForEach控制器执行此操作,但您可以使用__V()__counter()功能组合进行操作。

例如,您有4个JMeter变量:

latitude_1=40.7128° N
longitude_1=74.0059° W
latitude_2=32.0853° N
longitude_2=34.7818° E

并且您希望使用ForEach Controller迭代它们。在这种情况下,相关配置将是:

  • 输入变量前缀:latitude
  • 输出变量名称:任何有意义的内容,即current_latitude

您可以使用以下表达式引用匹配的经度值:

${__V(longitude_${__counter(,)})}

演示:

Combine Variables

有关上述表达式来自何处的详细说明,请参阅Here’s What to Do to Combine Multiple JMeter Variables

答案 1 :(得分:0)

我遇到了同样的问题,在Google上找到了很多最好的解决方案, 没有成功。我正在分享解决方法(并不是说这是一个很好的解决方案)-

  1. 在ForEach Controller上提及您的输入变量名称(ex-inputVar)和输出变量名称(outputVar)

(让我们说http://website.com/folder_A/folder_B/123_latitude/456_longitude),您喜欢注意这两个:纬度和经度

  1. 使用正则表达式提取器

已创建变量的名称:inputVar

表达式:http://website.com/folder_A/folder_B/(。*)

模板:$ 1 $

比赛编号:-1 //(是-1,这将为您提供完整的分组)

  1. 使用正则表达式处理(只需将其搜索出来) 因此,对于上述示例:-

http://website.com/folder_A/folder_B/ $ {outputVar}

  1. http://website.com/folder_A/folder_B/ $ {outputVar} URL将能够打印/在您的响应代码中提供纬度和经度