2010-07-27 12 views
5

Quando faccio richiesta HTTP in JMeter ottengo dati di risposta come "Questa pagina utilizza JavaScript e richiede un browser abilitato JavaScript." Come è possibile risolvere questo problema.JMeter e JavaScript

risposta

13

JMeter non è un browser e non interpreta il codice JavaScript nelle pagine scaricate.

Dal JMeter wiki:

JMeter non elabora Javascript o applet incorporati nelle pagine HTML.

JMeter può scaricare le risorse rilevanti (alcune risorse incorporate vengono scaricati automaticamente se sono impostate le opzioni corrette), ma non viene elaborato il codice HTML e svolgere alcuna funzione di Javascript.

Se la pagina utilizza Javascript per creare un URL o inviare un modulo, è possibile utilizzare la funzione Registrazione proxy per creare il campionatore necessario. Se questo non è possibile, l'ispezione manuale del codice potrebbe essere necessaria per determinare cosa sta facendo Javascript.

A seconda di ciò che si sta facendo, è possibile creare un test di esecuzione utilizzando Selenium IDE per Firefox. Il test verrà eseguito nel browser in modo che venga eseguito anche JavaScript. Nota però che non ho mai usato Selenium come sostituto di JMeter e non conosco le funzionalità comuni a entrambi gli strumenti.

+0

ho usato registrazione proxy e posso vedere la variabile che sono entrato, ma in risposta ottengo quel messaggio, anche questo messaggio è la stessa di quando corro in Firefox con disattivare JavaScript. È possibile testare come questa applicazione con JMeter. – Gogoo

+1

Dipende davvero da cosa stai provando. JMeter è stato inizialmente creato per testare la funzionalità del server (sotto carico pesante, per prestazioni, tempo di risposta, ecc.). Se JavaScript è appena usato per gli effetti della GUI che non interagiscono con la funzionalità dell'app (per esempio per renderla di aspetto), puoi usare JMeter per testare tale funzionalità, ignorando il messaggio che ottieni (dovrebbe essere un filtro di alcuni ordina nella tua app che verifica la presenza di JS abilitato che puoi disattivare). Se d'altra parte JavaScript è un must, allora hai bisogno di funzionalità del browser e JMeter non lo fornisce (almeno). –

-4

È necessario aggiungere HTTP Cookie/Cache Manager al thread per risolvere questo problema.

+2

Questa risposta è completamente non valida e fuorviante – rsakhale

1

Suppongo che sia possibile utilizzare il plug-in WebDriver per eseguire veri test del browser (IE/Firefox/Chrome/Selenium).

C'è una buona documentazione here

0

È possibile add WebDriver to JMeter test per valutare pienamente il rendering della pagina.

Web Driver Sampler automatizza l'esecuzione e la raccolta di metriche di performance sul browser (lato client). Gran parte del test delle prestazioni , fino a questo punto, è stato sul lato server delle cose . Tuttavia, con l'avanzamento della tecnologia, i miglioramenti di HTML5, JS e CSS , sempre più logica e comportamento sono stati spinti verso il basso al client. Ciò si aggiunge alla prestazione complessiva percepita del sito web/webapp , ma questa metrica non è disponibile in JMeter. Le cose che si aggiungono al tempo di esecuzione complessivo del browser possono includere:

  1. Esecuzione Javascript lato client - ad es. Modelli AJAX, JS
  2. Trasformazioni CSS - ad es. Trasformazioni a matrice 3D, animazioni
  3. plug-in di terze parti - es. Facebook come, annunci doppio click, analisi del sito, ecc

Tutte queste cose aggiungere al tempo complessivo di esecuzione del browser, e questo progetto ha lo scopo di misurare il tempo necessario per completare il rendering tutto questo contenuto.

guida ufficiale: https://jmeter-plugins.org/wiki/WebDriverTutorial/