Una mappa di oggetti contiene ogni oggetto su cui si è agito durante la registrazione e le proprietà di riconoscimento dell'oggetto. Per ogni proprietà, la mappa contiene anche un peso che indica in che misura Rational Functional Tester si affida a tale proprietà per il riconoscimento.
La mappa di oggetti può essere compilata automaticamente quando viene registrato uno script oppure manualmente aggiungendo oggetti alla mappa.
La mappa di oggetti assiste in una efficiente manutenzione degli script. Quando gli oggetti nell'AUT (application under test) vengono modificati, la mappa di oggetti è una singola origine che è possibile aggiornare. Aggiornando la mappa, tutti gli script che fanno riferimento all'oggetto modificato utilizzano le informazioni aggiornate sull'oggetto.
Rational Functional Tester distingue gli oggetti in base alle proprietà di riconoscimento e alla gerarchia. Ad esempio, se un pulsante esiste in una diversa finestra di livello superiore, esso si presenta come un pulsante differente nella mappa. Se due o più oggetti differenti hanno lo stesso nome, per rendere univoco il nome Rational Functional Tester aggiunge dei suffissi numerici al nome dell'oggetto che è secondo, terzo e così via.
Se ci sono due istanze identiche di un oggetto, come ad esempio due istanze di un browser, Rational Functional Tester fornisce un metodo per gestire l'identificazione.
Una mappa di oggetti privata viene utilizzata da un singolo script. Una mappa di oggetti pubblica (condivisa) è utilizzata da più script. L'impostazione predefinita prevede che ogni script utilizzi una mappa di oggetti privata. Ciò è appropriato per singoli utenti che stanno iniziando ad acquisire dimestichezza con tale strumento. Tuttavia, un team di tester che lavora su una applicazione comune deve utilizzare una mappa di oggetti condivisa in modo da potersi avvalere di oggetti definiti in modo globale in una singola mappa.
I pesi indicano quanto sia importante una specifica proprietà per identificare un oggetto durante l'esecuzione dello script. Le impostazioni possibili vanno da 0 (non importante) a 100 (molto importante). È possibile modificare i pesi della maggior parte delle proprietà. La proprietà .class è fissa e non può essere modificata.
Se si imposta il peso su 0, il valore di tale proprietà viene ignorato quando si prova a identificare un oggetto.
Utilizzare lo strumento di configurazione delle proprietà dell'oggetto per assegnare nuovi pesi predefiniti alle proprietà e definire anche delle nuove proprietà da utilizzare quando si identificano oggetti nelle future registrazioni.
È possibile utilizzare il programma di utilità Trova e modifica della mappa di oggetti per trovare tutti gli oggetti che corrispondono a un criterio quale il nome proprietà, il valore proprietà o vari filtri personalizzati. Le azioni che è possibile eseguire sugli oggetti corrispondenti includono Aggiungi proprietà, Rimuovi proprietà, Modifica valore e Modifica peso. Le modifiche possono essere applicate agli oggetti uno per volta o globalmente.
Sì. Per unire gli script, creare una nuova mappa pubblica facendo clic su . Se si apre una pagina della procedura guidata, chiuderla. Fare clic con il tasto destro del mouse sulla mappa creata e selezionare Unisci oggetti a. Nella finestra di dialogo visualizzata, selezionare gli script da unire. Accertarsi di selezionare la casella di spunta Collega script Functional Tester selezionati per collegare gli script selezionati alla nuova mappa di oggetti unita.
Per informazioni sull'unione di più mappe, consultare Unione di più associazioni oggetti di test.
Se le proprietà del nodo principale subiscono modifiche a causa di inserimenti o eliminazioni, o se alla gerarchia viene aggiunto un nuovo nodo, è possibile aggiornare la mappa. Per aggiornare la mappa, utilizzare l'editor di mappe per inserire riferimenti a oggetti che hanno un elemento principale di nuovo inserimento. Si hanno quindi dei riferimenti duplicati per gli oggetti secondari del nuovo oggetto. Per ciascuno di questi riferimenti, trascinare il vecchio oggetto in quello nuovo in modo che l'editor di mappe unifichi gli oggetti. È possibile utilizzare la stessa procedura per eliminare un oggetto dalla gerarchia di mappe.
Sì. Aprire l'oggetto nella mappa di oggetti e selezionare quindi . Utilizzare la ricerca oggetti per puntare all'oggetto. Quando viene visualizzata la finestra di dialogo Aggiorna proprietà di riconoscimento con i tre riquadri, fare clic con il tasto destro del mouse su una proprietà nel riquadro Tutte le proprietà attive e selezionare Aggiungi a proprietà dell'oggetto di test unificato.
No.
No.
Man mano che una mappa di oggetti cresce, il tempo richiesto per aprire e caricare la mappa aumenta.
Quando viene eseguito uno script, la mappa di oggetti viene caricata la prima volta che occorre durante l'esecuzione. Se si ha una suite di scenari di test che utilizza gli script di test funzionali, la mappa viene caricata quando viene eseguito ogni script perché ogni script è un processo separato. Una tipica installazione ha circa 2000-3000 oggetti (alcune mappe possono essere più grandi o più piccole).
Le metriche mostrate nella tabella 1 sono state calcolate in fase di runtime dello script ma possono anche applicarsi quando la mappa viene caricata. Mostrano che non si verifica un significativo aumento nel tempo di caricamento della mappa finché non viene rilevata una mappa con una dimensione ben oltre quella normale. Il tempo di riproduzione aumenta solo all'inizio dell'esecuzione dello script quando viene caricata la mappa e non rallenta l'esecuzione dello script dopo che la mappa è stata caricata. Inoltre, gli script nidificati (utilizzando la funzione callScript) che condividono la stessa mappa di oggetti condividono anche la stessa istanza di mappa durante l'esecuzione dello script. Pertanto, gli script nidificati non aumentano il tempo di caricamento.
| Oggetti nella mappa | Secondi per l'esecuzione totale dello script |
|---|---|
| 10 | X secondi |
| 600 - 2000 | X + 2 secondi |
| 2000 - 11000 | X + 3 secondi |
| più di 11000 | X +10 secondi |