Menyiapkan pengujian beban dengan Artillery.io

Saya baru-baru ini mulai menulis tes pengujian beban menggunakan alat artileri. Saya biasa menulis tes untuk K6, jadi saya akan berbicara tentang keuntungan artileri dibandingkan K6, dan juga menulis skrip langkah demi langkah untuk menyiapkan proyek dari awal.





Langkah 1. Instalasi

npm install -g artillery@latest
      
      



Karena kami tidak hanya perlu melacak metrik, tetapi juga untuk memastikan bahwa server mengirimkan jawaban yang benar, kami juga memasang plugin untuk membandingkan hasil yang diharapkan dengan yang diterima:





npm i artillery-plugin-expect
      
      



Langkah 2. Buat konfigurasi

URL target, lingkungan

File konfigurasi pengujian beban adalah semua yang perlu kita lakukan untuk menjalankan pengujian:





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

Keuntungan utama artileri adalah pengaturan uji coba pertama yang sangat mudah. Tidak perlu menulis ulang tes dalam format yang ditentukan untuk K6, tidak perlu menulis file bat untuk menjalankan beberapa tes dan menyimpan hasilnya ke folder terpisah. Cukup dengan mengkonfigurasi satu file.





Artileri bekerja dengan node.js, sehingga skrip startup dapat dimasukkan ke package.json.





Anda dapat mengimpor variabel dari file cvs, mengambil variabel dari hasil.





Laporan dengan grafik dan grafik ditambahkan dalam satu perintah dan termasuk dalam versi gratis artileri.








All Articles