Performance Testing Service (PTS) では、Postman (JSON)、HTTP Archive (.har)、YAML (.yml)、および Swagger (.json) スクリプトをシナリオにインポートし、それらをパフォーマンス テスト用の PTS ネイティブ形式に変換できます。 PTS は、1 秒あたりのリクエスト数 (RPS) パフォーマンス テストモードを提供し、テスト パラメーターのリアルタイム調整を可能にし、個々の API のパフォーマンス メトリックを追跡できます。
スクリプト
HTTP または HTTPS アプリケーションのパフォーマンス テストを実施するために、PTS は Postman (JSON)、HTTP Archive (.har)、YAML (.yml)、および Swagger (.json) を含むさまざまな形式のスクリプトから重要なリクエスト情報を抽出し、パフォーマンス テスト シナリオに適した API フィールドに変換できます。
Postman スクリプト フィールドと PTS API フィールド間のマッピング
Postman スクリプト フィールド | PTS API フィールド | |
info.name | セッションの名前。 | |
item[] | API。 | |
item[0].name | API の名前。 | |
item[0].request.method | リクエストメソッド。 | |
item[0].request.url.raw | リクエストされた URL。 | |
item[0].request.header | key | ヘッダーのキー。 |
value | ヘッダーの値。 | |
item[0].request.body | POST リクエストの場合、リクエストの Content-Type ヘッダーは、受信側で本文データがどのように解釈または表示されるかを指定します。 |
Postman (JSON) スクリプトでは、複数の info.name オブジェクトが同じレベルに存在できますが、item オブジェクトは info.name オブジェクトと同じレベルに存在できません。
Postman (JSON) スクリプトからコレクションをエクスポートするには、バージョン 2.1 を使用します。
Postman (JSON) スクリプトでは、GET、POST、PUT、および DELETE HTTP メソッドのみを指定できます。
Postman (JSON) スクリプトでは、ファイルモードを指定できません。
Postman (JSON) スクリプトでは、ファイルのアップロードまたはバイナリの Content-Type ヘッダーを指定できません。
YAML スクリプト フィールドと PTS API フィールド間のマッピング
YAML スクリプト フィールド | PTS API フィールド |
Relations | セッション。 |
Relation | セッション。 |
Disabled | セッションが無効になっているかどうかを指定します。 |
ID | セッションの ID。 |
Name | セッションの名前。 |
Nodes | ノード。 |
Name | ノードの名前。 |
NodeId | ノードの ID。 |
NodeType | ノードのタイプ。 |
Config | ノード設定。 |
YAML スクリプト フィールド | PTS API フィールド |
chain | API ノード |
wait | 思考時間ノード。 |
condition | 条件付きジャンプ ノード。 |
dam | ランデブー ポイント。 |
dataInit | データ構成ノード。 |
dataStore | データ エクスポート ノード。 |
dataDefine | データ コマンド ノード。 |
delay | 遅延ノード。 |
repeatBegin | ループ コマンド開始ノード。 |
repeatEnd | ループ コマンド終了ノード。 |
ifBegin | 条件ベースのコマンド開始ノード。 |
ifEnd | 条件ベースのコマンド終了ノード。 |
カテゴリ | YAML スクリプト フィールド | PTS API フィールド |
chain | accessId | プロトコルの ID。 |
beginStep | 仮想ユーザー モードでのセッションの仮想ユーザーの初期数と、RPS モードでの API の 1 秒あたりの初期リクエスト数 (RPS) を指定します。 | |
checkPoints | チェックポイント。
| |
endStep | 仮想ユーザー モードでのセッションの仮想ユーザーの最大数と、RPS モードでの API の最大 RPS を指定します。 | |
headers | HTTP ヘッダー設定。
| |
method | リクエスト メソッド。有効な値: GET、POST、PUT、および DELETE。 | |
postActions | テスト後のアクション:
| |
body | リクエスト本文。このフィールドは、POST または PUT メソッドでのみ使用できます。
| |
preActions | 事前テスト アクション: | |
protocol | プロトコル タイプ。デフォルト: http。 | |
redirectCountLimit | リクエストをリダイレクトするかどうかを指定します。値 0 は、リクエストがリダイレクトされないことを示します。値 10 は、リクエストがリダイレクトされることを示します。 | |
timeoutInMilliSeconds | タイムアウト期間。単位: ミリ秒。 | |
condition | defaultAction | デフォルト アクション。有効な値:
|
actions | 追加された条件。 | |
dam | type | ランデブー ポイント タイプ。
|
target | 負荷レベル。 | |
datalnit | definitions | キーと値のペア構造。カスタム パラメーターに対応します。 |
references | 参照されるファイル パラメーター。
| |
dataDefine | definitions | キーと値のペア構造。 |
dataStore | dataSize | データ エクスポート レベル。 |
dataConfig | データ エクスポート設定。
| |
delay | duration | 遅延時間。単位: ミリ秒。 |
ifBegin | ifEndNodeId | 条件ベースのコマンドの終了ノードの ID。 |
operator | 演算子。 | |
param | 式。 | |
value | 比較値。 | |
ifEnd | ifBeginNodeId | 条件ベースのコマンドの開始ノードの ID。 |
repeatBegin | repeatEndNodeId | ループ コマンドの終了ノードの ID。 |
repeatEnd | repeatBeginNodeId | ループ コマンドの開始ノードの ID。 |
repeatCount | 繰り返し回数。 | |
wait | type |
|
base | type が FIXED に設定されている場合は定数遅延値、type が NORMAL に設定されている場合は基準遅延、type が UNIFORM に設定されている場合は平均遅延を指定します。 | |
scope | type が FIXED に設定されている場合は無関係、type が NORMAL に設定されている場合は基準値を中心とした変動範囲、type が UNIFORM に設定されている場合は分散。 |
Swagger スクリプト フィールドと PTS API フィールド間のマッピング
Swagger スクリプト フィールド | PTS API フィールド |
paths.key | リクエストされた URL。 |
paths.key.key | リクエスト メソッド。 |
paths.key.key.parameters | リクエスト パラメーターまたはリクエスト本文。 |
definitions | リクエスト本文で使用されるスキーマ。 |
tags[0].name | セッションの名前。 |
手順
[シナリオの作成] ページで、スクリプト タイプを選択し、スクリプトをアップロードして、[OK] をクリックします。
スクリプトがインポートされると、[PTS シナリオの作成] ページで、スクリプトの内容が対応する API パフォーマンス テスト情報に変換されていることがわかります。
有効なスクリプト タイプは、Postman (JSON)、HTTP Archive (.har)、YAML (.yml)、および Swagger (.json) です。パフォーマンス テスト シナリオには 1 つのスクリプトのみをインポートできます。シナリオ構成を保存する前に、別のスクリプトをアップロードしてインポートされたスクリプトを上書きできます。
PTS にインポートできるスクリプトとスクリプト フィールドの説明については、スクリプト を参照してください。PTS でサポートされていないタイプまたはプロトコルを含むスクリプトはインポートしないでください。準拠していないスクリプトをアップロードすると、PTS コンソールにエラー ダイアログ ボックスが表示されます。