Télécharger des scripts et fichiers de données k6
Chaque test k6 sur LoadFocus s'exécute à partir d'un script que vous écrivez. La section Script Configuration sur la page du nouveau test k6 est l'endroit où vous téléchargez ce script, ainsi que tous les fichiers de données qu'il lit au moment de l'exécution.
Ce dont vous avez besoin
- Un script de test k6, écrit en JavaScript (
.js) ou TypeScript (.ts). C'est le seul fichier obligatoire. - Des fichiers de données, si votre script lit des données externes. Un CSV de comptes utilisateurs ou un JSON de payloads sont les cas les plus courants.
Télécharger vos fichiers
Ouvrez New k6 Test et faites défiler jusqu'à Script Configuration. Vous pouvez soit glisser vos fichiers dans la zone de téléchargement, soit cliquer sur Upload k6 Scripts & Files pour les parcourir.
Téléchargez le script et ses fichiers de données ensemble. Ils se retrouvent dans le même répertoire lors de l'exécution du test, donc un script qui lit users.csv le trouve juste à côté de lui.
Types de fichiers pris en charge
| Extension | Usage typique |
|---|---|
.js | Votre script de test k6 |
.ts | Un script de test TypeScript |
.csv | Données en lignes, comme des comptes ou des termes de recherche |
.json | Payloads structurés ou fixtures |
.txt | Données en texte brut |
.env, .properties | Valeurs de configuration que votre script lit |
Lire un fichier de données depuis votre script
k6 lit les fichiers avec open(), et le fichier se trouve à côté de votre script, donc un chemin relatif suffit. Chargez les données une seule fois dans l'étape d'init plutôt qu'à chaque itération, afin que chaque utilisateur virtuel les partage :
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 conserve une seule copie des données en mémoire pour tous les utilisateurs virtuels. Sans elle, chaque utilisateur virtuel analyse sa propre copie, ce qui consomme de la mémoire que vous préféreriez consacrer à la charge.
Comment les fichiers se comportent entre les moteurs
Un test avec suffisamment d'utilisateurs virtuels s'exécute sur plus d'un moteur k6. Chaque moteur reçoit les mêmes fichiers téléchargés, donc chacun possède sa propre copie de vos données.
Cela importe lorsque vos données ne doivent pas être réutilisées. Si chaque ligne représente un compte ou un coupon à usage unique, deux moteurs peuvent choisir la même ligne, car aucun ne sait ce que l'autre a déjà pris. Lorsqu'une valeur doit être consommée exactement une fois, faites en sorte que le script la demande à un endpoint que vous contrôlez plutôt que de la lire depuis un fichier.
Après le téléchargement
Vos fichiers sont listés sous la zone de téléchargement, où vous pouvez supprimer ceux que vous avez ajoutés par erreur et en télécharger un autre. Une fois le script en place, configurez vos utilisateurs virtuels, la durée et les emplacements de test, puis démarrez le test.