如何在JMeter的JDBC请求采样器中使用FOrEach循环和正则表达式提取器

如何在JMeter的JDBC请求采样器中使用FOrEach循环和正则表达式提取器,jmeter,Jmeter,我已经配置了到mysql的JDBC连接。 我还添加了JDBC采样器和侦听器。 但我想用正则表达式提取器提取细节,然后进入foreach循环。 在ForEach循环中,我想执行一个HTTP请求 我的结果窗口如下所示: empid empname empDesgination 10 lee jrtester 10 lee MURAEE 123 lee MURAEE 1234567890 leeee MURALEE

我已经配置了到mysql的JDBC连接。
我还添加了JDBC采样器和侦听器。
但我想用正则表达式提取器提取细节,然后进入foreach循环。
在ForEach循环中,我想执行一个HTTP请求

我的结果窗口如下所示:

empid   empname empDesgination
10          lee     jrtester
10          lee     MURAEE
123         lee     MURAEE
1234567890  leeee   MURALEE
1234567890  lee     MURALEE
请解释以下几点:

  • 如何编写正则表达式提取器(即正则表达式)
  • 如何从中提取
  • 我应该在ForEach循环输入变量和输出变量中输入什么

正如所提供的信息一样,我已经研究过JDBC,但它没有提取数据并进入循环。你能解释一下我们写了什么正则表达式来提取上述数据吗。其中,我们将Http请求采样器的引用名称命名为
${VAR_out}
。请用Regex、ForEach和Http采样器向我解释整个流程


请给我提供一个关于JDBC采样器的简单示例,该采样器使用正则表达式提取器提取数据并进入ForEach循环。

要编写正则表达式,请查看这个奇妙的站点:Jmeter使用PERL作为正则表达式,您可以在这里找到所有需要了解的信息。另外,请查看有关如何设置控制器的说明。如果要循环遍历每个结果,则需要一个负匹配号(请参阅手册)

一开始可能会有点混乱。在
ForEach输入变量
中,在
引用名称
下输入您在正则表达式提取器中声明的变量。在输出字段中,输入采样器的变量引用

大概是这样的:

Regex controller:
      Reference Name: VAR_in

For Each:  
    Input: VAR_in
    Output: VAR_out

Sampler:
    reference ${VAR_out}

要编写正则表达式,请访问这个奇妙的站点:Jmeter使用PERL作为正则表达式,您可以在这里找到所有需要了解的内容。另外,请查看有关如何设置控制器的说明。如果要循环遍历每个结果,则需要一个负匹配号(请参阅手册)

一开始可能会有点混乱。在
ForEach输入变量
中,在
引用名称
下输入您在正则表达式提取器中声明的变量。在输出字段中,输入采样器的变量引用

大概是这样的:

Regex controller:
      Reference Name: VAR_in

For Each:  
    Input: VAR_in
    Output: VAR_out

Sampler:
    reference ${VAR_out}

我最近解决了这个问题,请尝试以下步骤:

  • 创建HTTP请求以提取响应数据
  • 创建正则表达式提取器作为HTTP请求的子级。并设置以下
    • 设置引用名称(该名称稍后将成为脚本中的变量名称)
    • 设置正则表达式(这里有一些很好的帮助:)
    • 设置模板(再次查看上面的url以获取模板信息)
    • 将匹配号设置为-1(这允许您将所有捕获的结果保存到一个变量)
  • 现在,在HTTP示例下面创建一个ForEach控制器,将“输入变量前缀”设置为您给正则表达式提取器的引用名称,将“输出变量名称”设置为您喜欢的任何名称(类似于tmpvar),并选中“在编号之前添加”u”复选框
  • 在ForEach控制器下创建一个HTTP请求,并使用varibale${tmpvar}设置服务器或路径,这将为正则表达式提取器找到的每次命中运行HTTP请求

  • 我最近解决了这个问题,请尝试以下步骤:

  • 创建HTTP请求以提取响应数据
  • 创建正则表达式提取器作为HTTP请求的子级。并设置以下
    • 设置引用名称(该名称稍后将成为脚本中的变量名称)
    • 设置正则表达式(这里有一些很好的帮助:)
    • 设置模板(再次查看上面的url以获取模板信息)
    • 将匹配号设置为-1(这允许您将所有捕获的结果保存到一个变量)
  • 现在,在HTTP示例下面创建一个ForEach控制器,将“输入变量前缀”设置为您给正则表达式提取器的引用名称,将“输出变量名称”设置为您喜欢的任何名称(类似于tmpvar),并选中“在编号之前添加”u”复选框
  • 在ForEach控制器下创建一个HTTP请求,并使用varibale${tmpvar}设置服务器或路径,这将为正则表达式提取器找到的每次命中运行HTTP请求

  • 谢谢,这正是我要找的汉克斯,这正是我要找的