Cos'è l'identificazione degli oggetti?
QTP utilizza anche una tecnologia "umana" per l'identificazione degli oggetti. Durante la registrazione, Time QTP cerca di apprendere le proprietà di un oggetto GUI su cui viene eseguita l'operazione. Durante il tempo di esecuzione, Micro Focus UFT confronta le proprietà dell'oggetto memorizzato con le proprietà effettive dell'oggetto disponibile sullo schermo e identifica in modo univoco un oggetto indipendentemente dalla sua posizione sullo schermo
L'oggetto memorizzato e insieme alle sue proprietà si chiama TEST Object
Durante il runtime, l'oggetto effettivo disponibile nell'applicazione sottoposta a test è denominato oggetto runtime
Questo è il "Test Object Model" di HP UFT
Cos'è il repository di oggetti?
Le informazioni sugli oggetti di prova vengono archiviate in Object Repository
I componenti aggiuntivi aiutano a istruire il test rapido in anticipo sulla natura dell'oggetto da registrare in modo da ridurre il tempo necessario per apprenderne le proprietà
Il seguente video tutorial mostra come QTP identifica un oggetto GUI (sullo schermo)
Fare clic qui se il video non è accessibile
QTP memorizza l'Oggetto e le sue proprietà nell'Object Repository per identificarli durante il runtime. Un oggetto potrebbe avere un gran numero di proprietà ad esso associate. Ad esempio, in ambiente Web, a un pulsante possono essere associate le seguenti proprietà.
Se QTP proverà a ricordare tutte le proprietà disponibili per un oggetto, la dimensione di Object Repository si gonfierà e il tempo di esecuzione dello script aumenterà drasticamente. Per evitare ciò, QTP per impostazione predefinita non memorizza tutte le proprietà di un oggetto ma un numero limitato di proprietà tipiche di un oggetto che aiuta nella sua identificazione univoca. Questa scelta di proprietà (da salvare a tempo di record) per vari ambienti e oggetti è memorizzata in Object Identification
Descrizione dell'oggetto, proprietà obbligatorie e assistive
Una proprietà di un oggetto e il relativo valore sono denominati Descrizione oggetto . La descrizione dell'oggetto viene utilizzata per identificare in modo univoco l'oggetto corrispondente. Ad esempio, per una proprietà WebButton "nome" e il suo valore "Login" insieme possono essere definiti come Descrizione oggetto per quel pulsante Web.
Per accedere, in QTP nel menu Strumenti, selezionare Identificazione oggetto. Nella finestra di dialogo Riconoscimento oggetti è possibile visualizzare un elenco a discesa di tutti gli ambienti installati e caricati.
È possibile selezionare un ambiente e QTP compila automaticamente l'elenco di tutti gli oggetti supportati appartenenti a quell'ambiente. Sulla destra QTP elenca le proprietà che verranno memorizzate per l'oggetto. L'elenco è diviso in
- Le proprietà obbligatorie verranno memorizzate per impostazione predefinita per quell'oggetto
- Proprietà assistive Nel caso in cui durante il tempo di registrazione dello script QTP NON possa creare una descrizione univoca dell'oggetto memorizzerà le proprietà assistive
Per capirlo meglio si consideri l'esempio di un'immagine web.
- QTP memorizzerà un valore di alt, tag HTML, tipo di immagine, proprietà obbligatorie anche se può identificarlo in modo univoco utilizzando solo la proprietà alt.
- Nel caso in cui non sia possibile creare una descrizione univoca utilizzando la proprietà obbligatoria, QTP memorizzerà la proprietà assistiva. In questo caso, QTP memorizzerà la proprietà della classe.
- Se questa proprietà aiuta a creare una descrizione univoca dell'oggetto, QTP non memorizzerà il nome del file e la proprietà height. Se una proprietà di classe non è sufficiente per creare una descrizione univoca, QTP memorizzerà la proprietà del nome del file. Se la proprietà filename crea una descrizione univoca, QTP non memorizzerà la proprietà height e così via.
- Si supponga che durante il tempo di registrazione, QTP abbia solo proprietà di classe memorizzate. In fase di esecuzione, QTP dimenticherà la distinzione tra proprietà obbligatorie e assistive e confronterà tutte le proprietà registrate.
- Anche se una delle proprietà non corrisponde al valore memorizzato, lo script non riesce