Microsoft.LoadTestService (preview:2023-04-01)

2025/02/21 • 1 updated methods

LoadTestRun_CreateOrUpdateTestRun (updated)
Description Create and start a new test run with the given test run Id.
Reference Link ¶

⚶ Changes

{
  "#id": "LoadTestRun_CreateOrUpdateTestRun",
  "$parameters": {
    "body": {
      "$properties": {
        "@removed_81ce186ecae14eaab7d73effd3464312": {
          "#name": "loadTestConfiguration",
          "Description": "The load test configuration.",
          "Required": false,
          "Type": "object",
          "$properties": [
            {
              "#name": "engineInstances",
              "Description": "The number of engine instances to execute load test. Supported values are in range of 1-400. Required for creating a new test.",
              "Format": "int32",
              "Required": false,
              "Type": "integer"
            },
            {
              "#name": "splitAllCSVs",
              "Description": "If false, Azure Load Testing copies and processes your input files unmodified\nacross all test engine instances. If true, Azure Load Testing splits the CSV\ninput data evenly across all engine instances. If you provide multiple CSV\nfiles, each file will be split evenly.",
              "Required": false,
              "Type": "boolean"
            },
            {
              "#name": "quickStartTest",
              "Description": "If true, optionalLoadTestConfig is required and JMX script for the load test is\nnot required to upload.",
              "Required": false,
              "Type": "boolean"
            },
            {
              "#name": "optionalLoadTestConfig",
              "Description": "Configuration for quick load test",
              "Required": false,
              "Type": "object",
              "$properties": [
                {
                  "#name": "endpointUrl",
                  "Description": "Test URL. Provide the complete HTTP URL. For example, https://contoso-app.azurewebsites.net/login",
                  "Required": false,
                  "Type": "string"
                },
                {
                  "#name": "requestsPerSecond",
                  "Description": "Target throughput (requests per second). This may not be necessarily achieved. The actual throughput will be lower if the application is not capable of handling it.",
                  "Format": "int32",
                  "Required": false,
                  "Type": "integer"
                },
                {
                  "#name": "maxResponseTimeInMs",
                  "Description": "Maximum response time in milliseconds of the API/endpoint.",
                  "Format": "int32",
                  "Required": false,
                  "Type": "integer"
                },
                {
                  "#name": "virtualUsers",
                  "Description": "No of concurrent virtual users.",
                  "Format": "int32",
                  "Required": false,
                  "Type": "integer"
                },
                {
                  "#name": "rampUpTime",
                  "Description": "Ramp up time in seconds.",
                  "Format": "int32",
                  "Required": false,
                  "Type": "integer"
                },
                {
                  "#name": "duration",
                  "Description": "Test run duration in seconds.",
                  "Format": "int32",
                  "Required": false,
                  "Type": "integer"
                }
              ]
            }
          ]
        }
      }
    }
  }
}

⚼ Request

PATCH:  /test-runs/{testRunId}
{
api-version: string ,
testRunId: string ,
oldTestRunId: string ,
body:
{
passFailCriteria:
{
passFailMetrics: object ,
}
,
autoStopCriteria:
{
autoStopDisabled: boolean ,
errorRate: number ,
errorRateTimeWindowInSeconds: integer ,
}
,
secrets: object ,
certificate:
{
value: string ,
type: enum ,
name: string ,
}
,
environmentVariables: object ,
displayName: string ,
testId: string ,
description: string ,
}
,
}

⚐ Response (200)

{
testRunId: string ,
passFailCriteria:
{
passFailMetrics: object ,
}
,
autoStopCriteria:
{
autoStopDisabled: boolean ,
errorRate: number ,
errorRateTimeWindowInSeconds: integer ,
}
,
secrets: object ,
certificate:
{
value: string ,
type: enum ,
name: string ,
}
,
environmentVariables: object ,
errorDetails:
[
{
message: string ,
}
,
]
,
testRunStatistics: object ,
loadTestConfiguration:
{
engineInstances: integer ,
splitAllCSVs: boolean ,
quickStartTest: boolean ,
optionalLoadTestConfig:
{
endpointUrl: string ,
requestsPerSecond: integer ,
maxResponseTimeInMs: integer ,
virtualUsers: integer ,
rampUpTime: integer ,
duration: integer ,
}
,
}
,
testArtifacts:
{
inputArtifacts:
{
configFileInfo:
{
fileName: string ,
url: string ,
fileType: enum ,
expireDateTime: string ,
validationStatus: enum ,
validationFailureDetails: string ,
}
,
testScriptFileInfo:
{
fileName: string ,
url: string ,
fileType: enum ,
expireDateTime: string ,
validationStatus: enum ,
validationFailureDetails: string ,
}
,
userPropFileInfo:
{
fileName: string ,
url: string ,
fileType: enum ,
expireDateTime: string ,
validationStatus: enum ,
validationFailureDetails: string ,
}
,
inputArtifactsZipFileInfo:
{
fileName: string ,
url: string ,
fileType: enum ,
expireDateTime: string ,
validationStatus: enum ,
validationFailureDetails: string ,
}
,
urlTestConfigFileInfo:
{
fileName: string ,
url: string ,
fileType: enum ,
expireDateTime: string ,
validationStatus: enum ,
validationFailureDetails: string ,
}
,
additionalFileInfo:
[
{
fileName: string ,
url: string ,
fileType: enum ,
expireDateTime: string ,
validationStatus: enum ,
validationFailureDetails: string ,
}
,
]
,
}
,
outputArtifacts:
{
resultFileInfo:
{
fileName: string ,
url: string ,
fileType: enum ,
expireDateTime: string ,
validationStatus: enum ,
validationFailureDetails: string ,
}
,
logsFileInfo:
{
fileName: string ,
url: string ,
fileType: enum ,
expireDateTime: string ,
validationStatus: enum ,
validationFailureDetails: string ,
}
,
artifactsContainerInfo:
{
url: string ,
expireDateTime: string ,
}
,
}
,
}
,
testResult: enum ,
virtualUsers: integer ,
displayName: string ,
testId: string ,
description: string ,
status: enum ,
startDateTime: string ,
endDateTime: string ,
executedDateTime: string ,
portalUrl: string ,
duration: integer ,
subnetId: string ,
kind: enum ,
publicIPDisabled: boolean ,
createdDateTime: string ,
createdBy: string ,
lastModifiedDateTime: string ,
lastModifiedBy: string ,
}

⚐ Response (201)

{
testRunId: string ,
passFailCriteria:
{
passFailMetrics: object ,
}
,
autoStopCriteria:
{
autoStopDisabled: boolean ,
errorRate: number ,
errorRateTimeWindowInSeconds: integer ,
}
,
secrets: object ,
certificate:
{
value: string ,
type: enum ,
name: string ,
}
,
environmentVariables: object ,
errorDetails:
[
{
message: string ,
}
,
]
,
testRunStatistics: object ,
loadTestConfiguration:
{
engineInstances: integer ,
splitAllCSVs: boolean ,
quickStartTest: boolean ,
optionalLoadTestConfig:
{
endpointUrl: string ,
requestsPerSecond: integer ,
maxResponseTimeInMs: integer ,
virtualUsers: integer ,
rampUpTime: integer ,
duration: integer ,
}
,
}
,
testArtifacts:
{
inputArtifacts:
{
configFileInfo:
{
fileName: string ,
url: string ,
fileType: enum ,
expireDateTime: string ,
validationStatus: enum ,
validationFailureDetails: string ,
}
,
testScriptFileInfo:
{
fileName: string ,
url: string ,
fileType: enum ,
expireDateTime: string ,
validationStatus: enum ,
validationFailureDetails: string ,
}
,
userPropFileInfo:
{
fileName: string ,
url: string ,
fileType: enum ,
expireDateTime: string ,
validationStatus: enum ,
validationFailureDetails: string ,
}
,
inputArtifactsZipFileInfo:
{
fileName: string ,
url: string ,
fileType: enum ,
expireDateTime: string ,
validationStatus: enum ,
validationFailureDetails: string ,
}
,
urlTestConfigFileInfo:
{
fileName: string ,
url: string ,
fileType: enum ,
expireDateTime: string ,
validationStatus: enum ,
validationFailureDetails: string ,
}
,
additionalFileInfo:
[
{
fileName: string ,
url: string ,
fileType: enum ,
expireDateTime: string ,
validationStatus: enum ,
validationFailureDetails: string ,
}
,
]
,
}
,
outputArtifacts:
{
resultFileInfo:
{
fileName: string ,
url: string ,
fileType: enum ,
expireDateTime: string ,
validationStatus: enum ,
validationFailureDetails: string ,
}
,
logsFileInfo:
{
fileName: string ,
url: string ,
fileType: enum ,
expireDateTime: string ,
validationStatus: enum ,
validationFailureDetails: string ,
}
,
artifactsContainerInfo:
{
url: string ,
expireDateTime: string ,
}
,
}
,
}
,
testResult: enum ,
virtualUsers: integer ,
displayName: string ,
testId: string ,
description: string ,
status: enum ,
startDateTime: string ,
endDateTime: string ,
executedDateTime: string ,
portalUrl: string ,
duration: integer ,
subnetId: string ,
kind: enum ,
publicIPDisabled: boolean ,
createdDateTime: string ,
createdBy: string ,
lastModifiedDateTime: string ,
lastModifiedBy: string ,
}

⚐ Response (default)

{
$headers:
{
x-ms-error-code: string ,
}
,
$schema:
{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
innererror:
{
code: string ,
innererror: string ,
}
,
}
,
}
,
}