ForEach Jmeter控制器 - 如何提取许多变量并将其分配给一个用户

时间:2016-08-08 09:31:40

标签: jmeter

您好我需要提取分配给一个用户的所有文档并将id写入csv文档。

通常它是一个包含许多数字的表,

用户:docID的 用户:docID2 等。

我使用正则表达式提取器迭代表,并使用后处理器beanshell将其写下来。但是,一次只分配一个docID。

我需要一次提取所有这些(约30个)

1 个答案:

答案 0 :(得分:1)

我建议避免使用Regular Expression Extractor组件,并将Beanshell用于所有内容。类似的东西:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import java.util.List;
import java.util.ArrayList;

import java.io.IOException;
import java.io.PrintWriter;

import org.apache.jmeter.threads.JMeterContextService;


String prevResponse = JMeterContextService.getContext().getPreviousResult().getResponseDataAsString();

allMatches = new ArrayList();  // this was edited!
String regex = "yourRegexHere";
try {
    Matcher m = Pattern.compile(regex, Pattern.UNICODE_CASE).matcher(prevResponse);
    while (m.find())
        allMatches.add(m.group());
} catch (Exception e1) {
    // do someting
}
String myCSVfilePath = "home/username/Desktop/File.csv";

try {
    PrintWriter pw = new PrintWriter(new FileOutputStream(myCSVfilePath));
    for (String str : allMatches)
        pw.println("ACCT_ID:" + str);
    pw.close();
} catch (Exception e2) {
    // do someting
}

这应该获得所有正则表达式匹配并将其写入.csv文件。