Ich habe kürzlich angefangen, Lasttest-Tests mit dem Artillerie-Tool zu schreiben. Früher habe ich Tests für K6 geschrieben, daher werde ich über die Vorteile der Artillerie gegenüber K6 sprechen und ein schrittweises Skript schreiben, um ein Projekt von Grund auf neu einzurichten.
Schritt 1. Installation
npm install -g artillery@latest
Da wir nicht nur die Metriken verfolgen müssen, sondern auch sicherstellen müssen, dass der Server die richtige Antwort sendet, installieren wir auch ein Plugin, um das erwartete Ergebnis mit dem empfangenen zu vergleichen:
npm i artillery-plugin-expect
Schritt 2. Erstellen Sie die Konfiguration
Ziel-URL, Umgebung
Die Lasttest-Konfigurationsdatei ist alles, was wir tun müssen, um die Tests auszuführen:
config:
target: "https://yourapp.com/api"
environment , target url:
config:
target: "https://bestapp.com/api"
environments:
dev:
target: "https://bestapp.dev.com/api"
qa:
target: "https://bestapp.qa.com/api"
artillery . : duration – ; arrivalRate – , ; ramptTo – ; name - .
phases:
- duration: 30
arrivalRate: 1
rampTo: 20
name: test1
target url, , environment, .
:
plugins:
expect: {}
username password:
- get:
url: "/auth"
auth:
user: username
pass: password
header:
- post:
url: "/auth"
headers:
Authorization: “Basic secretKey”
3.
scenarios. , (GET, POST, PUT, DELETE .), url endpoint, body json, .
:
scenarios:
- name: "My first test"
flow:
- post:
url: "/endpoint1"
json:
id: value
expect:
- statusCode: 200
- contentType: json
- equals:
- respMessage: "OK"
equals , .
4.
:
artillery run yourConfig.yml
scripts package.json .
-e <env> - environment,
--quiet – ,
-o result.json – .
html
:
artillery report result.json
K6
Der Hauptvorteil der Artillerie ist die sehr einfache Einrichtung des ersten Testlaufs. Keine Notwendigkeit, Tests in dem für K6 definierten Format neu zu schreiben, keine Notwendigkeit, eine Bat-Datei zu schreiben, um mehrere Tests auszuführen und die Ergebnisse in einem separaten Ordner zu speichern. Es reicht aus, eine Datei zu konfigurieren.
Artillerie arbeitet mit node.js, sodass das Startskript in package.json eingefügt werden kann.
Sie können Variablen aus einer CVS-Datei importieren und Variablen aus dem Ergebnis entnehmen.
Der Bericht mit Grafiken und Diagrammen wird in einem Befehl hinzugefügt und ist in der kostenlosen Version der Artillerie enthalten.