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
e l’applicazione Jubula Standalone da: The Jubula StandAlone Download
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
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
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
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!
Hi,
I am trying this with an eclipse RCP workspace based application. The recording pieces all work for me, but my application doesn’t seem to be listening when I try to execute the tests. Do you have any ideas I might try?
Hi Ken,
have you checked off that your application appears in the “Running AUT’s” view?
If no, probably you have to verify that the AUT Agent configurations are correct, in addition you should be sure that the “org.eclipse.rc.rcp” plugin has been added in the config.ini file.
I hope this will help.
Why is this SOOOOO complicated and prompt to not working.
I tried Jubula last year and couldn’t make any useful test.
Won’t touch it until it has more sense.
Hi,
recorded a test successfully, but if I enter a url like “http://localhost:8080”, the test inserts “http;77localhost;8080”. There is something wrong with shift key.
Regards
Oliver
It will be good if you talked through how to use the Eclipse Juno Add-On for Jubula (i.e what you will use from within Eclipse). Another point is, this focuses on Windows only and I use Mountain Lion and Ubuntu. (No exes)
Hi,
I don’t know how the situation was back in January, but following your download instructions now (Dec 12) I couldn’t work through the tutorial:
– Jubula standalone now seems to be the same as Eclipse for Testers
– Using Eclipse for Testers, you can not create the plugin project you mention. For that, you need Eclipse for RCP/RAP developers.
Maybe you would like to correct the intro of your article. The rest of the tutorial is very good to get a first set of tests running. Thank you!
Hi,
great tutorial very easy to follow and detailed. I did everything using windows 7 64 bits and the RCP_MAIL_Product works fine.
I can record some steps like expanding the mails tree. However, when I’m recording and opening the File menu or clicking a toolbar icon, I get the following error:
An error has occurred. See error log for more details.
org.eclipse.ui.internal.PartPane.getToolBar()Lorg/eclipse/swt/widgets/Control;
Any idea to solve this? thank you.
It would be great a similar tutorial for swing applications.
I am about to execute my RCP application( sample mail app), i have loaded my project but it is not finishing…. any reason why it is not loading comletely ……… i have waited around 10 mins but i could not make,
I have executed the same steps with a swing app it is executing fine… so can any one tell me what would be the reason or sugest me what i have to do to execute the test case.
I want to check the check-box in table in RCP from Jubula. Can anybody help?