2010-10-22 5 views
6

Ich möchte JMeter verteilte Tests machen. Es wurde im Handbuch gesagt, dass ich zuerst auf entfernten Knoten jmeter-server starten sollte, und dann sollte ich jmeter.config aktualisieren und jmeter auf einem Master-Knoten ausführen.Wo sollte ich auf einer Remote-Workstation eine CSV-Konfigurationsdatei für verteilte JMeter-Tests ablegen?

Ich habe alle diese Schritte gemacht. Mein Testplan beinhaltet die Arbeit mit CSV-Config-Dateien. Wenn ich nur von 1 (Master) Knoten aus teste - dann funktioniert alles wie ein Zauber. Aber wenn ich verteilte Tests versuche, scheitern alle Tests. Einige Untersuchungen zeigten, dass entfernte Knoten Anfragen ohne Ersetzung von ${..}-ähnlichen Parametern senden. Anfragen aussehen

POST-Daten: 5 | 0 | 6 | http: //host.com/portal/ | 67D1C612DCF291DCD0F71AD15E404F37 | host.ui.client.services.LoginService | Login | java.lang.String/2004016611 | $ {ADMIN_LOGIN} | 1 | 2 | 3 | 4 | 3 | 5 | 5 | 5 | 6 | 6 | 1 |

Es ist offensichtlich, dass Remote jmeter-server die CSV-Datei nicht finden kann. Wo soll ich es hinstellen?

P.S: Ich habe Maschinen mit verschiedenen Betriebssystemen (Windows 7 und Ubuntu 10.04).

+0

Haben Sie eine praktikable Lösung gefunden? – BlackGaff

Antwort

2

Geben Sie einen vollständigen Pfad und Dateinamen in Ihre 'CSV Data Set Config' Komponente ein, z. c:\loadtest\config.csv und stellen Sie sicher, dass Sie die CSV-Datei an der angegebenen Stelle speichern.


Die Komponenten manual erklärt auch die folgenden:

Relative Dateinamen werden in Bezug auf den Pfad des aktiven Testplan aufgelöst.

So sollte es möglich sein, die Datei in das gleiche Verzeichnis wie die Testplan-Datei zu legen. Dies sollte sowohl unter Linux als auch unter Windows funktionieren.

+1

Und was ist mit Ubuntu? Ist es möglich, Tests an Maschinen mit verschiedenen Betriebssystemen gleichzeitig durchzuführen? – Roman

+0

Wissen Sie, ich habe gerade versucht, den absoluten Pfad zu setzen, wie Sie es empfohlen haben, und ja, es funktioniert. Aber es gibt ein Problem mit Linux/Windows-Unterschieden. – Roman

+0

Ich habe ein zusätzliches Bit über relative Pfade hinzugefügt. –

1

Jeder Verweis auf eine Datendatei setzt voraus, dass eine solche Datei in den entsprechenden Knoten im angegebenen Pfad vorhanden ist. Wenn Sie beispielsweise Ihre CSV-Dateien in C: \ data gespeichert haben, sucht der Testplan beim verteilten Ausführen des Testplans nach der Datendatei in C: \ data des Knotens (des Slaves).

In der Tat, wenn Sie 10 Slave-Maschinen verwenden, müssen Sie C: \ Data-Ordner in all diesen 10 Maschinen haben.

Es ist nicht notwendig, den Testplan zu kopieren.

5

Der einfachste Weg zur Lösung des Problems mit mehreren Betriebssystemen besteht darin, die CSV-Datei auf allen Testmaschinen in das Jmeter BIN-Verzeichnis zu stellen und nicht auf den Pfad in der CSV Data Set Config-Komponente zu verweisen.

0

EDITED weil die docs Referenz falsch war - ich meine eigene Antwort :) verbrannt wurde

alte Frage, aber ich lief in dieser Frage und die Antworten sind hier widersprüchlich.

Ist ein relativer Pfad in das Verzeichnis bin/oder in das Verzeichnis des aktuellen .jmx-Testskripts aufgelöst?

Antwort: Es ist nur das Verzeichnis des Testskripts.Aus der Dokumentation:

Relative Dateinamen werden mit Bezug auf den Weg des aktiven Testplan aufgelöst. Absolute Dateinamen sind auch unterstützt, aber beachten Sie, dass sie unwahrscheinlich sind, in Remote-Modus arbeiten, es sei denn, der Remote-Server hat die gleiche Verzeichnisstruktur. Wenn dieselbe physische Datei auf zwei verschiedene Arten referenziert wird - z. csvdata.txt und ./csvdata.txt - dann werden diese als verschiedene Dateien behandelt. Wenn das Betriebssystem nicht zwischen Groß- und Kleinschreibung unterscheidet, wird csvData.TXT auch separat geöffnet.