parameterization qtp explained with examples qtp tutorial 19
=> Fare clic qui per la serie di tutorial di formazione QTP
Cosa imparerai:
- Cos'è la parametrizzazione QTP?
- Tipi di parametrizzazione in QTP
- Parametrizzazione in QTP utilizzando Datatable con esempio
- Lettura consigliata
Cos'è la parametrizzazione QTP?
A volte l'applicazione non accetta record di dati duplicati. In questo caso, se si esegue lo stesso script di test con un set fisso di dati di input, un'applicazione potrebbe generare un errore a causa della duplicazione dei dati. Per evitare questo problema, QTP fornisce modi per accettare diversi input di test per lo script di test.
Questo processo di fornitura di valori di input diversi tramite parametri esterni è chiamato parametrizzazione
Tipi di parametrizzazione in QTP
Il valore della variabile può essere oppure i tipi di parametro possono essere:
- Parametri della tabella dati
- Parametri di test / azione
- Parametri delle variabili d'ambiente
- Parametri di numeri casuali
In questo tutorial QTP, ci concentreremo principalmente sulla parametrizzazione utilizzando Datatable. Spiegheremo altri tipi di metodi di parametrizzazione nel prossimo tutorial.
Parametrizzazione in QTP
Supponiamo che tu stia cercando di scrivere un programma che controlla i valori di accesso per un paio di utenti su gmail.com. Quello che segue è il codice che hai per un utente ma vuoi che lo stesso assuma valori diversi ogni volta. Come fai a fare questo?
Codice per accedere a Gmail per un utente:
VPN solo per streaming
SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Email').Set 'swatiseela' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Passwd').SetSecure 'sfgs686898' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click
Ora vai alla visualizzazione Parola chiave e fai clic sulla colonna del valore per le dichiarazioni di ID e-mail e password impostate.
La schermata tipica che si apre quando si tenta di parametrizzare:
Come puoi vedere, il valore può essere una costante, 'swatiseela' in questo caso, l'ID di accesso.
Oppure, se scegli l'opzione parametrizza, i campi corrispondenti nella schermata vengono attivati.
Da questa schermata è possibile scegliere di parametrizzare il valore scelto con un valore della tabella dati, variabile d'ambiente o un numero casuale. Poiché la fonte più utilizzata è la tabella dei dati, ne discuteremo prima.
Oltre a questi, è possibile utilizzare i valori di input e output di una determinata azione come parametro per un valore. Discuteremo anche di questo tra un po '.
Parametrizzazione in QTP utilizzando Datatable con esempio
Parametrizzazione in QTP utilizzando Excel
Ho controllato il valore del parametro su ON e poi c'è una posizione nel campo Datatable che segue il nome.
Nome Il nome della colonna corrispondente nella tabella dei dati da cui devono essere presi i dati. Per impostazione predefinita, QTP suggerirà un nome. Hai la possibilità di mantenerlo come suggerito o modificarlo secondo necessità.
Globale Foglio: Questo foglio di dati è disponibile per tutte le azioni in un test.
Foglio azione corrente o foglio locale: come suggerisce il nome, è il foglio di dati disponibile per una determinata azione.
Vado a più righe di dati nel foglio dati globale. È qui che torna utile lo strumento di codifica della password. È possibile inserire valori crittografati nel foglio dati ottenuto da questo strumento.
Ecco come appare la mia scheda tecnica:
Dopo la parametrizzazione ecco come appare il codice:
SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Email').Set DataTable('SignInName', dtGlobalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Passwd').SetSecure DataTable('GPassword', dtGlobalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Close
Vedrai nel codice sopra che i valori per l'ID e-mail e la password sono presi dalla tabella dei dati.
Questo codice verrà eseguito per tutte le 4 righe di dati nel foglio globale se nella schermata seguente imposto l'opzione 'Esegui su tutte le righe' su ON:
Per ogni evenienza, se non desideri utilizzare la schermata sopra per decidere quante righe deve essere eseguito il codice, puoi farlo in modo programmatico. Per questo, è necessario selezionare l'opzione 'Esegui solo un'iterazione' nella schermata sopra e scrivere il codice nel modo seguente:
software password cracker download gratuito versione completa
for i=1 to datatable.GetRowCount SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync datatable.SetCurrentRow(i) varName=datatable.value('SignInName') varPwd=datatable.Value('GPassword') Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Email').Set varName Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Passwd').SetSecure varPwd Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Close next
Quando si esegue un test che viene eseguito per 2 iterazioni, ecco come apparirà la schermata dei risultati del test:
Vorrei dedicare un po 'di tempo ad esaminare il codice e cercare di capire perché ogni riga e il suo ordine sono importanti per la corretta esecuzione del test:
- Perché apro il browser all'interno del ciclo 'for'?
- Perché ci sono istruzioni di sincronizzazione ovunque?
- Perché chiudiamo programmaticamente il browser alla fine invece di lasciare che l'opzione 'Registra ed esegui impostazioni - Chiudi il browser alla chiusura del test' si occupi di questo per noi?
- Ancora una volta, perché l'istruzione close si trova all'interno del ciclo 'for'?
Si noti che nella parte di codice sopra, non ho dichiarato le variabili in questo test, non ho indentato le istruzioni o fornito commenti. Questo è deliberato in quanto non volevo diluire l'essenza delle affermazioni. Il seguente concetto risponderà a queste domande:
Stato del tuo AUT:
La regola di base è: ogni iterazione dovrebbe iniziare con l'AUT nello stesso stato e terminare nello stesso stato.
- Se l'istruzione per aprire la pagina gmail.com fosse al di fuori del ciclo for, il test avrebbe funzionato bene per la prima iterazione ma per quella successiva la pagina gmail.com non sarebbe stata aperta e il test fallirebbe.
- Se l'istruzione per chiudere il browser non è inclusa nel test, il test aprirà un browser a ogni iterazione e si finirebbe per avere tante istanze del browser aperte al numero di righe nella tabella dati.
- Immagina se l'istruzione close fosse al di fuori del ciclo for, anche tu finirai con troppi browser.
- Dichiarazione di sincronizzazione: questo forza il test QTP ad attendere fino a quando una determinata pagina viene caricata completamente prima di iniziare a eseguire una determinata operazione su di essa.
Cerca sempre di riportare l'applicazione nello stato in cui è iniziata. Questo ti assicurerà di fornire la stessa interfaccia per ciascuna delle tue iterazioni con cui interagire.
Di seguito è riportato il pezzo di codice quando si utilizza un foglio locale invece del globale:
Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Email').Set DataTable('Name', dtLocalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Passwd').SetSecure DataTable('Pwd', dtLocalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebButton('Sign in').Click
In QTP puoi parametrizzare valori di:
- Checkpoint.
- Proprietà dell'oggetto per un passaggio selezionato.
- Argomenti dell'operazione definiti per un passaggio selezionato.
- Una o più proprietà di un oggetto memorizzato nel repository di oggetti locale nella finestra di dialogo Proprietà oggetto o nella finestra Repository oggetti.
Quanto sopra è anche un esempio di dati che guidano un determinato test. Vedremo come parametrizzare usando il altri tipi di parametri nel prossimo articolo.
=> Visita qui per la serie di tutorial di formazione QTP
Lettura consigliata
- Parametrizzazione in QTP (Parte 2) - Tutorial QTP # 20
- Tutorial QTP - Oltre 25 tutorial di formazione Micro Focus Quick Test Professional (QTP)
- Selenio Trova elemento per tutorial di testo con esempi
- Tutorial approfonditi su Eclipse per principianti
- Tutorial QTP n. 18 - Framework basati sui dati e ibridi spiegati con esempi QTP
- Tutorial QTP n. 6 - Comprensione del record QTP e delle impostazioni di esecuzione per il nostro primo test
- Tutorial QTP # 24 - Utilizzo di oggetti virtuali e scenari di ripristino nei test QTP
- Programmazione descrittiva in QTP e connessione al database in QTP - Tutorial # 25