テストは、ロード テストを実行するためのテスト スクリプトと構成設定を指定します。 Azure Load Testing リソースに 1 つ以上のテストを作成できます。
ロード テストの構成は、次のもので構成されます。
テスト名と説明。
Apache JMeter テストスクリプトと関連するデータおよび構成ファイル。 たとえば、CSV データ ファイルなどです。
環境変数。
テストスクリプトを実行するテスト エンジン の数。
テストの 合格/不合格基準 。
テストの実行中に 監視するアプリ コンポーネントとリソース メトリック の一覧。
Azure Load Testing では、ロード テストの作成とファイルのアップロードは分離されており、個別の API 操作です。 このセクションでは、ロード テストの作成に関連する手順を示します。
ここで説明されているように、Azure Load Testing リソースのエンドポイントまたはデータ プレーン URI を取得します。
新しいテストを作成する
PATCH https://{Endpoint}/tests/{testId}?api-version=2022-11-01この署名を使用して要求を行うクライアントの場合、 ロード テスト管理 - テストの作成または更新 操作が実行されます。
このシグネチャを使用して行われた要求に対する正常な応答は、次のようになります。
{ "description": "sample description", "displayName": "Performance_LoadTest", "loadTestConfiguration": { "engineInstances": 6, "splitAllCSVs": true }, "passFailCriteria": { "passFailMetrics": { "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { "clientMetric": "response_time_ms", "aggregate": "percentage", "condition": ">", "value": 20, "action": "continue" } } }, "secrets": { "secret1": { "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", "type": "AKV_SECRET_URI" } }, "environmentVariables": { "envvar1": "sampletext" }, "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", "keyvaultReferenceIdentityType": "UserAssigned", "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/sampleprovider/sampleresourcetype/sampleresourcename" }これにより、テスト名、説明、シークレット、環境変数、エンジン数、合格/不合格条件などのテストの詳細が更新されます。
作成したテストにファイルをアップロードする
PUT https://{Endpoint}/tests/{testId}/files/{fileName}?api-version=2022-11-01又は
PUT https://{Endpoint}/tests/{testId}/files/{fileName}?fileType={fileType}&api-version=2022-11-01この署名を使用して要求を行うクライアントの場合、 ロード テスト管理 - テスト ファイルのアップロード 操作が実行されます。
注
各 PUT 呼び出しは、アップロードするファイルを 1 つだけサポートします。 同じ呼び出しで複数のファイルがアップロードされた場合、最初のファイルを除くすべてのファイルが破棄されます。 要件によっては、JMXスクリプト、ZIPファイル、CSVファイル、user.propertiesなど、それぞれに1つずつ複数の呼び出しを行う必要がある場合があります。
アップロードされたJMXファイルは、XML規範に準拠し、有効なJMeterスクリプトであるかどうかが検証されます。 validationStatus フィールドには、検証のステータスが表示されます。 JMeter がエラーなしで JMX スクリプトを受け入れることができれば、そのスクリプトは「VALIDATION_SUCCESS」と見なされ、ファイルはロード テストに正常に関連付けられます。 それ以降のすべてのテスト実行では、このファイルが使用されます。
このシグネチャを使用して行われた要求に対する正常な応答は、次のようになります。
{ "url": "https://dummyurl.com/testscriptresource", "fileName": "sample.jmx", "fileType": "ADDITIONAL_ARTIFACTS", "expireDateTime": "2021-12-05T16:43:46.072Z", "validationStatus": "VALIDATION_SUCCESS" }次の手順を使用して、サーバー側のメトリックを監視するためのテストでアプリ コンポーネントを構成します。
PATCH https://{Endpoint}/tests/{testId}/app-components?api-version=2022-11-01この署名を使用して要求を行うクライアントの場合、 ロード テスト管理 - アプリ コンポーネントの作成または更新 操作が実行されます。 要求本文には、testId または testRunId を含める必要があります。
このシグネチャを使用して行われた要求に対する正常な応答は、次のようになります。
{ "testId": "12345678-1234-1234-1234-123456789012", "components": { "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", "resourceType": "microsoft.insights/components", "resourceName": "appcomponentresource", "displayName": "Performance_LoadTest_Insights", "resourceGroup": "samplerg", "subscriptionId": "00000000-0000-0000-0000-000000000000", "kind": "web" } }, "createdDateTime": "2021-12-05T16:43:46.072Z", "createdBy": "user@contoso.com", "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", "lastModifiedBy": "user@contoso.com" }