Creare un test di carico in una risorsa di test di carico di Azure

Un test specifica lo script di test e le impostazioni di configurazione per l'esecuzione di un test di carico. È possibile creare uno o più test in una risorsa di test di carico di Azure.

La configurazione di una prova di carico consiste in:

In Azure Load Testing, la creazione del test di carico e i caricamenti dei file sono disaccoppiati, ovvero sono operazioni API separate. Nella sezione vengono illustrati i passaggi necessari per la creazione di un test di carico.

  1. Ottenere l'URI dell'endpoint o del piano dati per la risorsa Test di carico di Azure, come indicato qui.

  2. Creare un nuovo test

    PATCH https://{Endpoint}/tests/{testId}?api-version=2022-11-01
    

    Per un client che effettua una richiesta con questa firma, verrà eseguita l'operazione Amministrazione test di carico - Crea o aggiorna test .

    Una risposta corretta per una richiesta effettuata utilizzando questa firma sarà simile alla seguente:

    {
      "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"
    }
    

    In questo modo vengono aggiornati i dettagli del test, ad esempio il nome del test, la descrizione, i segreti, le variabili di ambiente, il numero di motori e i criteri di superamento/non superamento.

  3. Caricare i file nel test creato

    PUT https://{Endpoint}/tests/{testId}/files/{fileName}?api-version=2022-11-01
    

    o

    PUT https://{Endpoint}/tests/{testId}/files/{fileName}?fileType={fileType}&api-version=2022-11-01
    

    Per un client che effettua una richiesta con questa firma, verrà eseguita l'operazione Amministrazione test di carico - Carica file di test .

    Annotazioni

    Ogni chiamata PUT supporta il caricamento di 1 solo file. Se nella stessa chiamata vengono caricati più file, tutti i file, ad eccezione del primo, vengono eliminati. A seconda del requisito, potrebbe essere necessario effettuare più chiamate, una per ciascuna, ad esempio script JMX, file ZIP, file CSV, user.properties, ecc.

    Il file JMX caricato viene convalidato se aderisce alle norme XML e se è uno script JMeter valido. Il campo validationStatus mostra lo stato della convalida. Se JMeter è in grado di accettare lo script JMX senza errori, viene considerato "VALIDATION_SUCCESS" e il file viene associato correttamente al test di carico. In tutte le esecuzioni dei test successive verrà utilizzato questo file.

    Una risposta corretta per una richiesta effettuata utilizzando questa firma sarà simile alla seguente:

        {
      "url": "https://dummyurl.com/testscriptresource",
      "fileName": "sample.jmx",
      "fileType": "ADDITIONAL_ARTIFACTS",
      "expireDateTime": "2021-12-05T16:43:46.072Z",
      "validationStatus": "VALIDATION_SUCCESS"
    }
    
  4. Configura i componenti dell'app nel test per il monitoraggio delle metriche lato server utilizzando la procedura seguente.

    PATCH https://{Endpoint}/tests/{testId}/app-components?api-version=2022-11-01
    

    Per un client che effettua una richiesta con questa firma, verrà eseguita l'operazione Amministrazione test di carico - Crea o aggiorna componenti dell'app . Il corpo della richiesta deve contenere un testId o un testRunId.

    Una risposta corretta per una richiesta effettuata utilizzando questa firma sarà simile alla seguente:

        {
      "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"
    }