2016-08-08 23 views
0

Hallo Ich muss alle Dokumente extrahieren, die einem Benutzer zugeordnet sind, und Id in CSV-Dokument schreiben.ForEach Jmeter controller - Wie kann ich viele Variablen extrahieren und einem Benutzer zuweisen

Im Allgemeinen ist es eine Tabelle mit vielen Zahlen,

Benutzer: DocID Benutzer: docID2 etc ..

ich itterate die Tabelle mit dem regulären Ausdruck Extraktor und schreiben Sie es auf mit Postprozessor Beanshell . Es wird jedoch immer nur eine docID zugewiesen.

Ich brauche sie alle auf einmal zu extrahieren (ca. 30)

+0

Bitte fügen Sie den Code, den Sie zu der Frage geschrieben haben, hinzu – AesSedai101

Antwort

1

ich vermeiden, mit Regular Expression Extractor Komponente vorschlagen würde, und verwenden Sie Beanshell für alles. So etwas wie:

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 
} 

Dies sollte alle Regex-Übereinstimmungen erhalten und sie in Ihre .csv-Datei schreiben.