Eclipse Jubula è un nuovo tool di testing automatico che si aggiunge all’universo Eclipse, permettendo la creazione e l’esecuzione di test automatici delle GUI.
Jubula è costituito da un insieme di plugins che permettono il testing anche di applicazioni basate su architetture RCP.
In questo tutorial vedremo come lavorare con Jubula per creare, organizzare ed eseguire test di interfaccia su un semplice prodotto RCP.

Il tutorial è suddiviso in tre sezioni:
– La creazione di una applicazione RCP minimale
– Impostare correttamente l’AUT agent per operare tramite Jubula. (L’AUT agent è il meccanismo con cui Jubula comunica con l’applicazione che vogliamo testare.)

Step 1: Impostazioni iniziali

Come primo passo è necessario scaricare la versione di Eclipse orientata al Test:
Eclipse for Testers (Indigo Packages) The Eclipse Jubula Download
Download_Eclipse_Jubula

e l’applicazione Jubula Standalone da: The Jubula StandAlone Download
Download Jubula Standalone

Step 2: Creazione del progetto

Per iniziare creiamo il nostro progetto. Da una istanza di eclipse seguiamo i seguenti passi:
Dal menu “File” selezioniamo New” e poi “Plug-in Project”
(File/New/Project/Plug-in Development/Plug-in Project):

Nominiamo il plugin”com.rcpvision.rcpmailsampleÔÇØ.

Poi, confermiamo l’intenzione di creare una “rich client application”

E, in ultimo, scegliamo il template: ÔÇ£RCP Mail TemplateÔÇØ :

Possiamo decidere, selezionando “Yes”, di cambiare prospettiva e visualizzare la prospettiva dedicata allo sviluppo tramite plugin.
Viene così mostato il “MANIFEST.MF” con le informazioni indicanti le dipendenze da altri progetti e le opzioni per gli exports.
Da questa pagina è possibile gestire il progetto e lanciarlo: basta un semplice click su “LaunchÔÇØ come mostra la figura:

Step 3: Creazione del prodotto

Per usare Jubula è necessario creare il prodotto della nostra applicazione.
Iniziando con
(File/New/Product Configuration)

creiamo la configurazione per il prodotto. Nominiamolo “SimpleMail.product” e per concludere click su Finish e nel plugin com.rcpvision.rcpmailsample apparirà il file SimpleMail.product.

A questo punto bisogna esportare il Plugin Project:


E il risultato sarà un prodotto come questo illustrato in figura:

Step 4: Preparare e lanciare l’AUT Agent

AUT (Application Under Test) Agent è il demone di Jubula che fornisce il punto di aggancio tra l’esecutore del test e l’applicazione da testare.
Una volta che l’AUT Agent è stato avviato, è possibile realizzare un mapping degli oggetti grafici ed è possibile iniziare la fase di osservazione ed esecuzione dei test.

Step 4.1: Preparare l’AUT Agent

Lanciare ÔÇ£setup.exeÔÇØ per installare l’AUT AGENT.

Accettare e poi cliccare sul bottone “Next”

ancora “Next” ed infine…

Step 4.2: Lanciare l’AUT Agent

Per eseguire l’AUT Agent su Windows è necessario avere i diritti di amministrazione:

Ad installazione avvenuta sarà presente un icona verde sulla toolbar.

Step 4.3: Configurare un Prodotto per Jubula

Per permettere a Jubula di lavorare con l’applicazione RCP Mail è necessario estrarre l’archivio rcp-support.zip dalla directory di installazione di Jubula (AUT Agent) e copiare il contenuto nella cartella del prodotto (plugins folder).
Questo aggiungerà il plugin di aggancio di Jubula al prodotto, dopo averlo attivato modificando il file configuration/config.ini nella directory del prodotto.
C’è una lunga riga nel file che contiene la lista dei osgi.bundles, ed è necessario aggiungere il plugin Jubula alla fine di essa:

Infine, dopo tutti questi passi, Jubula sarà pronto per lavorare!

Step 5: Working with Jubula

Siamo finalmente pronti per aprire Jubula e creare i primi test.

Step 5.1: Avviare Jubula

Lanciare Jubula:

Step 5.2: Creazione di un nuovo Test Project

Guardando sulla Problem view, si troverà un suggerimento su cosa è necessario fare:

Anche se non dice come creare un nuovo progetto, si può trovare la seguente voce sul Test menu:
(Test/New)

Dare un nome al progetto e scegliere ÔÇ£rcpÔÇØ come toolkit e cliccare sul bottone ÔÇ£NextÔÇØ.

Pitfall: Assicurarsi che il test specifichi una configurazione di tastiera English (United States) o German (Germany). Questi sono le sole due configurazioni fornite out-of-the-box in Jubula al momento.

Ora è necessario dire a Jubula qual è l’oggetto del test (Jubula lo chiama ÔÇ£AUTÔÇØ):
Dare un nome all’AUT Agent e scegliere “rcp” come toolkit.

Cliccare “Proceed” per chiudere la dialog e continuare a lavorare sulla dialog dello wizard del New Project.
Ora è possibile specificare la configurazione dell’AUT semplicemente cliccando su “Next” oppure su “Finish” per terminare la configurazione momentaneamente e poi concluderla successivamente tramite “Project -> Properties”.

Per chiudere il menu di configurazione scegliere “Finish”.
Si può notare che un nuovo progetto “SimpleMailtest” è presente nella sezione “Test Browser”

Step 5.3: Configurare AUT per Test Project

Selezionando “Simple Test Mail” cliccare su

Test-> Properties

Click su “Edit”

Poi su “Add”

Digitare un nome per l’AUT Agent Host e selezionare il file .exe del prodotto nel campo “Executable File Name”.

Cliccando su “OK” viene creato il test Project. Per connettere l’AUT agent è necessario cliccare sulla freccia nera accanto all’icona , scegliere l’opzione “localhost: 600000”.

Ora, nella barra degli strumenti, cliccando sul tasto ÔÇ£Connect to AUT AgentÔÇØ, si stabilisce la connessione con l’AUT agent configurato precedentemente:

Confermare

Cliccare su “Proceed” per ottenere il prodotto “RCP Mail Template”.

 

Step 6: Test Con Jubula

Alla fine di questa sezione vedremo come creare ed eseguire alcuni test cases. Come prima azione testiamo l’apertura di una nuova “Message View”.

Ci sono tre modi differenti per aprire una nuova “Message View”:

Caso 1:
Usando la Menu Bar: “File-> Open Another Message View Command”

Caso 2: Usando il bottone nella barra degli strumenti

Caso 3: Usando la shortcut: CTRL+2

Test Case 1

Obiettivo del primo test case è riprodurre l’azione:
File  Open Another Message View

registrando il comando con Jubula.
Precondizioni: L’applicazione da testare (RCP Product) deve essere attiva.

Passi:
Dall’ambiente di test Jubula cliccare su l’icona a forma di telecamera JubulaCameraICon.png
Nominare il test case ÔÇ£OpenNewMessageViewÔÇØ

e confermare la scelta cliccando sul bottone ÔÇ£OkÔÇØ.
Jubula aprirà la perspective ÔÇ£TestCaseÔÇØ con il tab ÔÇ£OpenNewMessageViewÔÇØaperto nell’editor e nella view ÔÇ£Test Case BrowserÔÇØ comparirà l’elemento ÔÇ£OpenNewMessageViewÔÇØ

Dopo qualche secondo la finestra ÔÇ£Observation ConsoleÔÇØ verrà aperta nell’angolo basso dello schermo. In questa finestra saranno elencati tutti i passi compiuti durante la registrazione. Ora non resta altro che selezionare il prodotto da testare (RCPMail) e selezionare ÔÇ£File-> Another Message ViewÔÇØ. Verrà così creato una nuova Message View nel prodotto RCPMail

e nella ÔÇ£Observation ConsoleÔÇØ saranno aggiunti due nuovi steps:

Per terminare la registrazione cliccare sull’icona .
Salvare il test case e nella prospettiva Test Case saranno aggiunti due steps al primo test creato.
Ora non rimane altro che creare una nuova Test Suite: dalla view ÔÇ£Test Suite BrowserÔÇØ, tasto destro sulla cartella ÔÇ£Test SuitesÔÇØ e cliccare su:

New-> New Test Suite

Rinominarla in ÔÇ£First Test SuiteÔÇØ e confermare cliccando su ÔÇ£OKÔÇØ.

Doppio click sulla ÔÇ£First Test SuiteÔÇØ appena creata per aprire l’editor e trascinare il test case ÔÇ£OpenNewMessageViewÔÇØ nella test suite. Salvare il test project:

Per eseguire il test registrato cliccare sull’icona verde nella view ÔÇ£Test Suite BrowserÔÇØ e scegliere ÔÇ£First Test Suite’

Test Case 2

Ripetere i passi precedenti per creare un nuovo Observed test case, registrare i passi per simulare il click sull’icona a forma di + verde e il risultato sarà simile a quello illustrato in figura:

Test Case 3

Per creare questo test case è necessario scegliere un paio di template dalla cartella dei test case nella views “Test Case Browser”. Seguire queste semplici istruzioni: Dalla cartella ÔÇ£Test CasesÔÇØ in ÔÇ£Test Case BrowserÔÇØ aprire ÔÇ£unbound_modules_concrete-> Actions (basic)  Input via Keyboard  Application  Key CombinationÔÇØ e selezionare i due test cases
<ub_app_pressAnyKeyCombination_CTRL[BASE_KEY]>
e
<ub_app_pressAnyKey>[MODIFER_KEYS;BASE_KEY]>.

Il risultato sarà:

Per completare la configurazione del test case
<ub_app_pressAnyKeyCombination_CTRL[BASE_KEY]> modificare

Parameter Name = BASE_KEY
e
Parameter Value = 2

Per il test case
<ub_app_pressAnyKey>[MODIFER_KEYS;BASE_KEY]>

inserire:
Parameter Name = MODIFIER_KEYS
Parameter Value = control

Parameter Name = BASE_KEY
Parameter Value = BASE_KEY

Test Suite

Il primo test case può essere rinominato in “OpenNewMessageView_FileMenu”.
Aggiungere i Test Case 2 and Test Case 3 nella Test Suite e si otterrà una situazione simile a quella in figura:

Eseguendo la Suite di Test saranno aperte tre Message Views nel prodotto RCPMail .

Buon divertimento con Jubula!