< Indietro | Avanti >

Lezione 8: aggiornare la mappa di oggetti

In questa lezione, sarà corretto l'avviso di riconoscimento dell'oggetto utilizzando la mappa di oggetti. Sarà utilizzata anche un'espressione regolare per un riconoscimento dell'oggetto più flessibile.
Quando si visualizza un errore o un avviso di riconoscimento, controllare il messaggio di log. Alla fine della lezione 7, si è lasciato il log aperto. Se non è aperto, aprirlo facendo doppio clic su di esso nella vista Progetti. Nel log rimane un singolo avviso. L'intestazione di eventi è Il riconoscimento di oggetti è debole (al di sopra della soglia di avviso).
  1. Visualizzare i campi ObjectLookedFor e objectFound nella sezione di avviso, posta accanto alla parte inferiore del log.

    In ClassicsA, il nome del campo della password è Ricorda password. In ClassicsB è Ricorda la password. Quando viene riprodotto lo script in ClassicsB, il riconoscimento di oggetto non corrisponde a causa di questa differenza.

  2. Visualizzare il campo Numero di riga nel log. Annotare il numero e chiudere il log per ritornare a Functional Tester.
  3. Fare clic in qualunque punto nella finestra Script, quindi fare clic su Naviga > Vai alla riga.
  4. Immettere il numero di riga dal messaggio di errore del log e fare quindi clic su OK.

    Il cursore si sposta sul margine sinistro di tale numero di riga.

    Nota: È anche possibile rilevare il numero di riga visualizzando l'indicatore nella parte inferiore della finestra Functional Tester. Ad esempio: "43:9" fa riferimento alla posizione 9 sulla riga 43.
    La riga dello script dovrebbe essere:
    RememberPassword().clickToState(SELECTED); 
    Questa riga indica la selezione sulla casella di controllo della password. Questa riga nello script mostra l'oggetto per cui si sta verificando il malfunzionamento. È ora possibile ricercare tale oggetto nella mappa di oggetti.
  5. Per trovare l'oggetto, tornare all'elenco Oggetti del test in Esplora script (pannello destro). Sotto la cartella Oggetti del test dovrebbe essere elencato rememberPassword.

Visualizzare le proprietà di riconoscimento di oggetto nella mappa di oggetti

  1. Fare doppio clic sull'oggetto rememberPassword per aprirlo nella mappa di oggetti.
  2. Fare clic su Oggetto del test > Accetta tutto nel menu della mappa di oggetti. Se il comando è di colore grigio, non eseguire alcuna azione.

    Il colore del testo di tutti gli oggetti viene modificato in nero. Il testo è blu (per indicare i nuovi oggetti) fino a quando non si accettano gli oggetti in una mappa. Accettare gli oggetti la prima volta che si visualizza una mappa di oggetti di nuova creazione.

  3. Se l'oggetto casella di controllo della password non è selezionato nella mappa, selezionarlo. (Si tratta dell'oggetto denominato Java: checkBox: checkRemember: javax.swing.JCheckBox).
  4. Visualizzare le proprietà di riconoscimento elencate nella scheda Riconoscimento nella parte inferiore della mappa di oggetto.

    È possibile vedere che si tratta dell'oggetto di ClassicsA, poiché indica Ricorda password nella proprietà text. Questo è il "vecchio" oggetto. Tuttavia, quando è stato riprodotto lo script in ClassicsB, il testo per l'oggetto è stato modificato, quindi Functional Tester lo riconosce come "nuovo". In questo caso, si desidera utilizzare le proprietà del nuovo oggetto, quindi è necessario aggiungerlo alla mappa.

Aggiungere il nuovo oggetto alla mappa

Per aggiungere il nuovo oggetto alla mappa, aprire ClassicsB ed aprire quindi la finestra Registrazione membro.
  1. Fare clic su Applicazioni > Esegui nel menu della mappa di oggetti.
  2. Selezionare ClassicsJavaB. (Assicurarsi di selezionare B).
  3. Fare clic su OK.
  4. In ClassicsCD, selezionare qualsiasi CD e fare quindi clic su Ordine.

    Viene visualizzata la finestra Registrazione membro.

  5. Spostare la mappa dell'oggetto nella parte inferiore del pannello, se necessario, per visualizzarne tutto il contenuto. Nel menu della mappa di oggetti, fare clic su Oggetto del test > Inserisci oggetto(i).

    Ciò equivale allo strumento Ricerca oggetti nella pagina Seleziona oggetto della procedura guidata Punto di verifica.

  6. Deselezionare la casella di controllo Dopo la selezione di un oggetto avanzare alla pagina successiva, se è selezionata.
  7. Utilizzare lo strumento Ricerca oggetto per selezionare la casella di controllo Ricorda la password nella finestra Registrazione membro.

    Dopo avere selezionato la casella di controllo, si vedrà che la proprietà text è ora Ricorda la password. Espandere i bordi della mappa di oggetti, se necessario, per visualizzare le proprietà.

  8. Sulla pagina Seleziona oggetto, fare clic su Avanti.
  9. Non modificare nulla nella pagina Seleziona opzioni dell'oggetto e fare quindi clic su Fine.

    Il nuovo oggetto casella di controllo viene ora mostrato nella mappa di oggetti.

  10. Fare clic su un altro oggetto e notare che la nuova voce viene elencata in colore blu e la parola "Nuovo" viene visualizzata all'inizio della riga.

    Il nuovo oggetto e quello vecchio sono elencati nella mappa. Si desidera unificare i due oggetti e prendere da essi le proprietà che si desiderano per il nuovo oggetto.

Unificare gli oggetti

  1. Per unificare gli oggetti, fare clic sul vecchio oggetto (la casella di controllo originale con nome CheckBox: checkRemember) e trascinarlo sul nuovo oggetto nell'elenco. Puntare il cursore sul nuovo oggetto prima di rilasciare il tastino del mouse. Rilasciare quindi il tastino del mouse.

    Viene aperta la procedura guidata Unifica oggetti del test.

  2. Allargare la procedura guidata Unifica, se necessario, per visualizzare più informazioni nelle sezioni inferiori.

    Nella sezione in basso a sinistra, vengono visualizzate le proprietà dell'oggetto originale. Dovrebbero essere denominate "Source: RememberPassword." Questo è il testo che era presente sulla casella di controllo in ClassicsA. Nella sezione in basso a destra, dovrebbe essere denominato "Target: RememberThePassword." Questo è il testo che è presente sulla casella di controllo in ClassicsB.

    Poiché si è trascinato il vecchio oggetto sul nuovo oggetto, le proprietà di riconoscimento del nuovo oggetto sono compilate nella parte superiore della procedura guidata. In generale, Functional Tester inserisce le nuove proprietà all'inizio se si tratta delle proprietà preferite. Tuttavia, alcune vecchie proprietà amministrative potrebbero essere preferite. Ad esempio, Functional Tester conserva le espressioni regolari nella vecchia serie di proprietà. Per utilizzare una proprietà dal vecchio oggetto, fare doppio clic su tale proprietà nella griglia del vecchio oggetto ed essa sarà copiata nell'oggetto unificato. In tal caso, si desidera utilizzare tutte le proprietà del nuovo oggetto, che sono già compilate.

  3. Fare clic su Avanti.

    Vengono elencati tutti gli script influenzati da questa modifica nella mappa di oggetti. Solo uno script, Classics, è influenzato.

  4. Fare clic su Fine.
  5. Nella mappa di oggetti, fare clic sul menu File > Salva sulla barra degli strumenti della mappa di oggetti per salvare le modifiche apportate e chiudere quindi la mappa di oggetti.

Riprodurre di nuovo lo script

Ora si eseguirà nuovamente la riproduzione dello script in ClassicsB per confermare che non dà errori ("passa").
  1. Chiudere entrambe le caselle di dialogo di ClassicsCD.
  2. In Functional Tester, fare clic su Esegui script di Functional Test sulla barra degli strumenti.
  3. Selezionare il log Classics e fare quindi clic su Fine.

    Lo script ora passa senza avvertenze! Notare che la riproduzione non viene più interrotta sull'oggetto casella di controllo della password, poiché le proprietà di riconoscimento ora corrispondono.

    Questa unificazione di oggetti indica un metodo semplice per aggiornare gli script quando le proprietà di riconoscimento dei un oggetto vengono modificate in modo volontario. Uno dei principali vantaggi di questa funzione è che se la mappa di oggetti viene utilizzata da molti script, è possibile aggiornarli tutti quando si apporta la modifica nella procedura guidata. Invece di modificare manualmente più script, è possibile apportare la modifica una sola volta nella mappa e detta modifica viene quindi propagata automaticamente a tutti gli script che la utilizzano. Tale funzione consente di risparmiare tempo.

    Esiste anche un altro metodo più semplice per aggiornare le proprietà di riconoscimento di un oggetto del test, se subiscono delle modifiche. Invece di utilizzare la procedura Unifica come descritto in questa esercitazione, nella Mappa di oggetti è possibile selezionare l'oggetto del test di cui si desidera aggiornare le proprietà di riconoscimento. Fare clic con il tasto destro del mouse sull'oggetto del test come viene visualizzato nella struttura ad albero Mappa di oggetti e selezionare Aggiorna proprietà di riconoscimento dal menu a comparsa. Sarà necessario fare in modo che l'applicazione del test sia in esecuzione quando questa azione viene eseguita in modo tale che Functional Tester possa ottenere le proprietà di riconoscimento aggiornate. Utilizzare questo metodo di aggiornamento solo se non si desidera utilizzare le proprietà del vecchio oggetto.
  4. Chiudere il log.
< Indietro | Avanti >

Feedback