k6 Skripte und Datendateien hochladen
Jeder k6 Test auf LoadFocus läuft mit einem Skript, das Sie selbst schreiben. Im Abschnitt Script Configuration auf der Seite für den neuen k6 Test laden Sie dieses Skript hoch, zusammen mit allen Datendateien, die es zur Laufzeit liest.
Was Sie benötigen
- Ein k6 Testskript, geschrieben in JavaScript (
.js) oder TypeScript (.ts). Dies ist die einzige erforderliche Datei. - Datendateien, falls Ihr Skript externe Daten liest. Eine CSV-Datei mit Benutzerkonten oder eine JSON-Datei mit Payloads sind die häufigsten Fälle.
Ihre Dateien hochladen
Öffnen Sie New k6 Test und scrollen Sie zu Script Configuration. Sie können Ihre Dateien entweder per Drag-and-Drop in den Upload-Bereich ziehen oder auf Upload k6 Scripts & Files klicken, um sie auszuwählen.
Laden Sie das Skript und seine Datendateien gemeinsam hoch. Sie landen beim Testlauf im selben Verzeichnis, sodass ein Skript, das users.csv liest, die Datei direkt neben sich findet.
Unterstützte Dateitypen
| Extension | Typische Verwendung |
|---|---|
.js | Ihr k6 Testskript |
.ts | Ein TypeScript Testskript |
.csv | Zeilendaten, zum Beispiel Konten oder Suchbegriffe |
.json | Strukturierte Payloads oder Fixtures |
.txt | Reine Textdaten |
.env, .properties | Konfigurationswerte, die Ihr Skript liest |
Eine Datendatei aus Ihrem Skript lesen
k6 liest Dateien mit open(), und die Datei liegt direkt neben Ihrem Skript, sodass ein relativer Pfad genügt. Laden Sie die Daten einmal in der Init-Phase statt bei jeder Iteration, sodass jeder virtuelle Benutzer sie gemeinsam nutzt:
import { SharedArray } from 'k6/data';import http from 'k6/http';const users = new SharedArray('users', function () {return open('./users.csv').split('\n').slice(1).filter(Boolean).map((line) => {const [username, password] = line.split(',');return { username, password };});});export default function () {const user = users[Math.floor(Math.random() * users.length)];http.post('https://example.com/login', {username: user.username,password: user.password,});}
SharedArray hält eine einzige Kopie der Daten im Speicher für alle virtuellen Benutzer. Ohne diese Funktion parst jeder virtuelle Benutzer seine eigene Kopie, was Speicher kostet, den Sie lieber für die Last verwenden würden.
Wie sich Dateien über mehrere Engines hinweg verhalten
Ein Test mit ausreichend vielen virtuellen Benutzern läuft auf mehr als einer k6 Engine. Jede Engine erhält dieselben hochgeladenen Dateien, sodass jede ihre eigene Kopie Ihrer Daten hat.
Das ist wichtig, wenn Ihre Daten nicht wiederverwendet werden dürfen. Wenn jede Zeile ein Konto oder einen Gutschein zur einmaligen Verwendung darstellt, können zwei Engines dieselbe Zeile auswählen, da keine weiß, was die andere bereits verwendet hat. Wenn ein Wert genau einmal verbraucht werden muss, lassen Sie das Skript ihn stattdessen von einem Endpunkt anfordern, den Sie selbst kontrollieren, statt ihn aus einer Datei zu lesen.
Nach dem Hochladen
Ihre Dateien werden unterhalb des Upload-Bereichs aufgelistet. Dort können Sie versehentlich hinzugefügte Dateien entfernen und durch eine neue ersetzen. Sobald das Skript vorhanden ist, konfigurieren Sie Ihre virtuellen Benutzer, die Dauer und die Teststandorte und starten dann den Test.