Condividi tramite


Aggiungere richieste ai test di carico basati su URL in Test di carico di Azure

Questo articolo illustra come aggiungere richieste HTTP a un test di carico basato su URL in Test di carico di Azure. Usare un test di carico basato su URL per convalidare gli endpoint HTTP, ad esempio applicazioni Web o endpoint REST, senza conoscere in precedenza gli strumenti di test di carico e gli script.

supporto tecnico di Azure due modi per definire le richieste HTTP in un test di carico basato su URL. È possibile combinare entrambi i metodi all'interno di un test di carico.

  • Specificare i dettagli dell'endpoint HTTP, ad esempio l'URL dell'endpoint, il metodo HTTP, le intestazioni, i parametri di query o il corpo della richiesta.
  • Immettere un comando cURL per la richiesta HTTP.

Se si dispone di richieste dipendenti, è possibile estrarre i valori di risposta da una richiesta e passarli come input a una richiesta successiva. Ad esempio, è possibile recuperare prima i dettagli del cliente ed estrarre l'ID cliente per recuperare i dettagli dell'ordine del cliente.

Se si usa un test di carico basato su URL nel flusso di lavoro CI/CD, è possibile passare un file JSON contenente le richieste HTTP al test di carico.

È possibile aggiungere fino a cinque richieste a un test di carico basato su URL. Per test di carico più complessi, è possibile creare un test di carico caricando uno script di test JMeter. Ad esempio, quando si hanno più di cinque richieste, se si usano protocolli non HTTP o se è necessario usare i plug-in JMeter.

Prerequisiti

  • Un account Azure con una sottoscrizione attiva. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
  • Risorsa del test di carico di Azure. Per creare una risorsa di test di carico, vedere Creare ed eseguire un test di carico.

Aggiungere richieste con dettagli HTTP

È possibile specificare una richiesta HTTP per un test di carico basato su URL specificando i dettagli della richiesta HTTP. La tabella seguente elenca i campi che è possibile configurare per una richiesta HTTP in Test di carico di Azure:

Campo Dettagli
URL URL dell'endpoint HTTP. Ad esempio: https://www.contoso.com/products.
metodo Metodo HTTP. Test di carico di Azure supporta GET, POST, PUT, DELETE, PATCH, HEAD e OPTIONS.
Parametri di query (Facoltativo) Immettere i parametri della stringa di query da aggiungere all'URL.
Intestazioni HTTP (Facoltativo) Immettere le intestazioni HTTP da includere nella richiesta HTTP. È possibile aggiungere fino a 20 intestazioni per una richiesta.
Testo della richiesta (Facoltativo) A seconda del metodo HTTP, è possibile specificare il contenuto del corpo HTTP. Test di carico di Azure supporta i formati seguenti: dati non elaborati, visualizzazione JSON, JavaScript, HTML e XML.

Seguire questa procedura per aggiungere una richiesta HTTP a un test di carico basato su URL:

  1. Nel portale di Azure, passare alla risorsa del test di carico.

  2. Nel riquadro di spostamento a sinistra selezionare Test per visualizzare tutti i test.

  3. Nell'elenco selezionare il test di carico e quindi selezionare Modifica.

    Assicurarsi di selezionare un test di carico basato su URL dall'elenco e di abilitare Le impostazioni avanzate nella scheda Informazioni di base.

  4. Passare alla scheda Piano di test e selezionare Aggiungi richiesta.

    Screenshot che mostra come aggiungere una richiesta a un test di carico basato su URL nel portale di Azure.

  5. Selezionare Aggiungi input nell'interfaccia utente per immettere i dettagli della richiesta HTTP.

  6. Immettere i dettagli della richiesta HTTP e quindi selezionare Aggiungi per aggiungere la richiesta al test di carico.

    Campo Descrizione
    Formato della richiesta Selezionare Aggiungere l'input nell'interfaccia utente per configurare i dettagli della richiesta tramite i campi nel portale di Azure.
    Request name (Nome richiesta) Immettere un nome univoco per la richiesta. È possibile fare riferimento a questo nome della richiesta quando si definiscono i criteri di esito negativo del test.
    URL URL dell'endpoint dell'applicazione.
    Metodo Selezionare un metodo HTTP dall'elenco. Test di carico di Azure supporta GET, POST, PUT, DELETE, PATCH, HEAD e OPTIONS.
    Parametri di query (Facoltativo) Immettere i parametri della stringa di query da aggiungere all'URL.
    Intestazioni (Facoltativo) Immettere le intestazioni HTTP da includere nella richiesta HTTP.
    Testo (Facoltativo) A seconda del metodo HTTP, è anche possibile specificare il contenuto del corpo HTTP. Test di carico di Azure supporta i formati seguenti: dati non elaborati, visualizzazione JSON, JavaScript, HTML e XML.

    Screenshot che mostra la pagina dei dettagli per aggiungere una richiesta HTTP usando i campi dell'interfaccia utente nella portale di Azure.

  7. Selezionare Applica per salvare il test di carico.

Aggiungere richieste con cURL

Anziché fornire i dettagli della richiesta HTTP, è anche possibile fornire comandi cURL per le richieste HTTP nel test di carico basato su URL. cURL è uno strumento da riga di comando e una libreria per le richieste basate su URL.

Seguire questa procedura per aggiungere una richiesta HTTP a un test di carico usando un comando cURL.

  1. Nell'elenco dei test selezionare il test di carico e quindi selezionare Modifica.

    Assicurarsi di selezionare un test di carico basato su URL dall'elenco e di abilitare Le impostazioni avanzate nella scheda Informazioni di base.

  2. Passare alla scheda Piano di test e selezionare Aggiungi richiesta.

  3. Selezionare Aggiungi comando cURL per creare una richiesta HTTP usando cURL.

  4. Immettere il comando cURL nel campo del comando cURL e quindi selezionare Aggiungi per aggiungere la richiesta al test di carico.

    L'esempio seguente usa cURL per eseguire una richiesta HTTP GET, specificando un'intestazione HTTP:

    curl --request GET 'http://www.contoso.com/customers?version=1' --header 'api-token: my-token'
    

    Screenshot che mostra la pagina dei dettagli per aggiungere una richiesta HTTP usando un comando cURL nella portale di Azure.

  5. Selezionare Applica per salvare il test di carico.

Usare le variabili nelle richieste HTTP

È possibile usare le variabili nella richiesta HTTP per rendere i test più flessibili o per evitare di includere segreti nel piano di test. Ad esempio, è possibile usare una variabile di ambiente con il nome di dominio dell'endpoint e quindi usare il nome della variabile nelle singole richieste HTTP. L'uso delle variabili rende il piano di test più flessibile e gestibile.

Con i test di carico basati su URL in Test di carico di Azure, è possibile usare le variabili per fare riferimento alle informazioni seguenti:

La sintassi per fare riferimento a una variabile in una richiesta è: ${variable-name}.

Lo screenshot seguente mostra come fare riferimento a una variabile in un'intestazione token HTTP usando ${token}.

Screenshot che mostra la pagina dei dettagli della richiesta nella portale di Azure, evidenziando un riferimento a una variabile in un'intestazione HTTP.

Nota

Se si specificano i certificati, Test di carico di Azure passa automaticamente i certificati in ogni richiesta HTTP.

Usare le variabili di risposta per le richieste dipendenti

Per creare richieste HTTP che dipendono da una richiesta precedente, è possibile usare le variabili di risposta. Ad esempio, nella prima richiesta è possibile recuperare un elenco di elementi da un'API, estrarre l'ID dal primo risultato e quindi effettuare un successivo e passare questo ID come parametro della stringa di query.

Test di carico di Azure supporta le opzioni seguenti per estrarre i valori da una richiesta HTTP e archiviarli in una variabile:

  • JSONPath
  • XPath
  • Espressione regolare

Nell'esempio seguente viene illustrato ad esempio come usare un XPathExtractor per archiviare il corpo di una richiesta nella variabile di token risposta. È quindi possibile usare ${token} in altre richieste HTTP per fare riferimento a questo valore.

"responseVariables": [
    {
        "extractorType": "XPathExtractor",
        "expression": "/note/body",
        "variableName": "token"
    }
]