2015-01-29 2 views
11

Ero abituato a eseguire test delle prestazioni su siti Web principalmente con script JMeter.Come testare le prestazioni di un'applicazione Web AngularJS?

Tuttavia, sempre più progetti sono costruito con frontend MVC, come ad esempio AngularJS e un progetto in corso è il caricamento di tutto il suo contenuto tramite file di visualizzazione angolari, RESTO chiama ecc Purtroppo, JMeter non esegue alcun javascript così il mio load test mi restituisce la home page in soli (400ms). In realtà, in realtà occorrono diversi secondi per caricarsi in un browser. Quando controllo i dati di risposta, non contiene ancora dati a causa di Angular.

Invece di esaminare il traffico di rete e caricare singolarmente ciascun componente (ad esempio profile.html, notification.html, chiamate REST, ecc.). C'è un prodotto sul mercato o qualche altro caso che potrei seguire che sia simile all'esecuzione degli script di JMeter, ma considerando l'esecuzione di javascript e il caricamento di risorse esterne a causa di javascript?

(io non sto pensando al profilo javascript tempi di esecuzione. Questo è ancora da verificare se l'infrastruttura dietro sta servendo in grado xyz utenti simultanei)

risposta

5

Io uso strumenti di sviluppo di Chrome per fare questo tipo di test di performance in applicazioni web . Ti suggerisco di leggere i documenti di Chrome Profiling (https://developer.chrome.com/devtools/docs/javascript-memory-profiling). Tutta la sezione di Performance and Profiling nella documentazione di goolge è veramente buona!

+0

Scusa, ma non è quello che stavo cercando. Non si tratta di script di profilazione. – jens

2

È possibile provare a utilizzare l'opzione "Usa come monitor" per le richieste che si attivano dal test.

http://jmeter.apache.org/usermanual/build-monitor-test-plan.html

Sono assassini di prestazioni, però. Un'altra opzione è quella di utilizzare l'ascoltatore "Salva risposte su un file" per vedere se l'HTML finale viene consegnato. Non dovrebbe darti il ​​risultato ideale ma potrebbe essere d'aiuto.

Se si desidera rintracciare le prestazioni degli XHR per un singolo utente, è possibile provare a giocare con Selenium e BrowserMob Proxy, ma non è sottoposto allo stress test, ma al test funzionale.

2

Si può provare https://github.com/kidk/felt è costruito per questo scopo specifico.

Usa PhantomJS/SlimerJS per generare carico su un sito Web, in modo da ottenere tutte le API/JS/CSS e le chiamate di immagini che si otterrebbero come in un normale browser. È ancora un progetto giovane, ma potrebbe essere la soluzione che stai cercando.

(Questo è il mio progetto personale)