Test Run - Create And Update Test
지정된 이름으로 새 테스트 실행을 만들고 시작합니다.
PATCH https://{Endpoint}/testruns/{testRunId}?api-version=2022-06-01-preview
PATCH https://{Endpoint}/testruns/{testRunId}?oldTestRunId={oldTestRunId}&api-version=2022-06-01-preview
URI 매개 변수
Name | In(다음 안에) | 필수 | 형식 | Description |
---|---|---|---|---|
Endpoint
|
path | True |
string uri |
리소스에서 데이터 평면 API 작업을 수행하는 URL입니다. |
test
|
path | True |
string |
부하 테스트 실행의 고유 이름은 유효한 URL 문자 ^[a-z0-9_-]*$여야 합니다. Regex pattern: |
api-version
|
query | True |
string |
API 버전 |
old
|
query |
string |
다시 실행해야 하는 기존 테스트 실행 ID입니다. |
요청 본문
Media Types: "application/merge-patch+json"
Name | 형식 | Description |
---|---|---|
description |
string |
테스트 실행 설명입니다. |
displayName |
string |
테스트 실행의 표시 이름입니다. |
environmentVariables |
object |
이름, 값> 쌍 집합<으로 정의된 환경 변수입니다. |
loadTestConfig |
부하 테스트 구성입니다. |
|
passFailCriteria |
테스트에 대한 실패 조건을 통과합니다. |
|
secrets |
<string,
Secret |
비밀은 Azure Key Vault 또는 다른 비밀 저장소에 저장할 수 있습니다. 비밀이 Azure Key Vault 저장된 경우 값은 비밀 식별자여야 하며 형식은 AKV_SECRET_URI 합니다. 비밀이 다른 곳에 저장되면 비밀 값을 직접 제공해야 하며 형식을 SECRET_VALUE 합니다. |
testId |
string |
연결된 테스트 ID입니다. |
응답
Name | 형식 | Description |
---|---|---|
200 OK |
테스트 실행이 업데이트됩니다. |
|
Other Status Codes |
부하 테스트 서비스 오류 응답입니다. Headers x-ms-error-code: string |
예제
CreateAndUpdateTestRun
Sample Request
PATCH https://{Endpoint}/testruns/12316678-1234-1234-1234-122451189012?oldTestRunId=12345678-1234-1234-1234-123456789012&api-version=2022-06-01-preview
{
"displayName": "Performance_LoadTest_Run1",
"testId": "12345678-1234-1234-1234-123456789012",
"description": "sample description",
"loadTestConfig": {
"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"
}
}
Sample Response
{
"testRunId": "12316678-1234-1234-1234-122451189012",
"displayName": "Performance_LoadTest_Run1",
"testId": "12345678-1234-1234-1234-123456789012",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.loadtestservice/sampleresourcetype/sampleresourcename",
"description": "sample description",
"status": "ACCEPTED",
"startDateTime": "2021-12-05T16:43:48.125Z",
"endDateTime": "2021-12-05T16:43:48.125Z",
"loadTestConfig": {
"engineInstances": 6,
"splitAllCSVs": true
},
"testResult": "Passed",
"passFailCriteria": {
"passFailMetrics": {
"fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": {
"clientmetric": "response_time_ms",
"aggregate": "percentage",
"condition": ">",
"value": 20,
"action": "continue",
"actualValue": 10,
"result": "passed"
}
}
},
"testArtifacts": {
"inputArtifacts": {
"configUrl": {
"url": "https://dummyurl.com/configresource",
"fileId": "92345678-1234-1111-1234-123456789012",
"filename": "config.yaml",
"fileType": 2,
"expireTime": "2021-12-05T16:43:46.072Z",
"validationStatus": ""
},
"testScriptUrl": {
"url": "https://dummyurl.com/testscriptresource",
"fileId": "92345678-1234-1111-1234-123456789011",
"filename": "sample.jmx",
"fileType": 0,
"expireTime": "2021-12-05T16:43:46.072Z",
"validationStatus": "VALIDATION_SUCCESS"
},
"userPropUrl": {
"url": "https://dummyurl.com/userpropresource",
"fileId": "92345678-1234-1111-1234-123456789013",
"filename": "user.properties",
"fileType": 1,
"expireTime": "2021-12-05T16:43:46.072Z",
"validationStatus": ""
},
"inputArtifactsZipFileurl": {
"url": "https://dummyurl.com/inputartifactzipresource",
"fileId": "92345678-1234-1111-1234-123456789012",
"filename": "inputartifacts.zip",
"fileType": 2,
"expireTime": "2021-12-05T16:43:46.072Z",
"validationStatus": ""
},
"additionalUrls": []
},
"outputArtifacts": {
"resultUrl": {
"url": "https://dummyurl.com/dummyresourceresult",
"fileId": "92345678-1234-1111-1234-123456789012",
"filename": "sample.jmx",
"fileType": 0,
"expireTime": "2021-12-05T16:43:46.072Z",
"validationStatus": "VALIDATION_SUCCESS"
},
"logsUrl": {
"url": "https://dummyurl.com/logresource",
"fileId": "abb846a7-63af-4d63-bb3d-a7aa4caff55c",
"filename": "worker.log",
"fileType": 2,
"expireTime": "2022-05-16T09:14:46.0411793+00:00",
"validationStatus": ""
}
}
},
"executedDateTime": "2021-12-05T16:43:48.125Z",
"vusers": 4,
"testRunStatistics": {
"Total": {
"transaction": "Total",
"sampleCount": 18,
"errorCount": 19,
"errorPct": 17,
"meanResTime": 13,
"medianResTime": 10,
"maxResTime": 16,
"minResTime": 18,
"pct1ResTime": 27,
"pct2ResTime": 20,
"pct3ResTime": 3,
"throughput": 5,
"receivedKBytesPerSec": 13,
"sentKBytesPerSec": 4
}
},
"createdDateTime": "2021-12-05T16:43:46.072Z",
"createdBy": "user@contoso.com",
"lastModifiedDateTime": "2021-12-05T16:43:46.072Z",
"lastModifiedBy": "user@contoso.com",
"portalUrl": "https://portal.azure.com/dummyresource",
"secrets": {
"secret1": {
"value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827",
"type": "AKV_SECRET_URI"
}
},
"environmentVariables": {
"envvar1": "sampletext"
},
"duration": 18,
"subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0"
}
정의
Name | Description |
---|---|
Error |
REST 요청에서 오류가 발생했습니다. |
Error |
오류 개체의 정의입니다. |
File |
파일 형식의 정수 표현(0 = JMX_FILE, 1 = USER_PROPERTIES, 2 = ADDITIONAL_ARTIFACTS) |
File |
FileUrl 모델. |
Input |
테스트의 입력 아티팩트입니다. |
Load |
부하 테스트 구성입니다. |
Output |
테스트 실행에 대한 출력 아티팩트입니다. |
Pass |
테스트에 대한 실패 조건을 통과합니다. |
Pass |
|
Secret |
|
Test |
|
Test |
부하 테스트 실행 모델 |
Test |
실행 통계를 테스트합니다. |
Error
REST 요청에서 오류가 발생했습니다.
Name | 형식 | Description |
---|---|---|
code |
string |
오류 코드입니다. |
details |
Error[] |
추가 세부 정보 및 내부 오류. |
message |
string |
오류 메시지입니다. |
target |
string |
오류 대상입니다. |
ErrorResponseBody
오류 개체의 정의입니다.
Name | 형식 | Description |
---|---|---|
error |
REST 요청에서 오류가 발생했습니다. |
FileType
파일 형식의 정수 표현(0 = JMX_FILE, 1 = USER_PROPERTIES, 2 = ADDITIONAL_ARTIFACTS)
Name | 형식 | Description |
---|---|---|
0 |
Integer |
|
1 |
Integer |
|
2 |
Integer |
FileUrl
FileUrl 모델.
Name | 형식 | Description |
---|---|---|
expireTime |
string |
파일의 만료 시간 |
fileId |
string |
파일 고유 식별자입니다. |
fileType |
파일 형식의 정수 표현(0 = JMX_FILE, 1 = USER_PROPERTIES, 2 = ADDITIONAL_ARTIFACTS) |
|
filename |
string |
파일의 이름입니다. |
url |
string |
파일 URL입니다. |
validationStatus |
string |
파일의 유효성 검사 상태 |
InputTestArtifacts
테스트의 입력 아티팩트입니다.
Name | 형식 | Description |
---|---|---|
additionalUrls |
File |
입력 아티팩트 파일 { 이름 : url } 테스트 실행에 대한 맵입니다. |
configUrl |
FileUrl 모델. |
|
inputArtifactsZipFileurl |
FileUrl 모델. |
|
testScriptUrl |
FileUrl 모델. |
|
userPropUrl |
FileUrl 모델. |
LoadTestConfig
부하 테스트 구성입니다.
Name | 형식 | Description |
---|---|---|
engineInstances |
integer |
부하 테스트를 실행할 엔진 인스턴스 수입니다. 지원되는 값의 범위는 1~45입니다. 새 테스트를 만드는 데 필요합니다. |
splitAllCSVs |
boolean |
모든 입력 CSV 파일을 모든 엔진에서 균등하게 분할해야 하는지 여부입니다. |
OutputTestArtifacts
테스트 실행에 대한 출력 아티팩트입니다.
Name | 형식 | Description |
---|---|---|
logsUrl |
FileUrl 모델. |
|
resultUrl |
FileUrl 모델. |
PassFailCriteria
테스트에 대한 실패 조건을 통과합니다.
Name | 형식 | Description |
---|---|---|
passFailMetrics |
<string,
Pass |
ID 매핑 및 통과 실패 메트릭 { id : pass fail metrics }. |
PassFailMetric
Name | 형식 | Description |
---|---|---|
action |
string |
임계값이 충족된 후 '중지' 또는 '계속'합니다. 기본값은 'continue'입니다. |
actualValue |
number |
테스트 실행에 대한 클라이언트 메트릭의 실제 값입니다. |
aggregate |
string |
클라이언트 메트릭에 적용할 집계 함수입니다. 허용되는 함수 - 'percentage' - 오류 메트릭 ,'avg', 'p50', 'p90', 'p95', 'p99', 'min', 'max' - response_time_ms 및 대기 시간 메트릭의 경우 'avg' - 요청의 경우 requests_per_sec 'count'입니다. |
clientmetric |
string |
조건을 적용해야 하는 클라이언트 메트릭입니다. 허용되는 값 - 'response_time_ms', '대기 시간', '오류', '요청', 'requests_per_sec'. |
condition |
string |
비교 연산자입니다. 지원되는 형식 '>' |
requestName |
string |
통과 실패 조건을 적용해야 하는 요청 이름입니다. |
result |
string |
테스트 실행의 결과입니다. 가능한 결과 - 'passed', 'failed' , 'undetermined'. |
value |
number |
클라이언트 메트릭과 비교할 값입니다. 허용되는 값 - 'error: [0.0 , 100.0] unit- % ', response_time_ms 및 대기 시간 : 모든 정수 값 unit- ms. |
SecretMetadata
Name | 형식 | Description |
---|---|---|
type |
string |
비밀 유형입니다. 예: AKV_SECRET_URI/SECRET_VALUE |
value |
string |
AKV_SECRET_URI 또는 SECRET_VALUE 형식의 비밀 값입니다. |
TestArtifacts
Name | 형식 | Description |
---|---|---|
inputArtifacts |
테스트의 입력 아티팩트입니다. |
|
outputArtifacts |
테스트 실행에 대한 출력 아티팩트입니다. |
TestRunModel
부하 테스트 실행 모델
Name | 형식 | Description |
---|---|---|
createdBy |
string |
테스트 실행을 만든 사용자입니다. |
createdDateTime |
string |
테스트 실행의 만든 DateTime(ISO 8601 리터럴 형식)입니다. |
description |
string |
테스트 실행 설명입니다. |
displayName |
string |
테스트 실행의 표시 이름입니다. |
duration |
integer |
실행 기간을 밀리초 단위로 테스트합니다. |
endDateTime |
string |
테스트 실행 종료 DateTime(ISO 8601 리터럴 형식)입니다. |
environmentVariables |
object |
이름, 값> 쌍의 <집합으로 정의된 환경 변수입니다. |
executedDateTime |
string |
테스트 실행 시작 시간 |
lastModifiedBy |
string |
테스트 실행을 업데이트한 사용자입니다. |
lastModifiedDateTime |
string |
테스트 실행의 마지막으로 업데이트된 DateTime(ISO 8601 리터럴 형식)입니다. |
loadTestConfig |
부하 테스트 구성입니다. |
|
passFailCriteria |
테스트에 대한 실패 조건을 통과합니다. |
|
portalUrl |
string |
포털 URL입니다. |
resourceId |
string |
부하 테스트 리소스 ID입니다. |
secrets |
<string,
Secret |
비밀은 Azure Key Vault 또는 다른 비밀 저장소에 저장할 수 있습니다. 비밀이 Azure Key Vault 저장된 경우 값은 비밀 식별자여야 하며 형식은 AKV_SECRET_URI 합니다. 비밀이 다른 곳에 저장되면 비밀 값이 직접 제공되어야 하며 형식을 SECRET_VALUE 합니다. |
startDateTime |
string |
테스트 실행은 DateTime(ISO 8601 리터럴 형식)을 시작합니다. |
status |
string |
테스트 실행 상태. |
subnetId |
string |
부하 테스트 인스턴스를 실행해야 하는 서브넷 ID입니다. |
testArtifacts | ||
testId |
string |
연결된 테스트 ID입니다. |
testResult |
string |
테스트 실행 중에 사용되는 통과/실패 조건에 대한 테스트 결과입니다. 가능한 결과 - 'Passed', 'Failed' , 'Not Applicable'. |
testRunId |
string |
고유 테스트 실행 이름을 식별자로 지정합니다. |
testRunStatistics |
<string,
Test |
테스트 실행 통계 |
vusers |
integer |
테스트가 실행된 가상 사용자 수입니다. |
TestRunStatisticsModel
실행 통계를 테스트합니다.
Name | 형식 | Description |
---|---|---|
errorCount |
number |
오류 수입니다. |
errorPct |
number |
오류 비율. |
maxResTime |
number |
최대 응답 시간입니다. |
meanResTime |
number |
평균 응답 시간입니다. |
medianResTime |
number |
중앙 응답 시간. |
minResTime |
number |
최소 응답 시간입니다. |
pct1ResTime |
number |
백분위수 응답 시간 90개. |
pct2ResTime |
number |
백분위수 응답 시간 95개. |
pct3ResTime |
number |
백분위수 응답 시간 99개. |
receivedKBytesPerSec |
number |
수신된 네트워크 바이트입니다. |
sampleCount |
number |
샘플러 수입니다. |
sentKBytesPerSec |
number |
보낸 네트워크 바이트입니다. |
throughput |
number |
처리량. |
transaction |
string |
트랜잭션 이름입니다. |