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.
