私は最近、砲兵ツールを使用して負荷テストテストを書き始めました。以前はK6のテストを作成していたので、K6に対する砲兵の利点について説明し、プロジェクトを最初から設定するためのステップバイステップのスクリプトも作成します。
ステップ1.インストール
npm install -g artillery@latest
メトリックを追跡するだけでなく、サーバーが正しい回答を送信することを確認する必要があるため、プラグインをインストールして、期待される結果を受信した結果と比較します。
npm i artillery-plugin-expect
手順2.構成を作成する
ターゲットURL、環境
負荷テスト構成ファイルは、テストを実行するために必要なすべてです。
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
砲兵の主な利点は、最初のテスト実行のセットアップが非常に簡単なことです。K6用に定義された形式でテストを書き直す必要はなく、複数のテストを実行して結果を別のフォルダーに保存するためにbatファイルを書き込む必要もありません。1つのファイルを構成するだけで十分です。
砲兵はnode.jsで動作するため、起動スクリプトをpackage.jsonに挿入できます。
cvsファイルから変数をインポートし、結果から変数を取得できます。
グラフとチャートを含むレポートは1つのコマンドで追加され、砲兵の無料バージョンに含まれています。