r1528 - in trunk: . src/test/java/cc/kune/selenium src/test/java/cc/kune/selenium/login src/test/java/cc/kune/selenium/tools
Author: vjrj_ Date: 2011-09-23 05:01:39 +0200 (Fri, 23 Sep 2011) New Revision: 1528 Added: trunk/src/test/java/cc/kune/selenium/tools/AbstractWebDriver.java trunk/src/test/java/cc/kune/selenium/tools/GenericWebDriver.java Removed: trunk/src/test/java/cc/kune/selenium/tools/AbstractWebTester.java trunk/src/test/java/cc/kune/selenium/tools/GenericWebTester.java Modified: trunk/.classpath trunk/pom.xml trunk/src/test/java/cc/kune/selenium/KuneSeleniumDefaults.java trunk/src/test/java/cc/kune/selenium/PageObject.java trunk/src/test/java/cc/kune/selenium/login/LoginPageObject.java trunk/src/test/java/cc/kune/selenium/login/LoginSeleniumTests.java trunk/src/test/java/cc/kune/selenium/tools/SeleniumModule.java Log: NEW - # 53: Add Selenium Framework testing http://kune.ourproject.org/issues/ticket/53 Modified: trunk/.classpath =================================================================== --- trunk/.classpath 2011-09-23 00:01:57 UTC (rev 1527) +++ trunk/.classpath 2011-09-23 03:01:39 UTC (rev 1528) @@ -15,6 +15,7 @@ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/box-src/0.3.1-SNAPSHOT/box-src-0.3.1-SNAPSHOT.jar"/> <classpathentry kind="var" path="M2_REPO/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar"/> <classpathentry kind="var" path="M2_REPO/c3p0/c3p0/0.9.1/c3p0-0.9.1.jar" sourcepath="M2_REPO/c3p0/c3p0/0.9.1/c3p0-0.9.1-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar" sourcepath="M2_REPO/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3-sources.jar"/> <classpathentry kind="var" path="M2_REPO/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar"/> <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client/0.3.1-SNAPSHOT/client-0.3.1-SNAPSHOT.jar"/> <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-common/0.3.1-SNAPSHOT/client-common-0.3.1-SNAPSHOT.jar"/> @@ -28,7 +29,6 @@ <classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4.jar" sourcepath="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4-sources.jar"/> <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2-sources.jar"/> <classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.2/commons-fileupload-1.2.jar" sourcepath="M2_REPO/commons-fileupload/commons-fileupload/1.2/commons-fileupload-1.2-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar"/> <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.3.1/commons-io-1.3.1.jar" sourcepath="M2_REPO/commons-io/commons-io/1.3.1/commons-io-1.3.1-sources.jar"/> <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5.jar" sourcepath="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5-sources.jar"/> <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1-sources.jar"/> @@ -43,6 +43,7 @@ <classpathentry kind="var" path="M2_REPO/com/calclab/emite/emite-proxy/0.1/emite-proxy-0.1.jar"/> <classpathentry kind="var" path="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3.jar" sourcepath="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3-sources.jar"/> <classpathentry kind="var" path="M2_REPO/freemarker/freemarker/2.3.8/freemarker-2.3.8.jar"/> + <classpathentry kind="var" path="M2_REPO/com/google/guava/guava/r09/guava-r09.jar" sourcepath="M2_REPO/com/google/guava/guava/r09/guava-r09-sources.jar"/> <classpathentry kind="var" path="M2_REPO/com/google/guava/guava-gwt/r09/guava-gwt-r09.jar"/> <classpathentry kind="var" path="M2_REPO/com/google/inject/guice/3.0/guice-3.0.jar" sourcepath="M2_REPO/com/google/inject/guice/3.0/guice-3.0-sources.jar"/> <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-assisted-inject/2.0/guice-assisted-inject-2.0.jar"/> @@ -71,7 +72,6 @@ <classpathentry kind="var" path="M2_REPO/com/extjs/gxt/2.2.1/gxt-2.2.1.jar"/> <classpathentry kind="var" path="M2_REPO/com/h2database/h2/1.0.20070617/h2-1.0.20070617.jar"/> <classpathentry kind="var" path="M2_REPO/com/calclab/emite/hablar/r1697/hablar-r1697.jar"/> - <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-all/1.1/hamcrest-all-1.1.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-all/1.1/hamcrest-all-1.1-sources.jar"/> <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1-sources.jar"/> <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA-sources.jar"/> <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA-sources.jar"/> @@ -81,14 +81,17 @@ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA-sources.jar"/> <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-tools/3.2.3.GA/hibernate-tools-3.2.3.GA.jar"/> <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/net/sourceforge/htmlunit/htmlunit/2.7/htmlunit-2.7.jar" sourcepath="M2_REPO/net/sourceforge/htmlunit/htmlunit/2.7/htmlunit-2.7-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/net/sourceforge/htmlunit/htmlunit-core-js/2.7/htmlunit-core-js-2.7.jar" sourcepath="M2_REPO/net/sourceforge/htmlunit/htmlunit-core-js/2.7/htmlunit-core-js-2.7-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/net/sourceforge/htmlunit/htmlunit/2.9/htmlunit-2.9.jar" sourcepath="M2_REPO/net/sourceforge/htmlunit/htmlunit/2.9/htmlunit-2.9-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/net/sourceforge/htmlunit/htmlunit-core-js/2.9/htmlunit-core-js-2.9.jar" sourcepath="M2_REPO/net/sourceforge/htmlunit/htmlunit-core-js/2.9/htmlunit-core-js-2.9-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/httpcomponents/httpclient/4.1.2/httpclient-4.1.2.jar" sourcepath="M2_REPO/org/apache/httpcomponents/httpclient/4.1.2/httpclient-4.1.2-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/httpcomponents/httpcore/4.1.2/httpcore-4.1.2.jar" sourcepath="M2_REPO/org/apache/httpcomponents/httpcore/4.1.2/httpcore-4.1.2-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/httpcomponents/httpmime/4.1.2/httpmime-4.1.2.jar" sourcepath="M2_REPO/org/apache/httpcomponents/httpmime/4.1.2/httpmime-4.1.2-sources.jar"/> <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.4.GA/javassist-3.4.GA.jar"/> <classpathentry kind="var" path="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1-sources.jar"/> <classpathentry kind="var" path="M2_REPO/com/beust/jcommander/1.12/jcommander-1.12.jar" sourcepath="M2_REPO/com/beust/jcommander/1.12/jcommander-1.12-sources.jar"/> <classpathentry kind="var" path="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2.jar" sourcepath="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2-sources.jar"/> <classpathentry kind="var" path="M2_REPO/jmagick/jmagick/6.2.6-0/jmagick-6.2.6-0.jar"/> - <classpathentry kind="var" path="M2_REPO/net/java/dev/jna/jna/3.2.2/jna-3.2.2.jar" sourcepath="M2_REPO/net/java/dev/jna/jna/3.2.2/jna-3.2.2-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/net/java/dev/jna/jna/3.3.0/jna-3.3.0.jar" sourcepath="M2_REPO/net/java/dev/jna/jna/3.3.0/jna-3.3.0-sources.jar"/> <classpathentry kind="var" path="M2_REPO/org/jruby/jruby-complete/1.2.0/jruby-complete-1.2.0.jar"/> <classpathentry kind="var" path="M2_REPO/org/jruby/rack/jruby-rack/0.9.4/jruby-rack-0.9.4.jar"/> <classpathentry kind="var" path="M2_REPO/org/json/json/20080701/json-20080701.jar" sourcepath="M2_REPO/org/json/json/20080701/json-20080701-sources.jar"/> @@ -97,7 +100,7 @@ <classpathentry kind="var" path="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47.jar" sourcepath="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47-sources.jar"/> <classpathentry kind="var" path="M2_REPO/org/hibernate/jtidy/r8-20060801/jtidy-r8-20060801.jar"/> <classpathentry kind="var" path="M2_REPO/org/jukito/jukito/1.0/jukito-1.0.jar" sourcepath="M2_REPO/org/jukito/jukito/1.0/jukito-1.0-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/junit/junit/4.8.2/junit-4.8.2.jar" sourcepath="M2_REPO/junit/junit/4.8.2/junit-4.8.2-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/junit/junit/4.9/junit-4.9.jar" sourcepath="M2_REPO/junit/junit/4.9/junit-4.9-sources.jar"/> <classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-core/1.8.1/liquibase-core-1.8.1.jar"/> <classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-plugin/1.8.1.0/liquibase-plugin-1.8.1.0.jar"/> <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16.jar" sourcepath="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16-sources.jar"/> @@ -115,21 +118,22 @@ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/model-src/0.3.1-SNAPSHOT/model-src-0.3.1-SNAPSHOT.jar"/> <classpathentry kind="var" path="M2_REPO/org/mvel/mvel2/2.0.16/mvel2-2.0.16.jar" sourcepath="M2_REPO/org/mvel/mvel2/2.0.16/mvel2-2.0.16-sources.jar"/> <classpathentry kind="var" path="M2_REPO/mysql/mysql-connector-java/5.1.13/mysql-connector-java-5.1.13.jar"/> - <classpathentry kind="var" path="M2_REPO/net/sourceforge/nekohtml/nekohtml/1.9.14/nekohtml-1.9.14.jar" sourcepath="M2_REPO/net/sourceforge/nekohtml/nekohtml/1.9.14/nekohtml-1.9.14-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/net/sourceforge/nekohtml/nekohtml/1.9.15/nekohtml-1.9.15.jar" sourcepath="M2_REPO/net/sourceforge/nekohtml/nekohtml/1.9.15/nekohtml-1.9.15-sources.jar"/> <classpathentry kind="var" path="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0.jar" sourcepath="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0-sources.jar"/> <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8-sources.jar"/> <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4-sources.jar"/> <classpathentry kind="var" path="M2_REPO/org/waveprotocol/proto-msg/0.3.1-SNAPSHOT/proto-msg-0.3.1-SNAPSHOT.jar"/> <classpathentry kind="var" path="M2_REPO/org/w3c/css/sac/1.3/sac-1.3.jar" sourcepath="M2_REPO/org/w3c/css/sac/1.3/sac-1.3-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium/2.0a4/selenium-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium/2.0a4/selenium-2.0a4-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-chrome-driver/2.0a4/selenium-chrome-driver-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-chrome-driver/2.0a4/selenium-chrome-driver-2.0a4-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-common/2.0a4/selenium-common-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-common/2.0a4/selenium-common-2.0a4-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-firefox-driver/2.0a4/selenium-firefox-driver-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-firefox-driver/2.0a4/selenium-firefox-driver-2.0a4-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-htmlunit-driver/2.0a4/selenium-htmlunit-driver-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-htmlunit-driver/2.0a4/selenium-htmlunit-driver-2.0a4-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-ie-driver/2.0a4/selenium-ie-driver-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-ie-driver/2.0a4/selenium-ie-driver-2.0a4-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-remote-client/2.0a4/selenium-remote-client-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-remote-client/2.0a4/selenium-remote-client-2.0a4-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-remote-common/2.0a4/selenium-remote-common-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-remote-common/2.0a4/selenium-remote-common-2.0a4-sources.jar"/> - <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-support/2.0a4/selenium-support-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-support/2.0a4/selenium-support-2.0a4-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-android-driver/2.6.0/selenium-android-driver-2.6.0.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-android-driver/2.6.0/selenium-android-driver-2.6.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-api/2.6.0/selenium-api-2.6.0.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-api/2.6.0/selenium-api-2.6.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-chrome-driver/2.6.0/selenium-chrome-driver-2.6.0.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-chrome-driver/2.6.0/selenium-chrome-driver-2.6.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-firefox-driver/2.6.0/selenium-firefox-driver-2.6.0.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-firefox-driver/2.6.0/selenium-firefox-driver-2.6.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-htmlunit-driver/2.6.0/selenium-htmlunit-driver-2.6.0.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-htmlunit-driver/2.6.0/selenium-htmlunit-driver-2.6.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-ie-driver/2.6.0/selenium-ie-driver-2.6.0.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-ie-driver/2.6.0/selenium-ie-driver-2.6.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-iphone-driver/2.6.0/selenium-iphone-driver-2.6.0.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-iphone-driver/2.6.0/selenium-iphone-driver-2.6.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-java/2.6.0/selenium-java-2.6.0.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-java/2.6.0/selenium-java-2.6.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-remote-driver/2.6.0/selenium-remote-driver-2.6.0.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-remote-driver/2.6.0/selenium-remote-driver-2.6.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-support/2.6.0/selenium-support-2.6.0.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-support/2.6.0/selenium-support-2.6.0-sources.jar"/> <classpathentry kind="var" path="M2_REPO/xalan/serializer/2.7.1/serializer-2.7.1.jar"/> <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1-sources.jar"/> <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1-sources.jar"/> @@ -138,7 +142,7 @@ <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smackx/debugger/smackx-debugger/3.0.4/smackx-debugger-3.0.4.jar"/> <classpathentry kind="var" path="M2_REPO/org/yaml/snakeyaml/1.6/snakeyaml-1.6.jar" sourcepath="M2_REPO/org/yaml/snakeyaml/1.6/snakeyaml-1.6-sources.jar"/> <classpathentry kind="var" path="M2_REPO/stax/stax-api/1.0.1/stax-api-1.0.1.jar"/> - <classpathentry kind="var" path="M2_REPO/org/testng/testng/6.0.1/testng-6.0.1.jar" sourcepath="M2_REPO/org/testng/testng/6.0.1/testng-6.0.1-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/testng/testng/6.2.1/testng-6.2.1.jar" sourcepath="M2_REPO/org/testng/testng/6.2.1/testng-6.2.1-sources.jar"/> <classpathentry kind="var" path="M2_REPO/tigase/tigase-xmltools/3.3.5/tigase-xmltools-3.3.5.jar" sourcepath="M2_REPO/tigase/tigase-xmltools/3.3.5/tigase-xmltools-3.3.5-sources.jar"/> <classpathentry kind="var" path="M2_REPO/org/waveprotocol/util-src/0.3.1-SNAPSHOT/util-src-0.3.1-SNAPSHOT.jar"/> <classpathentry kind="var" path="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.jar" sourcepath="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5-sources.jar"/> Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2011-09-23 00:01:57 UTC (rev 1527) +++ trunk/pom.xml 2011-09-23 03:01:39 UTC (rev 1528) @@ -23,10 +23,6 @@ </properties> <repositories> <repository> - <id>kune-maven</id> - <url>http://kune.ourproject.org/mavenrepo/</url> - </repository> - <repository> <id>guice-maven</id> <name>guice maven</name> <url>http://guice-maven.googlecode.com/svn/trunk</url> @@ -115,6 +111,10 @@ </releases> </repository> <repository> + <id>kune-maven</id> + <url>http://kune.ourproject.org/mavenrepo/</url> + </repository> + <repository> <id>xwiki-releases</id> <name>XWiki Maven2 Remote Repository for Releases</name> <url>http://maven.xwiki.org/releases</url> @@ -516,14 +516,14 @@ <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> - <version>4.8.2</version> + <version>4.9</version> <!-- =roo --> <scope>test</scope> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> - <artifactId>selenium</artifactId> - <version>2.0a4</version> + <artifactId>selenium-java</artifactId> + <version>2.6.0</version> <exclusions> <exclusion> <groupId>com.google.collections</groupId> @@ -534,7 +534,7 @@ <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> - <version>6.0.1</version> + <version>6.2.1</version> <scope>test</scope> </dependency> <dependency> Modified: trunk/src/test/java/cc/kune/selenium/KuneSeleniumDefaults.java =================================================================== --- trunk/src/test/java/cc/kune/selenium/KuneSeleniumDefaults.java 2011-09-23 00:01:57 UTC (rev 1527) +++ trunk/src/test/java/cc/kune/selenium/KuneSeleniumDefaults.java 2011-09-23 03:01:39 UTC (rev 1528) @@ -22,6 +22,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.openqa.selenium.support.PageFactory; +import org.openqa.selenium.support.events.EventFiringWebDriver; import org.openqa.selenium.support.pagefactory.ElementLocatorFactory; import org.testng.Assert; import org.testng.ITestContext; @@ -30,7 +31,7 @@ import org.testng.annotations.DataProvider; import cc.kune.selenium.login.LoginPageObject; -import cc.kune.selenium.tools.GenericWebTester; +import cc.kune.selenium.tools.GenericWebDriver; import cc.kune.selenium.tools.SeleniumConstants; import cc.kune.selenium.tools.SeleniumModule; @@ -40,16 +41,16 @@ public class KuneSeleniumDefaults { private static final Log LOG = LogFactory.getLog(KuneSeleniumDefaults.class); public static boolean mustCloseFinally = true; - + protected EventFiringWebDriver eventFiring; private final Injector injector; - protected LoginPageObject login; - protected GenericWebTester webtester; + protected GenericWebDriver webdriver; public KuneSeleniumDefaults() { injector = Guice.createInjector(new SeleniumModule()); - webtester = injector.getInstance(GenericWebTester.class); + webdriver = injector.getInstance(GenericWebDriver.class); login = injector.getInstance(LoginPageObject.class); + eventFiring = injector.getInstance(EventFiringWebDriver.class); final ElementLocatorFactory locator = injector.getInstance(ElementLocatorFactory.class); PageFactory.initElements(locator, login); } @@ -58,7 +59,7 @@ public void closeBrowser() { // We try to only open one window for all our selenium tests if (mustCloseFinally) { - webtester.close(); + webdriver.close(); } } @@ -85,7 +86,7 @@ // if (!Suco.getComponents().hasProvider(WebDriver.class)) { // Suco.install(new SeleniumModule()); // } - if (webtester == null) { + if (webdriver == null) { // final ChromeDriver driver = new ChromeDriver(); // // final HtmlUnitDriver driver = new HtmlUnitDriver(true); // @@ -115,7 +116,8 @@ // openGroupChat = Suco.get(OpenGroupChatPageObject.class); } LOG.info("Going home"); - webtester.home(); + + webdriver.home(); } public void sleep(final int milliseconds) { Modified: trunk/src/test/java/cc/kune/selenium/PageObject.java =================================================================== --- trunk/src/test/java/cc/kune/selenium/PageObject.java 2011-09-23 00:01:57 UTC (rev 1527) +++ trunk/src/test/java/cc/kune/selenium/PageObject.java 2011-09-23 03:01:39 UTC (rev 1528) @@ -23,7 +23,6 @@ import org.apache.commons.logging.LogFactory; import org.openqa.selenium.By; import org.openqa.selenium.NoSuchElementException; -import org.openqa.selenium.RenderedWebElement; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.ByIdOrName; @@ -39,15 +38,15 @@ @Inject private WebDriver webdriver; - protected RenderedWebElement findElement(final By by) { - return (RenderedWebElement) getWebDriver().findElement(by); + protected WebElement findElement(final By by) { + return getWebDriver().findElement(by); } private WebDriver getWebDriver() { return webdriver; } - public boolean isPresent(final RenderedWebElement element) { + public boolean isPresent(final WebElement element) { // FIXME: find a better way to do this try { getWebDriver().findElement(By.id(element.getAttribute("id"))); @@ -57,17 +56,6 @@ } } - public void waitFor(final RenderedWebElement element) { - final String id = element.getAttribute("id"); - LOG.info("WAIT FOR: " + id); - waitFor(id, new Runnable() { - @Override - public void run() { - Assert.assertTrue(element.isDisplayed()); - } - }); - } - /** * Thanks to: * http://groups.google.com/group/webdriver/browse_frm/thread/6e705242 @@ -112,6 +100,17 @@ } } + public void waitFor(final WebElement element) { + final String id = element.getAttribute("id"); + LOG.info("WAIT FOR: " + id); + waitFor(id, new Runnable() { + @Override + public void run() { + Assert.assertTrue(element.isDisplayed()); + } + }); + } + protected void waitFor(final WebElement element, final String text) { LOG.info("WAIT FOR: " + text); waitFor(text, new Runnable() { @@ -129,7 +128,7 @@ waitFor(id, new Runnable() { @Override public void run() { - Assert.assertTrue(((RenderedWebElement) getWebDriver().findElement(new ByIdOrName(id))).isDisplayed()); + Assert.assertTrue(getWebDriver().findElement(new ByIdOrName(id)).isDisplayed()); } }); } @@ -139,7 +138,7 @@ waitFor(text, new Runnable() { @Override public void run() { - final String elValue = element.getValue(); + final String elValue = element.getText(); LOG.info("Element value: " + elValue); Assert.assertTrue(elValue.contains(text)); } Modified: trunk/src/test/java/cc/kune/selenium/login/LoginPageObject.java =================================================================== --- trunk/src/test/java/cc/kune/selenium/login/LoginPageObject.java 2011-09-23 00:01:57 UTC (rev 1527) +++ trunk/src/test/java/cc/kune/selenium/login/LoginPageObject.java 2011-09-23 03:01:39 UTC (rev 1528) @@ -19,7 +19,8 @@ */ package cc.kune.selenium.login; -import org.openqa.selenium.RenderedWebElement; +import org.openqa.selenium.Keys; +import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; import cc.kune.core.client.auth.SignInForm; @@ -35,19 +36,19 @@ public class LoginPageObject extends PageObject { - @FindBy(id = GWTDEV + SignInPanel.SIGN_IN_BUTTON_ID) - private RenderedWebElement button; private final I18nHelper i18n; @FindBy(id = SignInForm.PASSWORD_FIELD_ID + "-input") - private RenderedWebElement passwd; + private WebElement passwd; + @FindBy(id = GWTDEV + SignInPanel.SIGN_IN_BUTTON_ID) + private WebElement signInButton; @FindBy(id = GWTDEV + SitebarSignInLink.SITE_SIGN_IN) - private RenderedWebElement signInLink; + private WebElement signInLink; @FindBy(id = GWTDEV + SitebarSignOutLink.SITE_SIGN_OUT) - private RenderedWebElement signOutLink; + private WebElement signOutLink; @FindBy(id = SignInForm.USER_FIELD_ID + "-input") - private RenderedWebElement user; + private WebElement user; @FindBy(id = GWTDEV + SiteUserOptionsPresenter.LOGGED_USER_MENU_ID) - private RenderedWebElement userMenu; + private WebElement userMenu; public LoginPageObject() { i18n = new I18nHelper(LoginMessages.class); @@ -65,11 +66,25 @@ waitFor(signInLink); } - public RenderedWebElement getHeader() { + public void fillSigInInForm(final String username, final String password, final boolean withReturn) { + user.clear(); + passwd.clear(); + user.clear(); + passwd.clear(); + user.sendKeys(username); + passwd.sendKeys(password); + if (withReturn) { + passwd.sendKeys(Keys.RETURN); + } else { + signInButton.click(); + } + } + + public WebElement getHeader() { return signInLink; } - public RenderedWebElement header() { + public WebElement header() { return getHeader(); } @@ -79,17 +94,21 @@ } public void signIn(final String username, final String password) { + signIn(username, password, true); + } + + public void signIn(final String username, final String password, final boolean withReturn) { assertIsDisconnected(); signInLink.click(); - user.clear(); - passwd.clear(); - user.sendKeys(username); - passwd.sendKeys(password); - button.click(); + fillSigInInForm(username, password, withReturn); } public void signInDefUser() { - signIn(SeleniumConstants.USERNAME, SeleniumConstants.PASSWD); + signIn(SeleniumConstants.USERNAME, SeleniumConstants.PASSWD, false); } + public void signOut() { + logout(); + } + } Modified: trunk/src/test/java/cc/kune/selenium/login/LoginSeleniumTests.java =================================================================== --- trunk/src/test/java/cc/kune/selenium/login/LoginSeleniumTests.java 2011-09-23 00:01:57 UTC (rev 1527) +++ trunk/src/test/java/cc/kune/selenium/login/LoginSeleniumTests.java 2011-09-23 03:01:39 UTC (rev 1528) @@ -21,11 +21,12 @@ import org.testng.annotations.Test; +import cc.kune.core.client.state.SiteTokens; import cc.kune.selenium.KuneSeleniumTest; public class LoginSeleniumTests extends KuneSeleniumTest { - @Test(dataProvider = "correctlogin", enabled = false) + @Test(dataProvider = "correctlogin") public void severalsSignInSingOut(final String user, final String passwd) { login.assertIsDisconnected(); login.signIn(user, passwd); @@ -36,7 +37,6 @@ login.signIn(user, passwd); login.assertIsConnectedAs(user); login.logout(); - login.assertIsDisconnected(); } @@ -45,6 +45,8 @@ login.assertIsDisconnected(); login.signIn(user, passwd); login.assertIsConnectedAs(user); + login.logout(); + login.assertIsDisconnected(); } @Test @@ -53,4 +55,14 @@ login.signIn("nouser", "nopassword"); login.assertIsDisconnected(); } + + @Test(dataProvider = "correctlogin") + public void signInWithToken(final String user, final String passwd) { + login.assertIsDisconnected(); + webdriver.gotoToken(SiteTokens.SIGNIN); + login.fillSigInInForm(user, passwd, true); + login.assertIsConnectedAs(user); + login.logout(); + login.assertIsDisconnected(); + } } Copied: trunk/src/test/java/cc/kune/selenium/tools/AbstractWebDriver.java (from rev 1511, trunk/src/test/java/cc/kune/selenium/tools/AbstractWebTester.java) =================================================================== --- trunk/src/test/java/cc/kune/selenium/tools/AbstractWebDriver.java (rev 0) +++ trunk/src/test/java/cc/kune/selenium/tools/AbstractWebDriver.java 2011-09-23 03:01:39 UTC (rev 1528) @@ -0,0 +1,149 @@ +/* + * + * Copyright (C) 2007-2011 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package cc.kune.selenium.tools; + +import java.util.List; +import java.util.Set; + +import org.openqa.selenium.By; +import org.openqa.selenium.Point; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebDriverBackedSelenium; +import org.openqa.selenium.WebElement; + +import cc.kune.core.shared.domain.utils.StateToken; + +import com.google.gwt.user.client.ui.UIObject; +import com.thoughtworks.selenium.Selenium; + +public abstract class AbstractWebDriver implements WebDriver { + private final String baseUrl; + private final WebDriver driver; + + private final Selenium selenium; + + public AbstractWebDriver(final WebDriver driver, final String baseUrl) { + this.driver = driver; + this.baseUrl = baseUrl; + selenium = new WebDriverBackedSelenium(driver, baseUrl); + selenium.setSpeed("500"); + // selenium.setTimeout("5000"); + } + + @Override + public void close() { + driver.close(); + } + + @Override + public WebElement findElement(final By by) { + return driver.findElement(by); + } + + @Override + public List<WebElement> findElements(final By by) { + return driver.findElements(by); + } + + @Override + public void get(final String url) { + driver.get(url); + } + + public WebElement getById(final String id) { + return driver.findElement(By.id(UIObject.DEBUG_ID_PREFIX + id)); + } + + @Override + public String getCurrentUrl() { + return driver.getCurrentUrl(); + } + + @Override + public String getPageSource() { + return driver.getPageSource(); + } + + @Override + public String getTitle() { + return driver.getTitle(); + } + + @Override + public String getWindowHandle() { + return driver.getWindowHandle(); + } + + @Override + public Set<String> getWindowHandles() { + return driver.getWindowHandles(); + } + + public void gotoToken(final StateToken token) { + get(baseUrl + token); + } + + public void gotoToken(final String token) { + get(baseUrl + token); + } + + public void home() { + assert baseUrl != null; + driver.get(baseUrl); + } + + public boolean isElementPresent(final String id) { + // http://stackoverflow.com/questions/5922930/iselementpresent-in-selenium-2-0 + return selenium.isElementPresent(id); + } + + public boolean isTextPresent(final String text) { + return selenium.isTextPresent(text); + } + + @Override + public Options manage() { + return driver.manage(); + } + + public void moveMouseAt(final Point point) { + selenium.mouseMoveAt(String.valueOf(point.getX()), String.valueOf(point.getY())); + } + + @Override + public Navigation navigate() { + return driver.navigate(); + } + + public void open(final String url) { + get(url); + } + + @Override + public void quit() { + driver.quit(); + } + + @Override + public TargetLocator switchTo() { + return driver.switchTo(); + } + +} \ No newline at end of file Deleted: trunk/src/test/java/cc/kune/selenium/tools/AbstractWebTester.java =================================================================== --- trunk/src/test/java/cc/kune/selenium/tools/AbstractWebTester.java 2011-09-23 00:01:57 UTC (rev 1527) +++ trunk/src/test/java/cc/kune/selenium/tools/AbstractWebTester.java 2011-09-23 03:01:39 UTC (rev 1528) @@ -1,71 +0,0 @@ -/* - * - * Copyright (C) 2007-2011 The kune development team (see CREDITS for details) - * This file is part of kune. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ -package cc.kune.selenium.tools; - -import org.openqa.selenium.By; -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebElement; - -import com.google.gwt.user.client.ui.UIObject; - -public abstract class AbstractWebTester { - private final String baseUrl; - private final WebDriver driver; - - // private final Selenium selenium; - - public AbstractWebTester(final WebDriver driver, final String baseUrl) { - this.driver = driver; - this.baseUrl = baseUrl; - - // selenium = new WebDriverBackedSelenium(driver, baseUrl); - // selenium.setTimeout("5000"); - } - - public void close() { - driver.close(); - } - - public WebElement getById(final String id) { - return driver.findElement(By.id(UIObject.DEBUG_ID_PREFIX + id)); - } - - public void home() { - assert baseUrl != null; - // selenium.open(baseUrl); - driver.get(baseUrl); - } - // - // public boolean isElementPresent(final String id) { - // return true; - // // return selenium.isElementPresent(id); - // } - // - // public boolean isTextPresent(final String text) { - // return true; - // // return selenium.isTextPresent(text); - // } - // - // public void moveMouseAt(final Point point) { - // // seenium.mouseMoveAt(String.valueOf(point.getX()), - // // String.valueOf(point.getY())); - // } - -} \ No newline at end of file Copied: trunk/src/test/java/cc/kune/selenium/tools/GenericWebDriver.java (from rev 1511, trunk/src/test/java/cc/kune/selenium/tools/GenericWebTester.java) =================================================================== --- trunk/src/test/java/cc/kune/selenium/tools/GenericWebDriver.java (rev 0) +++ trunk/src/test/java/cc/kune/selenium/tools/GenericWebDriver.java 2011-09-23 03:01:39 UTC (rev 1528) @@ -0,0 +1,33 @@ +/* + * + * Copyright (C) 2007-2011 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package cc.kune.selenium.tools; + +import org.openqa.selenium.WebDriver; + +import com.google.inject.Inject; + +public class GenericWebDriver extends AbstractWebDriver { + + @Inject + public GenericWebDriver(final WebDriver driver) { + super(driver, "http://kune.beta.iepala.es/ws/?locale=en#"); + } + +} Deleted: trunk/src/test/java/cc/kune/selenium/tools/GenericWebTester.java =================================================================== --- trunk/src/test/java/cc/kune/selenium/tools/GenericWebTester.java 2011-09-23 00:01:57 UTC (rev 1527) +++ trunk/src/test/java/cc/kune/selenium/tools/GenericWebTester.java 2011-09-23 03:01:39 UTC (rev 1528) @@ -1,33 +0,0 @@ -/* - * - * Copyright (C) 2007-2011 The kune development team (see CREDITS for details) - * This file is part of kune. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ -package cc.kune.selenium.tools; - -import org.openqa.selenium.WebDriver; - -import com.google.inject.Inject; - -public class GenericWebTester extends AbstractWebTester { - - @Inject - public GenericWebTester(final WebDriver driver) { - super(driver, "http://kune.beta.iepala.es/ws/?locale=en#"); - } - -} Modified: trunk/src/test/java/cc/kune/selenium/tools/SeleniumModule.java =================================================================== --- trunk/src/test/java/cc/kune/selenium/tools/SeleniumModule.java 2011-09-23 00:01:57 UTC (rev 1527) +++ trunk/src/test/java/cc/kune/selenium/tools/SeleniumModule.java 2011-09-23 03:01:39 UTC (rev 1528) @@ -19,11 +19,15 @@ */ package cc.kune.selenium.tools; +import java.util.Arrays; + import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.firefox.FirefoxProfile; import org.openqa.selenium.firefox.internal.ProfilesIni; +import org.openqa.selenium.remote.DesiredCapabilities; +import org.openqa.selenium.support.events.EventFiringWebDriver; import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory; import org.openqa.selenium.support.pagefactory.ElementLocatorFactory; @@ -40,22 +44,30 @@ protected void configure() { // bind(WebDriver.class).toInstance(creatFirefoxDriver()); - final ChromeDriver driver = createChromeDriver(); + final WebDriver driver = createChromeDriver(); bind(WebDriver.class).toInstance(driver); + bind(GenericWebDriver.class).in(Singleton.class); - bind(GenericWebTester.class).in(Singleton.class); - // "http://127.0.0.1:8888/ws/?locale=en&log_level=INFO&gwt.codesvr=127.0.0.1:999..."); bind(ElementLocatorFactory.class).toInstance( new AjaxElementLocatorFactory(driver, SeleniumConstants.TIMEOUT)); + final EventFiringWebDriver eventFiring = new EventFiringWebDriver(driver); + bind(EventFiringWebDriver.class).toInstance(eventFiring); + // Page Objects here! bind(LoginPageObject.class).in(Singleton.class); } - private ChromeDriver createChromeDriver() { - final ChromeDriver driver = new ChromeDriver(); + private WebDriver createChromeDriver() { + // http://code.google.com/p/selenium/wiki/ChromeDriver + System.setProperty("webdriver.chrome.driver", "/usr/bin/chromedriver"); + final DesiredCapabilities capabilities = DesiredCapabilities.chrome(); + // http://peter.sh/experiments/chromium-command-line-switches/ + capabilities.setCapability("chrome.switches", Arrays.asList("--disable-translate")); + capabilities.setCapability("chrome.binary", "/usr/bin/chromium-browser"); + final WebDriver driver = new ChromeDriver(capabilities); return driver; } @@ -65,6 +77,7 @@ // profile.setPreference("webdriver.firefox.profile", // SeleniumConstants.FIREFOX_PROFILE_NAME); // profile.setPreference("webdriver.firefox.useExisting",true); + final ProfilesIni allProfiles = new ProfilesIni(); final FirefoxProfile profile = allProfiles.getProfile(SeleniumConstants.FIREFOX_PROFILE_NAME); // profile.setPreferences("foo.bar", 23);
participants (1)
-
Vicente J. Ruiz Jurado