Test Run - Create And Update Test
Crie e inicie uma nova execução de teste com o nome fornecido.
PATCH https://{Endpoint}/testruns/{testRunId}?api-version=2022-06-01-preview
PATCH https://{Endpoint}/testruns/{testRunId}?oldTestRunId={oldTestRunId}&api-version=2022-06-01-preview
Parâmetros de URI
Nome | Em | Obrigatório | Tipo | Description |
---|---|---|---|---|
Endpoint
|
path | True |
string uri |
URL para executar operações de API do plano de dados no recurso. |
test
|
path | True |
string |
O nome exclusivo da execução do teste de carga deve ser um caractere de URL válido ^[a-z0-9_-]*$. Regex pattern: |
api-version
|
query | True |
string |
Versão da API |
old
|
query |
string |
ID de execução de teste existente que deve ser executada novamente. |
Corpo da solicitação
Media Types: "application/merge-patch+json"
Nome | Tipo | Description |
---|---|---|
description |
string |
A descrição da execução do teste. |
displayName |
string |
Nome de exibição de uma execução de teste. |
environmentVariables |
object |
Variáveis de ambiente definidas como um conjunto de pares de <nome e valor> . |
loadTestConfig |
A configuração do teste de carga. |
|
passFailCriteria |
Passe os critérios de falha para um teste. |
|
secrets |
<string,
Secret |
Os segredos podem ser armazenados em um Key Vault do Azure ou em qualquer outro repositório de segredos. Se o segredo estiver armazenado em um Key Vault do Azure, o valor deverá ser o identificador secreto e o tipo deverá ser AKV_SECRET_URI. Se o segredo for armazenado em outro lugar, o valor do segredo deverá ser fornecido diretamente e o tipo deverá ser SECRET_VALUE. |
testId |
string |
ID de teste associada. |
Respostas
Nome | Tipo | Description |
---|---|---|
200 OK |
A execução do teste é atualizada. |
|
Other Status Codes |
Resposta de erro do serviço de Teste de Carga. Headers x-ms-error-code: string |
Exemplos
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"
}
Definições
Nome | Description |
---|---|
Error |
Erro de uma solicitação REST. |
Error |
A definição de um objeto de erro. |
File |
Representação de inteiro do tipo de arquivo (0 = JMX_FILE, 1 = USER_PROPERTIES, 2 = ADDITIONAL_ARTIFACTS) |
File |
Modelo FileUrl. |
Input |
Os artefatos de entrada para o teste. |
Load |
A configuração do teste de carga. |
Output |
Os artefatos de saída para a execução do teste. |
Pass |
Passe os critérios de falha para um teste. |
Pass |
|
Secret |
|
Test |
|
Test |
Modelo de execução de teste de carga |
Test |
Estatísticas de execução de teste. |
Error
Erro de uma solicitação REST.
Nome | Tipo | Description |
---|---|---|
code |
string |
O código de erro. |
details |
Error[] |
Detalhes adicionais e erros internos. |
message |
string |
A mensagem de erro. |
target |
string |
O destino do erro. |
ErrorResponseBody
A definição de um objeto de erro.
Nome | Tipo | Description |
---|---|---|
error |
Erro de uma solicitação REST. |
FileType
Representação de inteiro do tipo de arquivo (0 = JMX_FILE, 1 = USER_PROPERTIES, 2 = ADDITIONAL_ARTIFACTS)
Nome | Tipo | Description |
---|---|---|
0 |
Integer |
|
1 |
Integer |
|
2 |
Integer |
FileUrl
Modelo FileUrl.
Nome | Tipo | Description |
---|---|---|
expireTime |
string |
Hora de expiração do arquivo |
fileId |
string |
Identificador exclusivo do arquivo. |
fileType |
Representação de inteiro do tipo de arquivo (0 = JMX_FILE, 1 = USER_PROPERTIES, 2 = ADDITIONAL_ARTIFACTS) |
|
filename |
string |
Nome do arquivo. |
url |
string |
URL do arquivo. |
validationStatus |
string |
Status de validação do arquivo |
InputTestArtifacts
Os artefatos de entrada para o teste.
Nome | Tipo | Description |
---|---|---|
additionalUrls |
File |
O arquivo de artefatos de entrada { nome : url } mapeia para a execução de teste. |
configUrl |
Modelo FileUrl. |
|
inputArtifactsZipFileurl |
Modelo FileUrl. |
|
testScriptUrl |
Modelo FileUrl. |
|
userPropUrl |
Modelo FileUrl. |
LoadTestConfig
A configuração do teste de carga.
Nome | Tipo | Description |
---|---|---|
engineInstances |
integer |
O número de instâncias do mecanismo para executar o teste de carga. Os valores com suporte estão no intervalo de 1 a 45. Necessário para criar um novo teste. |
splitAllCSVs |
boolean |
Se todos os arquivos CSV de entrada devem ser divididos uniformemente em todos os mecanismos. |
OutputTestArtifacts
Os artefatos de saída para a execução do teste.
Nome | Tipo | Description |
---|---|---|
logsUrl |
Modelo FileUrl. |
|
resultUrl |
Modelo FileUrl. |
PassFailCriteria
Passe os critérios de falha para um teste.
Nome | Tipo | Description |
---|---|---|
passFailMetrics |
<string,
Pass |
Mapa de métricas de falha de id e aprovação { id : passar métricas de falha }. |
PassFailMetric
Nome | Tipo | Description |
---|---|---|
action |
string |
'stop' ou 'continue' após o limite ser atingido. O padrão é 'continue'. |
actualValue |
number |
O valor real da métrica do cliente para a execução do teste. |
aggregate |
string |
A função de agregação a ser aplicada na métrica do cliente. Funções permitidas - 'percentage' - para métrica de erro ,'avg', 'p50', 'p90', 'p95', 'p99', 'min', 'max' - para response_time_ms e métrica de latência, 'avg' - para requests_per_sec, 'count' - para solicitações. |
clientmetric |
string |
A métrica do cliente à qual os critérios devem ser aplicados. Valores permitidos - 'response_time_ms' , 'latência', 'error', 'requests', 'requests_per_sec'. |
condition |
string |
O operador de comparação Tipos com suporte '>' |
requestName |
string |
Nome da solicitação para o qual os critérios de falha de aprovação devem ser aplicados. |
result |
string |
Resultado da execução do teste. resultado possível - 'passado', 'falhou' , 'indeterminado'. |
value |
number |
O valor a ser comparado com a métrica do cliente. Valores permitidos - 'error: [0.0 , 100.0] unit- % ', response_time_ms and latency : any integer value unit- ms. |
SecretMetadata
Nome | Tipo | Description |
---|---|---|
type |
string |
Tipo de segredo. ex. AKV_SECRET_URI/SECRET_VALUE |
value |
string |
O valor do segredo do tipo AKV_SECRET_URI ou SECRET_VALUE |
TestArtifacts
Nome | Tipo | Description |
---|---|---|
inputArtifacts |
Os artefatos de entrada para o teste. |
|
outputArtifacts |
Os artefatos de saída para a execução do teste. |
TestRunModel
Modelo de execução de teste de carga
Nome | Tipo | Description |
---|---|---|
createdBy |
string |
O usuário que criou a execução de teste. |
createdDateTime |
string |
O DateTime criado (formato literal ISO 8601) da execução do teste. |
description |
string |
A descrição da execução do teste. |
displayName |
string |
Nome de exibição de uma execução de teste. |
duration |
integer |
Testar a duração da execução em milissegundos. |
endDateTime |
string |
O final da execução de teste DateTime(formato literal ISO 8601). |
environmentVariables |
object |
Variáveis de ambiente definidas como um conjunto de pares de <nome e valor> . |
executedDateTime |
string |
Tempo de execução de teste iniciado |
lastModifiedBy |
string |
O usuário que atualizou a execução do teste. |
lastModifiedDateTime |
string |
O último DateTime atualizado (formato literal ISO 8601) da execução do teste. |
loadTestConfig |
A configuração do teste de carga. |
|
passFailCriteria |
Passe os critérios de falha para um teste. |
|
portalUrl |
string |
URL do portal. |
resourceId |
string |
ID do recurso de teste de carga. |
secrets |
<string,
Secret |
Os segredos podem ser armazenados em um Key Vault do Azure ou em qualquer outro repositório de segredos. Se o segredo estiver armazenado em um Key Vault do Azure, o valor deverá ser o identificador secreto e o tipo deverá ser AKV_SECRET_URI. Se o segredo for armazenado em outro lugar, o valor do segredo deverá ser fornecido diretamente e o tipo deverá ser SECRET_VALUE. |
startDateTime |
string |
A execução de teste inicia DateTime (formato literal ISO 8601). |
status |
string |
A execução de teste status. |
subnetId |
string |
ID da sub-rede na qual as instâncias de teste de carga devem ser executadas. |
testArtifacts | ||
testId |
string |
ID de teste associada. |
testResult |
string |
Resultado do teste para critérios de aprovação/falha usados durante a execução do teste. resultado possível – 'Aprovado', 'Falha', 'Não Aplicável'. |
testRunId |
string |
Nome de execução de teste exclusivo como identificador. |
testRunStatistics |
<string,
Test |
Estatísticas de execução de teste |
vusers |
integer |
Número de usuários virtuais para os quais o teste foi executado. |
TestRunStatisticsModel
Estatísticas de execução de teste.
Nome | Tipo | Description |
---|---|---|
errorCount |
number |
Contagem de erros. |
errorPct |
number |
Percentual de erro. |
maxResTime |
number |
Tempo máximo de resposta. |
meanResTime |
number |
Tempo médio de resposta. |
medianResTime |
number |
Tempo médio de resposta. |
minResTime |
number |
Tempo mínimo de resposta. |
pct1ResTime |
number |
Tempo de resposta de 90 percentil. |
pct2ResTime |
number |
Tempo de resposta de 95 percentil. |
pct3ResTime |
number |
Tempo de resposta de 99 percentil. |
receivedKBytesPerSec |
number |
Bytes de rede recebidos. |
sampleCount |
number |
Contagem de amostra. |
sentKBytesPerSec |
number |
Bytes de rede enviados. |
throughput |
number |
Produtividade. |
transaction |
string |
Nome da transação. |