< Indietro | Avanti >

Lezione 10: utilizzare espressioni regolari

L'ultima operazione con la mappa di oggetti è la conversione di un valore della proprietà in un'espressione regolare. In questo caso, l'espressione regolare fornisce una maggiore flessibilità nel riconoscimento dell'oggetto.
Si è appena visto come lo script viene convalidato ("passa") completamente in ClassicsB. Questo era l'obiettivo, poiché le modifiche effettuate all'applicazione in ClassicsB sono corrette. Quindi, lo script è ora nella stato corretto per procedere. Ora, quando si riproduce lo script su ClassicsA, si verifica un malfunzionamento a causa delle modifiche effettuate in precedenza. È consigliabile consentire a più di una variante di un oggetto di "passare" le verifiche senza errori. È possibile disporre di un oggetto dinamico o varie versioni dell'applicazione con versioni leggermente diverse di un oggetto, entrambe corrette. È possibile utilizzare un'espressione regolare per consentire più di una versione di un valore di una proprietà, come ad esempio testo, per questo scenario.

Aprire la mappa di oggetti e unificarli

  1. Per eseguire la riproduzione su ClassicsA, modificare il comando startApp in alto a destra dello script e modificare B in A.
  2. Fare clic su Esegui script di Functional Test sulla barra degli strumenti di Functional Test. Durante la riproduzione, Functional Tester effettua una pausa sull'oggetto casella di controllo password, ma arriva alla fine. Ora lo script restituisce un avviso. Notare nel log che si tratta dello stesso oggetto, l'oggetto di test rememberPassword.
  3. Chiudere il log ed aprire quindi la mappa di oggetti dall'oggetto casella di controllo password, come si è fatto nella Lezione 8, facendo doppio clic su rememberPassword in Esplora script.
  4. Nella mappa di oggetti, aprire l'applicazione facendo clic su Applicazioni > Esegui. Selezionare ClassicsJavaA e fare quindi clic su OK.
  5. Selezionare un CD e fare clic su Ordine in ClassicsCD per aprire la finestra Registrazione membro.
  6. Aggiungere il nuovo oggetto alla mappa facendo clic su Oggetto del test > Inserisci oggetto(i).
  7. Utilizzare Ricerca oggetti per selezionare la casella di controllo password nella finestra Registrazione membro nell'applicazione.
  8. Fare clic su Avanti, quindi fare clic su Fine.
  9. Nel riquadro in alto della mappa di oggetti, trascinare il vecchio oggetto casella di controllo sul nuovo oggetto casella di controllo per unificare gli oggetti.
  10. Allargare la procedura guidata Unifica oggetti di test trascinando uno dei lati verso l'esterno per allungare i campi, se occorre.

    Si utilizzeranno due espressioni regolari diverse: una sulla proprietà nome e una sulla proprietà text.

    L'oggetto unificato viene visualizzato nella griglia Proprietà oggetto di test unificato (riquadro superiore); la proprietà nome ha un valore di checkRemember.

Convertire un valore di proprietà in un'espressione regolare

  1. Nel pannello superiore, fare clic con il tasto destro del mouse sul valore checkRemember e fare quindi clic su Converti valore in espressione regolare.

    Functional Tester designa il valore come espressione regolare con l'icona "xy" davanti al testo del valore.

  2. Fare di nuovo doppio clic sul valore nome, in modo che sia possibile modificare il campo.
  3. Eliminare la parola check e modificare quindi il resto come: [rR]emember.
  4. Fare clic fuori dalla cella.

    Con questo modello, la parola "remember" passerà sia con la "R" maiuscola che con la "r" minuscola. Ciò è importante perché i confronti sono sensibili alle maiuscolo/minuscole e solo una corrispondenza esatta verrà accettata ("passerà"). Il valore della proprietà text è "Ricorda password".

  5. Fare clic con il tasto destro del mouse sul valore Ricorda password e quindi selezionare Converti valore in espressione regolare per convertirlo.
  6. Fare doppio clic sul valore e modificarlo nel seguente modo: Remember.*Password. Lo spazio e stato eliminato ed è stato aggiunto il punto (.) e i caratteri asterisco (*).
  7. Fare clic su un'altra cella.

    Il punto "." consente la visualizzazione di qualsiasi carattere in quella posizione. In una versione dell'applicazione è presente uno spazio tra le due parole in questa proprietà e nell'altra versione non è presente alcuno spazio. Questo modello copre entrambi i casi.

  8. Fare clic su Avanti, quindi fare clic su Fine.
  9. Fare clic su File > Salva nella mappa di oggetti per salvare le modifiche e chiudere quindi la mappa di oggetti.
  10. Chiudere ClassicsCD.
  11. Riprodurre di nuovo lo script su ClassicsA. Il punto di verifica immagine e il punto di verifica proprietà riporteranno un errore. Il punto di verifica immagine riporta un errore in quanto l'altezza e la larghezza dell'oggetto javax.swing.JLabel sono differenti. Il punto di verifica delle proprietà riporta un errore in quanto il testo Ordini per Trent Culpito non è mai diventato un'espressione regolare. L'avvertenza di riconoscimento dell'oggetto in ClassicsA non è più presente nel log.
  12. Chiudere il log.
  13. Modificare il comando startApp per riprodurre ClassicsB ed eseguire quindi lo script.

    Il riconoscimento dell'oggetto "passa" anche su ClassicsB! Le espressioni regolari offrono un riconoscimento più flessibile per un oggetto con proprietà diverse in varie versioni di un'applicazione, ed entrambe vengono riconosciute durante la riproduzione. Per ulteriori informazioni sulle espressioni regolari, consultare l'aiuto di Functional Tester.

< Indietro | Avanti >

Feedback