Domanda

Qual è la migliore strategia da utilizzare quando si scrivono test di JMeters su un'applicazione Web in cui i valori di determinate string di query e variabili post cambieranno per ogni esecuzione.

Esempio rapido, comune

  1. Vai a una pagina Web
  2. Inserisci alcune informazioni in un modulo
  3. Fai clic su Salva
  4. Dietro le quinte, un nuovo record viene inserito nel database
  5. Vuoi modificare il record che hai appena inserito, quindi vai su un'altra pagina web. Dietro le quinte sta passando alla pagina un parametro con l'ID database della riga appena creata

Quando si esegue il passaggio 5 del test sopra, il parametro della pagina / ID database cambierà ogni volta.

Il flusso di lavoro / strategia che sto attualmente usando è

  1. Registra un test usando le azioni sopra
  2. Prendi nota di ogni posizione in cui una variabile della stringa di query può cambiare da corsa a corsa
  3. Utilizzare un XPath o un estrattore di espressioni regolari per estrarre il valore da una risposta e in una variabile JMeter
  4. Sostituisci tutte le istanze appropriate del parametro hardcoded con la variabile sopra.

Funziona e può essere automatizzato in una certa misura. Tuttavia, può diventare noioso, soggetto a errori e fragile. Esiste un modo migliore / comunemente accettato di gestire questa situazione? (O è per questo che la maggior parte delle persone usa JMeter per riprodurre i log? (-;)

È stato utile?

Soluzione

Mi sembra che tu sia sulla buona strada. Il meglio che può essere ottenuto da JMeter è estrarre le variabili di pagina con un'espressione regolare o un post processor xpath. Tuttavia, hai assolutamente ragione nel dire che questa non è una soluzione scalabile e diventa sempre più difficile da mantenere o crescere.

Se hai raggiunto il punto, potresti prendere in considerazione uno strumento più specializzato per questo tipo di problema. Dai uno strumento di test web come Watir, gestirà automaticamente la modifica dei parametri dei post; ma sarà comunque necessario estrarre i parametri se è necessario eseguire un aggiornamento del database ma l'utilizzo di Watir consente un migliore riutilizzo del codice rendendo il problema meno doloroso.

Altri suggerimenti

Abbiamo avuto un grande successo nel testare scenari simili con JMeter memorizzando i parametri nelle variabili JMeter in un'asserzione JDBC. Quindi eseguiamo http get / post e utilizziamo un'asserzione BSF e javascript effettua una convalida complessa della risposta. Spero che sia d'aiuto

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top