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.

testRunId
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: ^[a-z0-9_-]*$

api-version
query True

string

Versão da API

oldTestRunId
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

LoadTestConfig

A configuração do teste de carga.

passFailCriteria

PassFailCriteria

Passe os critérios de falha para um teste.

secrets

<string,  SecretMetadata>

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

TestRunModel

A execução do teste é atualizada.

Other Status Codes

ErrorResponseBody

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.

ErrorResponseBody

A definição de um objeto de erro.

FileType

Representação de inteiro do tipo de arquivo (0 = JMX_FILE, 1 = USER_PROPERTIES, 2 = ADDITIONAL_ARTIFACTS)

FileUrl

Modelo FileUrl.

InputTestArtifacts

Os artefatos de entrada para o teste.

LoadTestConfig

A configuração do teste de carga.

OutputTestArtifacts

Os artefatos de saída para a execução do teste.

PassFailCriteria

Passe os critérios de falha para um teste.

PassFailMetric
SecretMetadata
TestArtifacts
TestRunModel

Modelo de execução de teste de carga

TestRunStatisticsModel

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

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

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

FileUrl[]

O arquivo de artefatos de entrada { nome : url } mapeia para a execução de teste.

configUrl

FileUrl

Modelo FileUrl.

inputArtifactsZipFileurl

FileUrl

Modelo FileUrl.

testScriptUrl

FileUrl

Modelo FileUrl.

userPropUrl

FileUrl

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

FileUrl

Modelo FileUrl.

resultUrl

FileUrl

Modelo FileUrl.

PassFailCriteria

Passe os critérios de falha para um teste.

Nome Tipo Description
passFailMetrics

<string,  PassFailMetric>

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

InputTestArtifacts

Os artefatos de entrada para o teste.

outputArtifacts

OutputTestArtifacts

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

LoadTestConfig

A configuração do teste de carga.

passFailCriteria

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,  SecretMetadata>

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

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,  TestRunStatisticsModel>

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.