Hi Programming Java & eclipse is new territory for me. But with some decades of experience in SW it was time to discover a few new places. I am working on my GNU/Debian Linux x86 system, using the testing distribution.
I am interested in contributing to a free SW project elexis (http://www.elexis.ch/). It aims at helping general practitioners to keep all their records about patients, bills, drugs, etc in electronic form. It is written by by Swiss general practitioner Gerry Weill who took a long time to decide whether he wanted to study medicine or computer science and is used by 50 or more medical doctors in Switzerland. As I love to use Ruby and test driven development I naturally started looking at the tests and there were just a few JUnit tests. No GUI tests. This is bad, as there are people working on a french translation, which will need some minor code changes and a lot of new (French instead of German) screenshots. I took a closer look at SWTBot and liked quite a few things. I think it could provide me with a good abstraction level to write tests. Therefore I started coding in Java a little, which made the following hurdles appear: a) As elexis has overridden WorkbenchAdvisor, a login dialog for the DB comes up first. One has to manually enter a username/password before SWTBot gets control. Does anybody has a hint where I have to patch SWTBot/elexis in order to pass control to SWTBot first? b) The application takes about 15 seconds on my MacMini to startup/setup the DB. It took me a while to install/grasp the main ideas for JRuby, eclipse- shell, glimmer. But this allowed me to test interactively the glimmer/samples/login.rb. I definitively love the idea of using an interpreted language to develop the test cases. c) As there are quite a few perspectives, dialogues, windows, etc to test I (as a newcomer to the elexis source code) find it a daunting task to discover how all these GUI elements are grouped, named and accessible via SWTBot. Does anybody now of a utility or SWTBot functions about how to dump the GUI elements? I see that there is a "SWTBot EclipseSpy view". Should I add it to elexis? I would find it handy if I could enter in my jirb windows a command like: include_class Java::org.eclipse.swtbot.swt.finder.SWTBotFactory SWTBotFactory.active_shell.dump_gui_elements d) Trying to understand/modify SWTBot I tried to install it from source and failed miserably. See the attached log files. The problem I did run into is: > [java] BUILD FAILED > [java] > /home/src/swtbot/eclipse/plugins/org.eclipse.pde.build_3.5.0.v20090527-1800 >/scripts/build.xml:35: The following error occurred while executing this > line: [java] > /home/src/swtbot/eclipse/plugins/org.eclipse.pde.build_3.5.0.v20090527-1800 >/scripts/build.xml:91: The following error occurred while executing this > line: [java] > /home/src/swtbot/org.eclipse.swtbot.releng/customTargets.xml:11: The > following error occurred while executing this line: [java] > /home/src/swtbot/org.eclipse.swtbot.releng/allElements.xml:12: The > following error occurred while executing this line: [java] > /home/src/swtbot/eclipse/plugins/org.eclipse.pde.build_3.5.0.v20090527-1800 >/scripts/genericTargets.xml:106: A cycle was detected when generating the > classpath org.eclipse.swtbot.junit4_x_2.0.0.201001052001, > org.eclipse.swtbot.swt.finder.test_2.0.0.201001052001, > org.eclipse.swtbot.junit4_x_2.0.0.201001052001. [java] > [java] Total time: 1 second > > BUILD FAILED > /home/src/swtbot/org.eclipse.swtbot.releng/build.xml:192: Java returned: 13 Any help would be appreciated. If it is considered a good idea I would not hesitate to invest a few hours in order to documents my experiences and publish an example on how to test a simple SWT application and/or glimmer/samples/login.rb using SWTBot, eclipse- shell and JRuby. What do think about it? Best regards -- Niklaus Giger Wieshoschet 6 CH-8753 Mollis +41 (0)55 612 20 54 P +41 (0)55 618 64 68 G
Buildfile: build.xml [taskdef] Could not load definitions from resource net/sf/antcontrib/antlib.xml. It could not be found. [delete] Deleting: /home/src/swtbot/org.eclipse.swtbot.releng/.git.svn.properties [touch] Creating /home/src/swtbot/org.eclipse.swtbot.releng/.git.svn.properties [delete] Deleting: /home/src/swtbot/org.eclipse.swtbot.releng/.svn.properties [touch] Creating /home/src/swtbot/org.eclipse.swtbot.releng/.svn.properties check-dependencies: [mkdir] Created dir: /home/src/swtbot/org.eclipse.swtbot.releng/externals/libs download-eclipse-sdk: download-gef-sdk: [get] Getting: http://eclipse.ialto.org/tools/gef/downloads/drops/3.4.2/R200902171642//GEF-runtime-3.4.2.zip [get] To: /home/src/swtbot/org.eclipse.swtbot.releng/externals/GEF-runtime-3.4.2.zip [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................... [get] last modified = Wed Feb 18 19:55:32 CET 2009 download-purge-task: [get] Getting: http://www.dallaway.com/ant/purge.jar [get] To: /home/src/swtbot/org.eclipse.swtbot.releng/externals/libs/purge.jar [get] ................... [get] last modified = Sun Feb 04 20:15:46 CET 2007 download-ant-contrib-task: [get] Getting: http://downloads.sourceforge.net/sourceforge/ant-contrib/ant-contrib-1.0b3-bin.tar.gz [get] To: /home/src/swtbot/org.eclipse.swtbot.releng/externals/libs/ant-contrib-1.0b3-bin.tar.gz [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] ................... [get] last modified = Thu Nov 02 17:52:21 CET 2006 [untar] Expanding: /home/src/swtbot/org.eclipse.swtbot.releng/externals/libs/ant-contrib-1.0b3-bin.tar.gz into /home/src/swtbot/org.eclipse.swtbot.releng/externals/libs [move] Moving 1 file to /home/src/swtbot/org.eclipse.swtbot.releng/externals/libs [delete] Deleting: /home/src/swtbot/org.eclipse.swtbot.releng/externals/libs/ant-contrib-1.0b3-bin.tar.gz [delete] Deleting directory /home/src/swtbot/org.eclipse.swtbot.releng/externals/libs/ant-contrib download-ant-cobertura-task: [get] Getting: http://downloads.sourceforge.net/sourceforge/cobertura/cobertura-1.9-bin.tar.gz [get] To: /home/src/swtbot/org.eclipse.swtbot.releng/externals/libs/cobertura-1.9-bin.tar.gz [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] .................................................... [get] ............................................... [get] last modified = Tue Jun 05 20:51:50 CEST 2007 [untar] Expanding: /home/src/swtbot/org.eclipse.swtbot.releng/externals/libs/cobertura-1.9-bin.tar.gz into /home/src/swtbot/org.eclipse.swtbot.releng/externals/libs [delete] Deleting: /home/src/swtbot/org.eclipse.swtbot.releng/externals/libs/cobertura-1.9-bin.tar.gz download-ant-libs: download-dependencies: materialize-workspace: [mkdir] Created dir: /home/src/swtbot/eclipse [copy] Copying 13 files to /home/src/swtbot/eclipse/plugins [delete] Deleting: /home/src/swtbot/org.eclipse.swtbot.releng/.git.svn.properties [touch] Creating /home/src/swtbot/org.eclipse.swtbot.releng/.git.svn.properties [delete] Deleting: /home/src/swtbot/org.eclipse.swtbot.releng/.svn.properties [touch] Creating /home/src/swtbot/org.eclipse.swtbot.releng/.svn.properties extract-eclipse: [delete] Deleting: /home/src/swtbot/org.eclipse.swtbot.releng/.git.svn.properties [touch] Creating /home/src/swtbot/org.eclipse.swtbot.releng/.git.svn.properties [delete] Deleting: /home/src/swtbot/org.eclipse.swtbot.releng/.svn.properties [touch] Creating /home/src/swtbot/org.eclipse.swtbot.releng/.svn.properties setup-tar.gz: [exec] The command attribute is deprecated. [exec] Please use the executable attribute and nested arg elements. [unzip] Expanding: /home/src/swtbot/org.eclipse.swtbot.releng/externals/GEF-runtime-3.4.2.zip into /home/src/swtbot/eclipse [delete] Deleting: /home/src/swtbot/org.eclipse.swtbot.releng/.git.svn.properties [touch] Creating /home/src/swtbot/org.eclipse.swtbot.releng/.git.svn.properties [delete] Deleting: /home/src/swtbot/org.eclipse.swtbot.releng/.svn.properties [touch] Creating /home/src/swtbot/org.eclipse.swtbot.releng/.svn.properties guess-junit-version: [echo] Guessing plugin version of org.junit4. [echo] Plugin version of org.junit is "4.5.0.v20090423" [echo] isJunit4.5: true guess-pde-build-version: [echo] Guessing plugin version of org.eclipse.pde.build. [echo] Plugin version of org.eclipse.pde.build is "3.5.0.v20090527-1800" create-build-properties-from-template: [copy] Copying 1 file to /home/src/swtbot/org.eclipse.swtbot.releng initialize-environment: [delete] Deleting: /home/src/swtbot/org.eclipse.swtbot.releng/.git.svn.properties [touch] Creating /home/src/swtbot/org.eclipse.swtbot.releng/.git.svn.properties [delete] Deleting: /home/src/swtbot/org.eclipse.swtbot.releng/.svn.properties [touch] Creating /home/src/swtbot/org.eclipse.swtbot.releng/.svn.properties guess-junit-version: [echo] Guessing plugin version of org.junit4. [echo] Plugin version of org.junit is "4.5.0.v20090423" [echo] isJunit4.5: true make-substitutions-4.5: [copy] Copying 1 file to /home/src/swtbot/org.eclipse.swtbot.eclipse.ui [copy] Copying 1 file to /home/src/swtbot/org.eclipse.swtbot.eclipse.ui/META-INF [copy] Copying 1 file to /home/src/swtbot/org.eclipse.swtbot.eclipse.ui [copy] Copying 1 file to /home/src/swtbot/org.eclipse.swtbot.junit4_x/META-INF [copy] Copying 1 file to /home/src/swtbot/org.eclipse.swtbot.junit4_x [copy] Copying 1 file to /home/src/swtbot/org.eclipse.swtbot.junit4_x make-substitutions-4.3: make-substitutions: BUILD SUCCESSFUL Total time: 36 seconds
Buildfile: build.xml [delete] Deleting: /home/src/swtbot/org.eclipse.swtbot.releng/.git.svn.properties [touch] Creating /home/src/swtbot/org.eclipse.swtbot.releng/.git.svn.properties [delete] Deleting: /home/src/swtbot/org.eclipse.swtbot.releng/.svn.properties [touch] Creating /home/src/swtbot/org.eclipse.swtbot.releng/.svn.properties check-dependencies: download-eclipse-sdk: download-gef-sdk: download-purge-task: download-ant-contrib-task: download-ant-cobertura-task: download-ant-libs: download-dependencies: check-windows-preconditions: check-other-preconditions: [echo] Checking for tar on path. [echo] Found tar on path. check-conditions: [echo] Checking for svn on path. [echo] Found svn on path. guess-junit-version: [echo] Guessing plugin version of org.junit4. [echo] Plugin version of org.junit is "4.5.0.v20090423" [echo] isJunit4.5: true guess-pde-build-version: [echo] Guessing plugin version of org.eclipse.pde.build. [echo] Plugin version of org.eclipse.pde.build is "3.5.0.v20090527-1800" create-build-properties-from-template: [copy] Copying 1 file to /home/src/swtbot/org.eclipse.swtbot.releng initialize-environment: printjvm: [exec] The command attribute is deprecated. [exec] Please use the executable attribute and nested arg elements. [exec] java version "1.6.0_16" [exec] Java(TM) SE Runtime Environment (build 1.6.0_16-b01) [exec] Java HotSpot(TM) Server VM (build 14.2-b01, mixed mode) [echoproperties] #Ant properties [echoproperties] #Tue Jan 05 20:01:35 CET 2010 [echoproperties] java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment [echoproperties] java.awt.printerjob=sun.print.PSPrinterJob [echoproperties] java.class.path=/usr/share/ant/lib/ant-launcher.jar\:/usr/share/java/xmlParserAPIs.jar\:/usr/share/java/xercesImpl.jar\:/usr/share/ant/lib/ant-apache-log4j.jar\:/usr/share/ant/lib/ant.jar\:/usr/share/ant/lib/ant-commons-net.jar\:/usr/share/ant/lib/ant-nodeps.jar\:/usr/share/ant/lib/ant-apache-bcel.jar\:/usr/share/ant/lib/ant-apache-bsf.jar\:/usr/share/ant/lib/ant-javamail.jar\:/usr/share/ant/lib/ant-junit.jar\:/usr/share/ant/lib/ant-antlr.jar\:/usr/share/ant/lib/ant-jdepend.jar\:/usr/share/ant/lib/catalina5.5-ant-jmx.jar\:/usr/share/ant/lib/ant-apache-resolver.jar\:/usr/share/ant/lib/ant-commons-logging.jar\:/usr/share/ant/lib/ant-launcher.jar\:/usr/share/ant/lib/tomcat5.5-jkstatus-ant.jar\:/usr/share/ant/lib/ant-jsch.jar\:/usr/share/ant/lib/ant-apache-regexp.jar\:/usr/share/ant/lib/catalina5.5-ant.jar\:/usr/share/ant/lib/junit.jar\:/usr/share/ant/lib/ant-apache-oro.jar\:/usr/share/ant/lib/bcel.jar\:/usr/share/ant/lib/ant-jmf.jar\:/usr/share/ant/lib/ant-trax.jar\:/usr/share/ant/lib/ant-swing.jar\:/usr/lib/jvm/java-6-sun-1.6.0.16/lib/tools.jar [echoproperties] java.class.version=50.0 [echoproperties] java.endorsed.dirs=/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/endorsed [echoproperties] java.ext.dirs=/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/ext\:/usr/java/packages/lib/ext [echoproperties] java.home=/usr/lib/jvm/java-6-sun-1.6.0.16/jre [echoproperties] java.io.tmpdir=/tmp [echoproperties] java.library.path=/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/i386/server\:/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/i386\:/usr/lib/jvm/java-6-sun-1.6.0.16/jre/../lib/i386\:/usr/java/packages/lib/i386\:/lib\:/usr/lib [echoproperties] java.runtime.name=Java(TM) SE Runtime Environment [echoproperties] java.runtime.version=1.6.0_16-b01 [echoproperties] java.specification.name=Java Platform API Specification [echoproperties] java.specification.vendor=Sun Microsystems Inc. [echoproperties] java.specification.version=1.6 [echoproperties] java.vendor=Sun Microsystems Inc. [echoproperties] java.vendor.url=http\://java.sun.com/ [echoproperties] java.vendor.url.bug=http\://java.sun.com/cgi-bin/bugreport.cgi [echoproperties] java.version=1.6.0_16 [echoproperties] java.vm.info=mixed mode [echoproperties] java.vm.name=Java HotSpot(TM) Server VM [echoproperties] java.vm.specification.name=Java Virtual Machine Specification [echoproperties] java.vm.specification.vendor=Sun Microsystems Inc. [echoproperties] java.vm.specification.version=1.0 [echoproperties] java.vm.vendor=Sun Microsystems Inc. [echoproperties] java.vm.version=14.2-b01 clean: [echo] Cleaning all in /home/src/swtbot/org.eclipse.swtbot.releng/target init: [mkdir] Created dir: /home/src/swtbot/org.eclipse.swtbot.releng/target [mkdir] Created dir: /home/src/swtbot/org.eclipse.swtbot.releng/artifacts [mkdir] Created dir: /home/src/swtbot/org.eclipse.swtbot.releng/target/plugins [mkdir] Created dir: /home/src/swtbot/org.eclipse.swtbot.releng/target/features copy-features: [sync] Copying 31 files to /home/src/swtbot/org.eclipse.swtbot.releng/target/features copy-plugins: [sync] Copying 821 files to /home/src/swtbot/org.eclipse.swtbot.releng/target/plugins create-version-files: [copy] Copying 1 file to /home/src/swtbot/org.eclipse.swtbot.releng/target/plugins/org.eclipse.swtbot.swt.finder/src/org/eclipse/swtbot/swt/finder [copy] Copying 1 file to /home/src/swtbot/org.eclipse.swtbot.releng/target/plugins/org.eclipse.swtbot.eclipse.finder/src/org/eclipse/swtbot/eclipse/finder copy-sources: copy-all: pde-build: [java] Buildfile: /home/src/swtbot/org.eclipse.swtbot.releng/../eclipse/plugins/org.eclipse.pde.build_3.5.0.v20090527-1800/scripts/build.xml [java] [java] main: [java] [java] preBuild: [java] [java] preSetup: [java] [java] checkLocalMaps: [java] [java] getMapFiles: [java] [java] postSetup: [java] [java] checkLocalBase: [java] [java] getBaseComponents: [java] [java] processRepos: [java] [java] fetch: [java] [java] generate: [java] [java] preGenerate: [java] [java] allElements: [java] [java] allElementsDelegator: [java] [java] init: [java] [java] generateScript: [java] [java] BUILD FAILED [java] /home/src/swtbot/eclipse/plugins/org.eclipse.pde.build_3.5.0.v20090527-1800/scripts/build.xml:35: The following error occurred while executing this line: [java] /home/src/swtbot/eclipse/plugins/org.eclipse.pde.build_3.5.0.v20090527-1800/scripts/build.xml:91: The following error occurred while executing this line: [java] /home/src/swtbot/org.eclipse.swtbot.releng/customTargets.xml:11: The following error occurred while executing this line: [java] /home/src/swtbot/org.eclipse.swtbot.releng/allElements.xml:12: The following error occurred while executing this line: [java] /home/src/swtbot/eclipse/plugins/org.eclipse.pde.build_3.5.0.v20090527-1800/scripts/genericTargets.xml:106: A cycle was detected when generating the classpath org.eclipse.swtbot.junit4_x_2.0.0.201001052001, org.eclipse.swtbot.swt.finder.test_2.0.0.201001052001, org.eclipse.swtbot.junit4_x_2.0.0.201001052001. [java] [java] Total time: 1 second
_______________________________________________ swtbot-dev mailing list swtbot-dev@eclipse.org https://dev.eclipse.org/mailman/listinfo/swtbot-dev