JMeter 从正则表达式中提取所有值并存储在 csv 中

JMeter extract all values from regular expression and store in a csv

我正在尝试从多个正则表达式的正则表达式提取器中提取所有提取的值,并将其存储为 csv 格式。

我在每次提取值后都尝试了每个控制器,但是控制器一次只允许一个变量。作为数据准备和输入到另一个脚本的一部分,我需要在单个 csv 中提取多个变量。知道我怎样才能达到这个要求。谢谢

在正则表达式提取器中使用 "Match No." 作为 -1 来获取多个值。然后使用每个控制器获取值,如 Eachvariable_1、Eachvariable_2 等。或者,您可以直接获取值,如 var_1、var_2。这里var是正则表达式创建的变量名

然后,使用 JSR223 post 处理器并将提取的值写入 csv。 希望这有帮助。

此外,如果您使用 For Each Controller,请注意以下几点:-

JMeter will expose the looping index as a variable named jm__idx. So for example, if your Loop Controller is named FEC, then you can access the looping index through ${__jm__FEC__idx}. Index starts at 0

  1. 在正则表达式提取器
  2. 之后添加JSR223 PostProcessor
  3. 将以下代码放入"Script"区域:

    def csv = new File("my.csv")
    1.upto(vars.get("foo_matchNr") as int, {
        csv << vars.get("foo_$it") << System.getProperty("line.separator")  
    })
    
  4. my.csv 替换为所需的 CSV 文件名称,将 foo 替换为正则表达式提取器中定义的变量的引用名称

  5. 一旦你运行你的脚本,你将在 JMeter 的 "bin" 文件夹中看到一个新的 CSV 文件,其中包含来自正则表达式提取器的值,每个值在一个新行上

更多信息: