Vai al contenuto

Valutare le prestazioni lato browser con Web Driver Sampler su Azure per i Test di Carico

Scopriamo come utilizzare Web Driver Sampler in JMeter per testare le prestazioni, caricare gli scripts su Azure Load Testing e analizzare le metriche di performance lato browser.

La verifica delle prestazioni non è sempre un’operazione semplice. Infatti, può risultare spesso difficile e richiedere molto tempo, soprattutto quando ci si trova a gestire applicazioni web complesse e dinamiche, che dipendono da tecnologie lato client come JavaScript, AJAX e altre.

JMeter dispone di un componente integrato chiamato Web Driver Sampler, che permette ai tester di utilizzare Selenium WebDriver per simulare vere e proprie azioni e interazioni del browser con gli elementi della pagina web. Questo strumento può integrare l’HTTP Request Sampler, che invia richieste HTTP al server, aggiungendo la prospettiva lato client e misurando il tempo di rendering, il tempo di caricamento della pagina e le azioni dell’utente. Eseguire gli script di JMeter su Azure Load Testing permette di eseguire i test di prestazioni in modo affidabile, senza preoccuparsi delle risorse e della scalabilità.

In questo articolo illustreremo come utilizzare Web Driver Sampler in JMeter per i test di performance, come caricare gli script su Azure Load Testing e come analizzare le metriche di prestazioni lato browser su Azure Load Testing.

Per questo esempio, utilizzeremo un’applicazione web di esempio chiamata Podcast App, un sito demo per la ricerca e l’ascolto di podcast.

Passo 1: Creare uno script JMeter per generare carico sul backend

Il primo passo consiste nel creare uno script in JMeter che simuli una situazione utente sulla web application ‘Podcast’ in modo da mettere sotto carico il suo backend.

Per questo esempio, creeremo uno script che esegue richieste per la homepage, ricerca i podcast e elenca i podcast pertinenti utilizzando i seguenti campioni.

Passo 2: Creare un Web Driver Sampler nello script JMeter

Per creare uno script di Web Driver Sampler in JM, è necessario seguire questi passaggi:

  • Scaricare e installare il gestore dei plugin di JMeter.
  • Nel Gestore plugin, passare alle “Opzioni” dall’IDE JMeter e fare clic sul Gestore plugin. Ora fare clic sulla scheda ‘Disponibile’ del Gestore plugin e digitare ‘Selenium/Webdriver Support’. Infine selezionare ‘Selenium/Webdriver Support’, fare clic su ‘Applica modifiche’ e riavviare JMeter.
  • Aggiungere un nuovo gruppo di thread al piano di test e configurare il numero di thread, il tempo di rampa e il conteggio del ciclo in base al tuo scenario di test.
  • Aggiungere un Config Element > jp@gc – Configurazione driver Chrome al Gruppo di thread. Questo configurerà il browser Chrome come WebDriver per il Web Driver Sampler. Puoi anche scegliere altri browser, come Firefox, Edge o Safari, aggiungendo gli elementi di configurazione del driver corrispondenti.
  • Aggiungere un Sampler > jp@gc – Web Driver Sampler al Gruppo di thread. Ciò ti permetterà di scrivere il tuo codice Selenium WebDriver nel Web Driver Sampler.

È possibile scrivere il codice in qualsiasi linguaggio supportato, come Java, Groovy, JavaScript o Python. Per questo esempio, utilizzeremo Groovy come linguaggio.

  • Scrivere il codice Selenium WebDriver nell’area Script del Web Driver Sampler come mostrato di seguito.

Passo 3: Caricare ed eseguire lo script JMeter su Azure Load Testing

Il passo successivo consiste nel caricare lo script JMeter su Azure Load Testing ed eseguire i vostri test di carico. Puoi creare una nuova risorsa di test di carico o utilizzarne una esistente per creare un test. Per creare un test di carico, puoi fare riferimento alla documentazione Microsoft.

Passo 4: Analizzare le prestazioni lato browser

Dopo aver completato il test di carico, puoi visualizzare i risultati nel pannello dei risultati. Il pannello mostra i grafici delle metriche lato client corrispondenti ad ogni campione.

Le prestazioni lato browser dell’applicazione possono essere analizzate visualizzando le tendenze e le aggregazioni nelle metriche lato client del Web Driver Sampler. Questo può essere visto nei grafici generati come mostrato di seguito.

Il tempo di risposta del Web Driver Sampler rappresenta il tempo che il browser ha impiegato per caricarsi quando il backend dell’applicazione era sotto forte carico. Allo stesso modo, le richieste al secondo misurano il throughput quando l’applicazione web è testata con azioni del browser simulate.

Un modo per verificare se il browser si è caricato correttamente è configurare nel tuo script selenium gli elementi che vuoi verificare. Puoi utilizzare il metodo findElement per individuare un elemento per ID, nome, classe o XPath, e quindi utilizzare il metodo isDisplayed per controllare se l’elemento è visibile sulla pagina. Aggiungendo questi controlli nel tuo script di selenium, puoi assicurarti che il browser abbia reso correttamente la pagina web.

Se sei nuovo in Azure Load Testing, puoi seguire le istruzioni qui per impostare i tuoi test. Gli utenti esistenti possono aggiungere il campione del driver web nei loro script su Azure Load Testing.

Speriamo che questa guida ti aiuti a creare test di prestazioni realistici e robusti per le tue applicazioni web.