Azioni dentro QTP/UFT con l'esempio
⚡ Riepilogo intelligente
Azioni dentro UFT/QTP Suddividere uno script di test in unità logiche e riutilizzabili consente ai tester di creare, gestire e condividere l'automazione più rapidamente. Questa pagina spiega i tre tipi di azioni, come suddividerle e richiamarle e come passare dati tra le azioni.
Che cos'è un'azione in UFT/QTP?
Azione in UFT/QTP Suddividere un test in "unità logiche" o "processi aziendali". Ogni azione raggruppa i passaggi che eseguono un'attività riconoscibile, come l'accesso, la ricerca di un volo o la prenotazione di un biglietto. Le azioni contribuiscono a creare uno script più modulare ed efficiente.
Quando uno script viene creato per la prima volta, è composto da una sola azione. Puoi aggiungere altre azioni al tuo Micro Focus UFT lo script secondo i requisiti, e ogni azione aggiunta mantiene la propria logica e i propri dati locali separati dal resto del test.
Suddividere uno script lungo in azioni si rivela vantaggioso nel momento in cui un test deve essere modificato. Un tester può aggiornare un'azione, come la sequenza di accesso, senza dover intervenire sulla logica di ricerca o di pagamento presente in altre azioni. Questo isolamento trasforma inoltre le azioni in blocchi riutilizzabili che altri script possono richiamare, evitando così di dover registrare nuovamente gli stessi passaggi.
Uno script tipico per la prenotazione di un volo, ad esempio, si suddivide ordinatamente in un'azione di accesso, un'azione di ricerca del volo e un'azione di prenotazione del biglietto. Ognuna di esse ha i propri passaggi e dati locali, quindi un tester che deve solo verificare l'accesso non deve registrare o gestire l'intero flusso di prenotazione.
Tipi di azioni in UFT/QTP: Riutilizzabile, non riutilizzabile ed esterno
UFT/QTP Sono supportati tre tipi di azioni e il tipo scelto determina se un'azione può essere condivisa tra gli script o rimane privata al test in cui è stata creata.
| Tipo di azione | Dove può correre | Modificabile nel test di chiamata |
|---|---|---|
| Riutilizzabile | Stesso test, più volte, o qualsiasi altro test | Sì, dal test che lo possiede |
| Non riutilizzabile | Solo il test in cui è stato creato, e solo una volta | Si |
| Riutilizzabile esterno | Chiamata da un altro test come azione condivisa e memorizzata | No, è di sola lettura; è modificabile solo la copia locale della tabella dati. |
Un'azione riutilizzabile diventa un azione esterna Nel momento in cui un test diverso lo richiama invece del test che lo gestisce, le azioni esterne rimangono di sola lettura nel test chiamante perché un'azione condivisa può essere utilizzata da decine di script contemporaneamente e consentire a ogni chiamante di modificarne i passaggi comprometterebbe gli altri. È comunque possibile parametrizzare la chiamata e lavorare localmente con una copia della relativa tabella dati.
Come regola generale, è consigliabile che una nuova azione non sia riutilizzabile finché la sua logica è specifica per un singolo test. PromoRendilo riutilizzabile non appena un secondo script necessita degli stessi passaggi e aspettati che si comporti come un'azione esterna di sola lettura nel momento in cui il secondo script la richiama effettivamente.
Come dividere, copiare e richiamare azioni in UFT
Man mano che un'azione cresce, mantieniping Ogni passaggio in un unico punto rende lo script più difficile da sottoporre a debug e riutilizzare. UFT consente di suddividere un'azione esistente in due modi quando diventa ingestibile.
- Separazione indipendente (tra fratelli): L'azione selezionata si divide in due azioni separate che vengono eseguite una dopo l'altra, ciascuna mantenendoping la propria tabella dati locale.
- Suddivisione annidata (genitore-figlio): L'azione selezionata si suddivide in un'azione principale il cui ultimo passaggio richiama la seconda azione secondaria, preservando una dipendenza logica tra le due.
Una volta che le azioni esistono, UFT offre tre modi per portare un'azione in un test dal inserire menù:
- Inserire un invito a una nuova azione: Crea una nuova azione vuota all'interno del test corrente.
- Inserire la call to action: Copia un'azione esistente nella sua interezza, inclusi i checkpoint, la parametrizzazione e la relativa scheda Tabella dati, nel test chiamante. La copia è completamente indipendente, quindi le modifiche non influiscono sull'originale né vengono influenzate da esso. È possibile copiare sia azioni riutilizzabili che non riutilizzabili.
- Inserire un invito all'azione esistente: Inserisce una chiamata di sola lettura a un'azione riutilizzabile memorizzata in un altro test. Può essere modificata solo nel test in cui è stata creata, il che mantiene sincronizzati tutti i chiamanti e semplifica la manutenzione di suite di test di grandi dimensioni.
Ogni chiamata si riduce a un RunAction Dichiarazione contenuta nel parere dell'esperto:
' Calls Action2, which is stored in Test2, running it for one iteration RunAction "Action2[Test2]", oneIteration
L'azione viene eseguita tante volte quanto specificato nelle sue proprietà di chiamata. Ad esempio, se l'azione 2 è impostata per essere eseguita a ogni iterazione della tabella dati di Test2, ma l'azione chiamante 1 in Test1 viene eseguita una sola volta, l'azione 2 verrà comunque eseguita una sola volta, perché la chiamata stessa viene attivata una sola volta.
Suggerimento: Quando un test contiene diverse azioni, apri il Flusso di prova riquadro dal menu Visualizza per trascinarli e riordinarli. Ciò modifica la sequenza in cui UFT esegue le azioni senza modificare i passaggi all'interno di ciascuna singola azione.
Il video qui sotto si basa sullo script di accesso in cinque passaggi creato nei tutorial precedenti per Prenotazione di volo e illustra passo passo la creazione, la suddivisione e la chiamata delle azioni. È il video più lungo di questo UFT/QTP serie di tutorial, quindi è utile prendere appunti mentre si guarda.
Clicchi Qui. se il video non è accessibile
Come passare parametri e memorizzare valori di output tra azioni
Oltre a richiamare un'azione, la maggior parte degli script reali deve trasferire dati al suo interno e leggere il risultato ottenuto. UFT assegna a ogni azione i propri parametri di input e output, oltre a diversi modi per memorizzare i risultati restituiti.
Passaggio di parametri da e verso un'azione
Proprio come funzioni o metodo nei linguaggi di programmazione, un'azione può definire input e output parametriQuesto parametro non ha alcuna relazione con Parametrizzazione dei dati di prova trattato in precedenza; i parametri qui appartengono all'azione stessa, non a una colonna della tabella dati. Configurali da Modifica > Azione > Proprietà dell'azioneoppure facendo clic con il pulsante destro del mouse sull'azione nella Vista parole chiave. Passa i valori nella chiamata utilizzando questa sintassi:
' Passes an input value and captures the action's output into myResult RunAction "Action1", oneIteration, "testuser", myResult
Memorizzazione del valore di output di un'azione
A seconda delle esigenze del resto dello script, è possibile memorizzare il valore restituito da un'azione in uno dei tre seguenti posti:
- Una variabile:
RunAction "Action1", oneIteration, "testuser", myResultmemorizza l'output direttamente inmyResult. - An variabile d'ambiente: creare una variabile definita dall'utente sotto File > Impostazioni > Ambiente, quindi scrivi
RunAction "Action1", oneIteration, "testuser", Environment("env_var"). - Una colonna della tabella dati:
RunAction "Action1", oneIteration, "testuser", DataTable("A", dtGlobalSheet)scrive il risultato direttamente nel foglio globale.
Schede dati globali e locali
Le azioni leggono e scrivono i dati di test attraverso due tipi di fogli. Scheda dati globale è unico per l'intero test; qualsiasi azione può leggerlo o scriverci, ed è sempre denominato "Globale". Scheda dati locale è univoco per ogni azione, prende il nome da quell'azione e solo la propria azione può leggerlo o scriverlo.
Uscita da un'azione e controllo dell'iterazione
Quando un passaggio deve interrompere un'azione in anticipo piuttosto che lasciarla proseguire fino al completamento, UFT fornisce quattro affermazioni:
ExitAction— interrompe solo l'azione in corso.ExitActionIteration— interrompe l'iterazione corrente dell'azione e passa alla successiva.ExitRun— interrompe immediatamente l'intera esecuzione del test.ExitGlobalIteration— interrompe l'attuale iterazione del test globale e passa alla successiva.
Durante l'esecuzione di a UFT/QTP copione che utilizza azioni, tieni presente le iterazioni globali e le iterazioni locali, poiché entrambe influenzano quante volte un'azione viene effettivamente eseguita. Puoi modificare la frequenza con cui si ripete un'azione chiamata aprendo Proprietà della chiamata di azione > Esegui scheda e impostando lì la modalità di iterazione.
⚠ Errore comune: Un'azione chiamata, impostata per essere eseguita a ogni iterazione locale ma attivata da un'azione padre che viene eseguita una sola volta, verrà comunque eseguita una sola volta. Prima di presumere che un'azione chiamata si ripeta, verificare sia il conteggio delle iterazioni globali dell'azione padre sia le proprietà di chiamata dell'azione figlia.

