2016-07-29 11 views
0

Ich habe eine CSV-Datei, die mehrere Einträge von Mitarbeiternamen enthält. Nun möchte ich diese CSV-Datei in meinem jmx-Skript in Jmeter lesen. Es sollte in einer Weise sein, dass jeder Thread meines jmx-Skripts den unterschiedlichen Wert aus der CSV-Datei liest. Und dann möchte ich diese Zellenwerte in der HTTP-Anfrage verwenden.Wie verwendet man Zellenwerte von .csv-Datei in Jmeter?

Ich benutze Bean Shell Pre-Prozessor dafür. Aber es ist keine Hilfe für me.The Code unten ist, die ich geschrieben habe, denn es

import java.io.FileNotFoundException; 
import java.io.FileReader; 
import java.io.IOException; 

CSVReader reader = new CSVReader(new FileReader(C:/Users/manoj/Downloads/View_All_names.csv)); 
String[] row; 
String name; 
while ((row = reader.readNext()) != null) 
      { 
          name = row[1]; 

      } 

Der Wert „name“ ich will, es benutzen in meinem HTTP-Request then.DO Ich habe dieses Attribut zu erwähnen " Name "im Testplan ??

Jede Hilfe wird geschätzt.

Antwort

1

Zunächst einmal sind Sie von __CSVRead() Funktion bewusst? Sie sollten es direkt an der Stelle verwenden können, an der Sie den Wert aus der CSV-Datei benötigen, ohne eine einzelne Codezeile schreiben zu müssen.


Nur für den Fall, dass Sie noch aus irgendeinem Grund Beanshell wollen.

  1. Sie müssen den Pfad in eine CSV-Datei mit Anführungszeichen
  2. Sie müssen umgibt den resultierenden Wert in JMeter Variablen für eine spätere Wiederverwendung schreiben.
  3. Woher haben Sie den obigen Code? Wenn CSVReader für com.helger.commons.csv.CSVReader von ph-commons-6.2.4.jar steht - Sie brauchen es ein wenig anders zu bedienen, wie die Verwendung List statt Array von Strings nämlich:

    import com.helger.commons.csv.CSVReader; 
    
    CSVReader reader = new CSVReader(new FileReader("C:/Users/manoj/Downloads/View_All_names.csv")); 
    List row; 
    String name; 
    int counter = 1; 
    
    while ((row = reader.readNext()) != null) { 
        name = row.get(1).toString(); 
        vars.put("name_" + counter, name); 
        counter++; 
    } 
    

    Nach Beanshell PreProcessor seine Arbeit beendet werden Sie in der Lage sein, um Variablen Werte zugreifen wie:

    • ${name_1}
    • ${name_2}
    • ${name_3}
    • usw.

vars steht für eine Instanz von JMeterVariables Klasse, die/Schreibzugriff auf die JMeter Variablen im Umfang lesen bietet. Weitere Informationen zu Beanshell-Skripten in JMeter-Tests finden Sie im Artikel How to Use BeanShell: JMeter's Favorite Built-in Component.

0

Alles, was Sie brauchen, ist eine CSV Data Set Config Komponente zu setzen, und es wird Einträge für Sie lesen. Jede Zeile für jeden Thread (Benutzer). In der Komponente müssen Sie den Variablennamen angeben, den Sie später in Ihrem Testplan verwenden, sowie den Pfad zu Ihrer CSV-Datei.

CSV Data Set Config

Wenn Sie Variablennamen setzen wie "name" (w quotes/out) Sie $ verwenden {Name} in Anfragen/Sampler, wo Sie es verwenden möchten.

enter image description here