Correlazione in LoadRunner con l'esempio Web_Reg_Save_Param

Sommario:

Anonim

Cos'è la correlazione?

La correlazione, come suggerisce il nome, è un meccanismo per definire una relazione tra due variabili o entità. Un dizionario lo definisce come “relazione statistica tra due o più variabili tale che cambiamenti sistematici nell'altra accompagnino cambiamenti sistematici nel valore di una variabile”.

In questo tutorial, impareremo a conoscere

  • Perché abbiamo bisogno della correlazione?
  • Correlazione automatica
  • Correlazione manuale
  • Comprensione della funzione Web_reg_save_param

Perché abbiamo bisogno della correlazione?

Comprendiamo la correlazione con il seguente scenario.

Considera che stai registrando uno script utilizzando LoadRunner.

Comunicazione client-server

  1. Durante la registrazione, il client invia una richiesta al server per avviare una sessione
  2. Un server riceve la richiesta e assegna un nuovo ID di sessione ABC
  3. Il client memorizza l'ID di sessione ABC nello script.
  4. Il client avvia la sessione con ID ABC e invia una richiesta a un server per consentirgli di registrare
  5. Il server riconosce l'ID ABC e consente al client di registrare lo script

  1. Ora, studiamo la comunicazione client-server durante la riproduzione
  2. Durante la riproduzione, un client invia una richiesta al server per avviare una sessione
  3. Un server riceve la richiesta e assegna un nuovo ID di sessione XYZ
  4. Un client avvia la sessione con l'ID di sessione ABC registrato in precedenza e invia la richiesta al server per consentire la registrazione
  5. Un server non è in grado di identificare l'ID ABC poiché si aspettava l'ID XYZ che ha allocato e la sessione non riesce.

Abbiamo bisogno di una soluzione, che per acquisire, analizzare il valore dinamico inviato in fase di esecuzione e restituire questo valore al server. Ecco come apparirà la comunicazione client-server con questa soluzione

  1. Durante la riproduzione, un client invia una richiesta al server per avviare una sessione
  2. Un server riceve la richiesta e assegna un nuovo ID di sessione ZZZ
  3. Un client analizza questo nuovo id di sessione ZZZ dalla richiesta.
  4. Un client invia una richiesta per avviare la sessione con ID ZZZ
  5. Un server riconosce l'ID ZZZ e consente al client di riprodurre lo script

Questa non è altro che correlazione .

Fare clic qui se il video non è accessibile

In caso di VUGen, la correlazione è una relazione vincolante tra una risposta e qualsiasi richiesta precedente.

Esistono varie situazioni in cui una richiesta si basa su una risposta ricevuta in precedenza dal server, ad esempio un ID di sessione, la data / ora del server che viene recuperata dal server. Questi valori sono diversi ogni volta che si esegue un'applicazione o si registra uno script. Ovviamente, se l'esecuzione dello script dipende da un valore restituito dal server, significa che è necessario trovare un meccanismo in cui è possibile "catturare" la risposta del server e allegare a quelle richieste che il server si aspetta. Questo è generalmente chiamato correlazione in LoadRunner.

In parole semplici, la soluzione utilizzando la correlazione è:

  1. Cattura il valore di output da un passaggio
  2. Usa il valore sopra catturato per servire come input per tutti i passaggi successivi

La correlazione è classificata in 2 categorie in VUGen / LoadRunner:

  • Correlazione automatica
  • Correlazione manuale

Correlazione automatica

LoadRunner fornisce un meccanismo per eseguire facilmente la correlazione in modo automatico.

VUGen richiederà di eseguire uno script registrato almeno due volte in modo da poter confrontare internamente i valori variabili nella risposta del server.

La correlazione automatica può essere classificata in 3 categorie:

  • Rilevamento automatico della correlazione
  • Correlazione basata su regole
  • Correlazione di tutte le dichiarazioni
Nome regola Quando usare
Rilevamento automatico della correlazione Rileva e mette in correlazione i dati dinamici per i server delle applicazioni supportati da HP LoadRunner
Basato su regole Utilizzato quando si lavora con un server delle applicazioni non supportato di cui è noto il contesto.
Correla tutto Aiuta a correlare tutti i dati dinamici in modo cieco.

Sebbene la correlazione automatica sembri più semplice, può essere soggetta a errori e funziona in non più del 5% dei casi. È sempre consigliabile utilizzare la correlazione manuale.

Per configurare la correlazione automatica al momento della registrazione, eseguire la seguente configurazione in Impostazioni tempo di registrazione dopo che uno script è stato registrato.

Fare clic su Registra => Opzioni di registrazione (o fare clic su Ctrl + F7),

>

Si aprirà la finestra sottostante:

Fare clic su Correlazione => Configurazione - si aprirà la finestra sottostante.

Qui, è necessario contrassegnare come verificato rispetto a tutte le applicazioni (ASPNET) ecc., Che vengono utilizzate nell'applicazione del soggetto. Sul lato destro, puoi vedere le regole che rileveranno i possibili candidati per la correlazione, ad esempio _VIEWSTATE. Puoi anche aggiungere più applicazioni o regole personalizzate facendo clic sul pulsante Nuova regola.

Puoi anche fare clic su REGOLE, vedrai come di seguito:

Affinché la correlazione automatica funzioni, è necessario assicurarsi che Scansione regole sia contrassegnata come selezionata. Se fai clic su Correla automaticamente i valori trovati, VUGen non ti chiederà la scelta una volta trovato un candidato di correlazione, ma li correlerà semplicemente.

Capiremo l'API utilizzata per la correlazione in seguito. Tuttavia, è consigliabile utilizzare il confronto HTML invece del confronto del testo.

Dopo aver selezionato le regole, fare clic sul pulsante OK per chiudere le finestre.

Fare clic su dal menu e VUGen rigenererà lo script (senza dover registrare) con nuove configurazioni. VUGen aggiungerà automaticamente una parte di codice richiesta per gestire la correlazione. Esamineremo l'esempio in modo più dettagliato nella correlazione manuale.

Tieni presente che se esegui la correlazione manualmente o utilizzi la correlazione automatica, la parte di codice conterrà esattamente la stessa sintassi e funzione.

Passaggi per correlare automaticamente uno script:

  1. Registra uno script
  2. Ripeti lo script
  3. Identificare i valori da correlare
  4. Seleziona i valori e fai clic sul pulsante di correlazione automatica
  5. Verificare lo script eseguendolo di nuovo. Una corsa riuscita significa correlazione riuscita.

Mancia:

  • La correlazione aiuta a eseguire lo script con valori diversi
  • La correlazione riduce anche le dimensioni dello script

Correlazione manuale

La correlazione manuale riguarda la scrittura di codice direttamente nel tuo script per soddisfare i valori in continua evoluzione. Possiamo dividerlo nei passaggi seguenti:

  1. Determina il valore da acquisire
  2. Trova i confini del testo destro e sinistro del valore da acquisire (WEB)
  3. Trova l'occorrenza dei confini del testo da utilizzare
  4. Aggiungi una funzione web_reg_save_param allo script, sopra il pezzo di codice che richiede la pagina con il valore da acquisire
  5. Aggiungere un nome di parametro, un limite sinistro, un limite destro e un'occorrenza alla funzione
  6. Parametrizza il valore dinamico nello script ogni volta che si verifica
  7. Verificare la corretta esecuzione
web_reg_save_param ("OracleAppJSESSIONID3","LB / IC = JSESSIONID =","RB / IC =;","Ord = l","Cerca = intestazioni","RelFrameId = l",SCORSO);web_reg_save_param ("Siebel_Analytic_ViewState2","LB / IC = ViewState \" value = \ "","RB / IC = \" ","Ord = 1","Cerca = Corpo","RelFrameId = l",SCORSO);

La correlazione manuale può essere eseguita tramite VUser Comparison. I passaggi nel metodo di correlazione VUser Comparison possono essere suddivisi come segue:

  1. Identifica i valori dinamici che devono essere correlati
  2. Trova la risposta del server contenente il valore dinamico
  3. Cattura il valore dinamico in un parametro
  4. Sostituisci ogni occorrenza del valore dinamico con il parametro
  5. Verifica modifiche

Comprensione della funzione Web_reg_save_param

VUGen fornisce più funzioni o API per correlare i candidati, tra cui:

  • web_reg_save_param
  • web_reg_save_param_ex
  • web_reg_save_param_regexp
  • web_reg_save_param_xpath

Mentre qui viene fornita una breve introduzione, per una comprensione dettagliata delle funzioni e dei loro parametri, apri VUGen, scrivi la funzione (o usa Steps Toolbox), sposta un cursore sulla funzione e fai clic su F1: familiarizza con la guida di VUGen e crea un abitudine. Dovrai affrontarlo molto quando lavori nel settore.

Qui andiamo con i dettagli della funzione:

web_reg_save_param (Nome parametro, Limite sinistro, Limite destro)

Elenco degli attributi

Converti: i valori possibili sono:

HTML_TO_URL : converte i dati con codifica HTML in un formato di dati con codifica URL

HTML_TO_TEXT : converte i dati con codifica HTML in formato di testo normale; questo attributo è facoltativo.

Ignora reindirizzamenti : se "Ignora reindirizzamenti = Sì" è specificato e la risposta del server è informazioni di reindirizzamento (codice di stato HTTP 300-303, 307), la risposta non viene cercata. Invece, dopo aver ricevuto una risposta di reindirizzamento, la richiesta GET viene inviata alla posizione reindirizzata e la ricerca viene eseguita sulla risposta da quella posizione.

Questo attributo è facoltativo. L'impostazione predefinita è "Ignora reindirizzamenti = No".

LB: il limite sinistro del parametro o dei dati dinamici. Se non si specifica un valore LB, vengono utilizzati tutti i caratteri dall'inizio dei dati come confine. I parametri limite fanno distinzione tra maiuscole e minuscole. Per personalizzare ulteriormente il testo di ricerca, utilizzare uno o più flag di testo. Questo attributo è obbligatorio. Vedere la sezione Argomenti limite.

NON TROVATO : l'opzione di gestione quando non viene trovato un confine e viene generata una stringa vuota.

"Non trovato = errore", il valore predefinito, provoca la generazione di un errore quando non viene trovato un confine.

"Non trovato = avviso" ("Non trovato = vuoto" nelle versioni precedenti), non genera un errore. Se il limite non viene trovato, imposta il conteggio dei parametri su 0 e continua l'esecuzione dello script. L'opzione "warning" è ideale se vuoi vedere se la stringa è stata trovata, ma non vuoi che lo script fallisca.

Nota : se per lo script è abilitato Continua in caso di errore, anche quando NOTFOUND è impostato su "errore", lo script continua quando il limite non viene trovato, ma viene scritto un messaggio di errore nel file di registro esteso.

Anche questo attributo è facoltativo.

ORD : indica la posizione ordinale o l'istanza della corrispondenza. L'istanza predefinita è 1. Se si specifica "All", i valori dei parametri vengono salvati in un array. Questo attributo è facoltativo.

Nota: l'uso di Instance invece di ORD è supportato per compatibilità con le versioni precedenti, ma è deprecato.

RB: il limite destro del parametro o dei dati dinamici. Se non si specifica un valore RB, vengono utilizzati tutti i caratteri fino alla fine dei dati come confine. I parametri limite fanno distinzione tra maiuscole e minuscole. Per personalizzare ulteriormente il testo di ricerca, utilizzare uno o più flag di testo. Questo attributo è obbligatorio. Vedere la sezione Argomenti limite.

RelFrameID : il livello gerarchico della pagina HTML relativo all'URL richiesto. I valori possibili sono ALL o un numero. Fare clic su RelFrameID Attribute per una descrizione dettagliata. Questo attributo è facoltativo.

Nota: RelFrameID non è supportato negli script a livello di GUI.

SaveLen : la lunghezza di una sottostringa del valore trovato, dall'offset specificato, da salvare nel parametro. Questo attributo è facoltativo. Il valore predefinito è -1, che indica di salvare fino alla fine della stringa.

SaveOffset : l'offset di una sottostringa del valore trovato, da salvare nel parametro. Il valore di offset deve essere non negativo. Il valore predefinito è 0. Questo attributo è facoltativo.

Cerca: l'ambito della ricerca, dove cercare i dati delimitati. I valori possibili sono Headers (Cerca solo le intestazioni), Body (cerca solo i dati del corpo, non le intestazioni), Nessuna risorsa (cerca solo il corpo HTML, escluse tutte le intestazioni e le risorse) o ALL (cerca corpo, intestazioni e risorse) . Il valore predefinito è ALL. Questo attributo è facoltativo ma generalmente preferito.