Einrichten von Lasttests mit Artillery.io

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.








All Articles