Author: lfryc(a)redhat.com
Date: 2010-01-13 05:18:04 -0500 (Wed, 13 Jan 2010)
New Revision: 16273
Added:
branches/sandbox/rf-demo-ftest-iexplore/README.html
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/stateManager/
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/stateManager/StateManagerTestCase.java
branches/sandbox/rf-demo-ftest-iexplore/src/test/resources/org/jboss/richfaces/integrationTest/stateManager/
branches/sandbox/rf-demo-ftest-iexplore/src/test/resources/org/jboss/richfaces/integrationTest/stateManager/locators.properties
branches/sandbox/rf-demo-ftest-iexplore/src/test/resources/org/jboss/richfaces/integrationTest/stateManager/messages.properties
Removed:
branches/sandbox/rf-demo-ftest-iexplore/README.txt
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/stateManager/StateManagerTestCase.java
branches/sandbox/rf-demo-ftest-iexplore/src/test/resources/org/jboss/richfaces/integrationTest/stateManager/locators.properties
branches/sandbox/rf-demo-ftest-iexplore/src/test/resources/org/jboss/richfaces/integrationTest/stateManager/messages.properties
Modified:
branches/sandbox/rf-demo-ftest-iexplore/pom.xml
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/AbstractSeleniumRichfacesTestCase.java
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/fileUpload/FileUploadTestCase.java
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/tooltip/TooltipDataTableTestCase.java
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/tooltip/TooltipTestCase.java
branches/sandbox/rf-demo-ftest-iexplore/src/test/resources/testng.xml
branches/sandbox/rf-demo-ftest-iexplore/src/test/resources/user-extensions/rfqa-extensions.js
Log:
- merge of changes in branch community/3.3.X to locally - r16160 through r16272
Copied: branches/sandbox/rf-demo-ftest-iexplore/README.html (from rev 16272,
branches/community/3.3.X/samples/richfaces-demo/functional-test/README.html)
===================================================================
--- branches/sandbox/rf-demo-ftest-iexplore/README.html (rev 0)
+++ branches/sandbox/rf-demo-ftest-iexplore/README.html 2010-01-13 10:18:04 UTC (rev
16273)
@@ -0,0 +1,133 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+<style>
+body { font-family: sans-serif; }
+h1 { color: darkblue; }
+.indent { text-indent: 2em; }
+</style>
+<body>
+ <h1>RichFaces-Demo - functional-test</h1>
+
+ <h2>About</h2>
+
+ <h3>Introduction</h3>
+ <p>Functional test uses Maven and TestNG to run integration tests, which consist
of automated browser testing using <a
href="http://seleniumhq.org/">Selenium web application testing
system</a>.</p>
+
+ <h3>Structure</h3>
+ <p>Each component from <a
href="http://livedemo.exadel.com/richfaces-demo/index.jsp">R...
application</a> corresponds with one package of test cases (except of components
which share one presentation like <i>data table, column and column
group</i>).</p>
+ <p>Each package is divided to one or more test cases presenting features of one
component, traditionally distinguished by own tab.</p>
+
+ <h3>Location</h3>
+ <p>All test cases are under
<tt>src/test/richfaces/integrationTest</tt> package, separated to packages by
component name such as</p>
+ <p
class="indent"><tt>org.jboss.richfaces.integrationTest.dataTable</tt></p>
+ <p>and each test case is named by feature it corresponds like</p>
+ <p
class="indent"><tt>org.jboss.richfaces.integrationTest.dataTable.ExtendedDataModelTestCase</tt></p>
+
+ <h3>TestNG descriptor</h3>
+ <p>All of the tests forms suite and they are enumerated in TestNG descriptor
<tt>src/test/resources/testng.xml</tt>.</p>
+
+ <h3>Logging</h3>
+ <p>By default selenium local instance of SeleniumServer logs to file
<tt>target/selenium/selenium-server.log</tt>.</p>
+
+ <h3>Resources</h3>
+ <p>The majority of locators and assert values used in test are externalized in
<tt>*.properties</tt> files.</p>
+ <p>You can find all string belonging to the given package of test cases in path
such as <tt>src/test/resources/${package}/locators.properties</tt>
(<tt>*/messages.properties</tt> respectively).</p>
+
+ <h2>Build environment</h2>
+ <p>Recommended: Maven 2.1.0, SunJDK 1.6.0_16</p>
+ <p>Requires locally built <tt>selenium-testing-lib library</tt>
(obtain it from <a
href="http://anonsvn.jboss.org/repos/richfaces/branches/community/3....
repository</a>)</p>
+
+ <h2>Command-line usage</h2>
+
+ <h3>Basics</h3>
+ <p>Tests run in <tt>integration-test</tt> phase, but also
<tt>post-integration-test</tt> contains finalization processes.</p>
+ <p>So basic operation which you may want to trigger is run all of the tests - this
operation requires specification of browser to use (propagated to Selenium configuration;
<a
href="http://seleniumhq.org/docs/">consult
documentation</a>):</p>
+ <p class="indent"><tt>$ <b>mvn post-integration-test
-Dbrowser="*firefox"</b></tt></p>
+ <p>(we can use also <tt>verify</tt> phase adequately since it is more
simple to type)</p>
+ <p class="indent"><tt>$ mvn <b>verify</b>
-Dbrowser="*firefox"</tt></p>
+ <p>This command run the tests using externally run container. This is default
behaviour, but you probably want to prepare all of the necessary stuff in container
instead:</p>
+
+ <h3>Container specification</h3>
+ <p>Build are using Cargo to run richfaces-demo inside container. To use that, you
must specify <tt>containerId</tt> definition:</p>
+ <p class="indent"><tt>$ mvn verify -Dbrowser="*firefox"
<b>-DcontainerId=tomcat6x</b></tt></p>
+ <p>Configuration now supports:</p>
+ <ul>
+ <li>tomcat6x</li>
+ <li>jboss5x <i>(can be use to run inside JBoss AS 6.X
too)</i></li>
+ </ul>
+ <p>By default, build is configured to obtain container installation archive from
URL in specified version. In that way is container downloaded automatically (note: Cargo
is caching the downloaded binary).</p>
+ <p>You can specify the version manually by redefining
<tt>container.version</tt>:</p>
+ <p class="indent"><tt>$ mvn verify -Dbrowser="*firefox"
-DcontainerId=tomcat6x <b>-Dcontainer.version=6.0.18</b></tt></p>
+ <p>You also may want avoid downloading container (note: it is highly recommended
to specify the version of container to overwrite default version, because build isn't
able to obtain it automatically from archive):</p>
+ <p class="indent"><tt>$ mvn verify -Dbrowser="*firefox"
-DcontainerId=tomcat6x <b>-Dcontainer.version=6.0.18
-Dcontainer.installer.url=file:/home/foo/binaries/apacha-tomcat-6.0.18.zip</b></tt></p>
+ <p>(notice the <tt>file:/</tt> prefix in
<tt>container.installer.url</tt> definition)</p>
+
+ <h3>Running one-off tests</h3>
+ <p>By default, complete suite specified in TestNG descriptor are run during
<tt>integration-test</tt> phase.</p>
+ <p>If you want to run only selected tests, use comma-separated list of paths
specifing the test cases (you can use wildcards). For example:</p>
+ <p>
+ <div class="indent"><tt>$ mvn ...
<b>-Dtest=TooltipTestCase</b></tt></div>
+ <div class="indent"><tt>$ mvn ...
<b>-Dtest="extendedDataTable/*"</b></tt> <i>(run all of
the tests for EDT)</i></div>
+ <div class="indent"><tt>$ mvn ...
<b>-Dtest="ActionParameter*,tooltip/*"</b></tt> <i>(run
ActionParameterTestCase and all of the tests for Tooltip)</i></div>
+ <div class="indent"><tt>$ mvn ...
<b>-Dtest="*Validator*"</b></tt> <i>(run all validator
tests)</i></div>
+ </p>
+
+ <h3>Selenium configuration</h3>
+ <p>Additional settings which influence selenium configuration defaults:</p>
+
+ <h4>Maximizing selenium window with tested application</h4>
+ <p class="indent"><tt>$ mvn ...
<b>-Dselenium.maximize=true</b></tt></p>
+
+ <h4>Run selenium in debugging mode</h4>
+ <p>This mode allows force to use selenium debug mode and also browser side logging
(note: this combination is very verbose):</p>
+ <p class="indent"><tt>$ mvn ...
<b>-Dselenium.debug=true</b></tt></p>
+
+ <h4>Changing host and port of SeleniumServer</h4>
+ <p>By default build uses local selenium (<tt>localhost:8444</tt>)
started in <tt>pre-integration-test</tt> phase, but you can define other host
and/or port too:</p>
+ <p class="indent"><tt>$ mvn ...
<b>-Dselenium.host=remote.host -Dselenium.port=4444</b></tt></p>
+ <p>(note: despite of specifying other host for connecting remote SeleniumServer,
the local instance of SeleniumServer is triggered automatically on the specified port
<tt>${selenium.port}</tt> listening on <tt>0.0.0.0</tt> - so give
a attention what port are you using)</p>
+ <p>(note: build automatically prepares JavaScript extensions for SeleniumServer,
so it is necessary to copy that extensions from
<tt>target/test-classes/custom-extensions.js</tt> and start designated
SeleniumServer with switch <tt>-userExtension</tt> pointed to that file - the
<tt>custom-extensions.js</tt> are built in
<tt>process-test-resources</tt> phase)</p>
+
+ <h3>Which richfaces-demo artifact use?</h3>
+ <p>(You may omit following examples if you aren't using Cargo (containerId
definition) to deploy richfaces-demo.)</p>
+ <p>By default, selenium obtains newest snapshot of richfaces-demo from <a
href="http://snapshots.jboss.org/maven2/org/richfaces/samples/richfa...;,
but you may want to override version - in that case use one of following methods to
specify artifact what you want to be tested:</p>
+
+ <h4>Specifying release version</h4>
+ <p class="indent"><tt>$ mvn ...
<b>-Ddemo.version=3.3.3.BETA1</b></tt></p>
+ <p>But especially when testing release, you may want to specify suitable profile
for given container, so let specify classifier of richfaces-demo artifact:</p>
+ <p class="indent"><tt>$ mvn ... -DcontainerId=tomcat6x ...
-Ddemo.version=3.3.3.BETA1
<b>-Ddemo.classifier=tomcat6</b></tt></p>
+ <p class="indent"><tt>$ mvn ... -DcontainerId=jboss5x ...
-Ddemo.version=3.3.3.BETA1 <b>-Ddemo.classifier=jee5</b></tt></p>
+ <p>(If you don't define <tt>demo.classifier</tt>, standard
behaviour (no classifier) taken precedence and you should use only JavaEE 5 compatible
containers (don't use <tt>tomcat6x</tt>))</p>
+ <p class="indent"><tt>$ mvn ... -DcontainerId=jboss5x ...
-Ddemo.version=3.3.3.BETA1</tt> <i>(defaults to
<tt>-Ddemo.classifier=""</tt>)</i></p>
+
+ <h4>Use local richfaces-demo artifact</h4>
+ <p>If you want use artifact on your local filesystem (specified by location), just
use:</p>
+ <p class="indent"><tt>$ mvn ...
<b>-Ddemo.location=../richfaces-demo.war</b></tt></p>
+ <p>or</p>
+ <p class="indent"><tt>$ mvn ...
<b>-Ddemo.location=$HOME/richfaces-demo-3.3.3-20100104.212113-50.war</b></tt></p>
+ <p>This is very usable for:</p>
+ <ul>
+ <li>locally built or modified artifacts</li>
+ <li>testing snapshots other than the latest</li>
+ </ul>
+
+ <h3>Application context</h3>
+ <p>You can redefine application context, where application actually resides
(defaults to <tt>http://localhost:8080/richfaces-demo/</tt>) in following
way:</p>
+ <p class="indent"><tt>$ mvn ...
<b>-Dcontext.root=http://some.host/
-Dcontext.path=/deployed/richfaces-demo/</b></tt></p>
+ <p>(note: this definition points Selenium where application resides, so the host
must be available from host where selenium instance is running)</p>
+
+ <h3>Use prepared template of Firefox profile</h3>
+ <p>If you already have Firefox's profile prepared for testing (e.g. when you
have there installed own extenssions), you may use it as template for Selenium:</p>
+ <p class="indent"><tt>$ mvn ... -Dbrowser="*firefox"
<b>-DfirefoxProfileTemplate="$HOME/.mozilla/8vykwrsm.default"</b></tt></p>
+ <p>(note: don't be scared about using such profile since Selenium makes a
working copy of given profile first)</p>
+
+ <h3>Testing JSF2</h3>
+ <p>It is necessary to use <b>jsf2</b> definition to run test properly
configured for JSF2:</p>
+ <p class="indent"><tt>$ mvn ...
<b>-Djsf2</b></tt></p>
+ <p>(note: that definition implies turning profile
<tt><b>jsf2_0</b></tt> on:
<tt>-Pjsf2_0</tt>)</p>
+
+ <h2>Configuration by default</h2>
+ <p>All of the definitions above are configured with respect of configuration by
default paragidm, so it is possible to achieve different behaviours with varying
combinations.</p>
+ <p>All default values are specified in pom.xml in properties.</p>
+</body>
+</html>
\ No newline at end of file
Deleted: branches/sandbox/rf-demo-ftest-iexplore/README.txt
===================================================================
--- branches/sandbox/rf-demo-ftest-iexplore/README.txt 2010-01-13 01:02:45 UTC (rev
16272)
+++ branches/sandbox/rf-demo-ftest-iexplore/README.txt 2010-01-13 10:18:04 UTC (rev
16273)
@@ -1,46 +0,0 @@
-1) Build environment
-
-Needs third-party library selenium-testing-lib library.
-
-You can obtain it from
https://svn.devel.redhat.com/repos/jboss-qa/wfk/trunk/selenium-testing-lib
-(until it is available from maven repositories).
-
-Install it into your local maven repository.
-
-
-2) Running tests
-
-It's necessary to have running web/app server with richfaces-demo deployed on it.
-
-To run tests, you have to set up Maven's property called "browser" which
contains browser
-type and path to its binary if needed. You can specify application's context by
setting Maven properties
-named "context.root" and "context.path".
-
-To set them, either edit profiles.xml or pass runtime arguments to maven, e.g.
- mvn install -Dbrowser=*firefox
- mvn install -Dbrowser="*firefox /usr/lib/firefox-3.5.2/firefox"
- mvn install -Dbrowser=*iexplore -Dcontext.root=http://localhost:8080/
-Dcontext.path=/richfaces-demo
-
-Default values are set in pom.xml.
-
-
-3) Profiles
-
-Since some tests might not be runnable on some platforms, there are separate testng.xml
files in
-src/test/profiles for each platform (unix/windows/mac).
-
-
-4) Properties files
-
-The majority of locators and assert values used in test are externalized in *.properties
files. You can find
-all string belonging to the class in src/test/resources/packagename/locators.properties
or
-src/test/resources/packagename/messages.properties.
-
-
-5) Generating testng.xml
-
-$ find -name "*.java" | grep -v Abstract | sort | tr '/' '.' |
sed -r 's#^..(.*).java$#<test
name="\1">\n\t<classes>\n\t\t<class name="\1"
/>\n\t</classes>\n</test>\n#'
-
-
-
-
Modified: branches/sandbox/rf-demo-ftest-iexplore/pom.xml
===================================================================
--- branches/sandbox/rf-demo-ftest-iexplore/pom.xml 2010-01-13 01:02:45 UTC (rev 16272)
+++ branches/sandbox/rf-demo-ftest-iexplore/pom.xml 2010-01-13 10:18:04 UTC (rev 16273)
@@ -1,13 +1,9 @@
<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
- <groupId>org.richfaces</groupId>
- <artifactId>samples</artifactId>
- <version>3.3.3-SNAPSHOT</version>
- </parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.richfaces.integrationTest</groupId>
<artifactId>functional-test</artifactId>
+ <version>3.3.3-SNAPSHOT</version>
<packaging>jar</packaging>
<name>selenium-test</name>
<url>http://maven.apache.org</url>
@@ -77,6 +73,7 @@
<demo.deployable>${demo.deployable.directory}/${demo.deployable.file}</demo.deployable>
<demo.deployable.directory>${project.build.directory}</demo.deployable.directory>
<demo.deployable.file>richfaces-demo.war</demo.deployable.file>
+ <jsf.majorVersion>1</jsf.majorVersion>
</properties>
<build>
<finalName>${project.artifactId}</finalName>
@@ -163,6 +160,8 @@
<includeArtifactIds>selenium</includeArtifactIds>
<includes>jbossqa-extensions.js</includes>
<outputDirectory>${extensions.dir}</outputDirectory>
+ <overWriteReleases>true</overWriteReleases>
+ <overWriteSnapshots>true</overWriteSnapshots>
</configuration>
</execution>
</executions>
@@ -192,6 +191,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>selenium-maven-plugin</artifactId>
+ <version>1.0</version>
<executions>
<execution>
<phase>pre-integration-test</phase>
@@ -226,7 +226,7 @@
<suiteXmlFiles>
<suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
</suiteXmlFiles>
- <argLine>-Dbrowser='${browser}'
-Dcontext.root='${context.root}' -Dcontext.path='${context.path}'
-Dselenium.host='${selenium.host}' -Dselenium.port='${selenium.port}'
-Dselenium.debug='${selenium.debug}'
-Dselenium.maximize='${selenium.maximize}'
-Dmaven.resources.dir='${resources.dir}'
-Dmaven.project.build.directory='${project.build.directory}'</argLine>
+ <argLine>-Dbrowser='${browser}'
-Dcontext.root='${context.root}' -Dcontext.path='${context.path}'
-Dselenium.host='${selenium.host}' -Dselenium.port='${selenium.port}'
-Dselenium.debug='${selenium.debug}'
-Dselenium.maximize='${selenium.maximize}'
-Dmaven.resources.dir='${resources.dir}'
-Dmaven.project.build.directory='${project.build.directory}'
-Djsf.majorVersion='${jsf.majorVersion}'</argLine>
<firefoxProfileTemplate>${firefoxProfileTemplate}</firefoxProfileTemplate>
<properties>
<property>
@@ -250,6 +250,7 @@
</activation>
<properties>
<demo.artifactId.suffix>-jsf2</demo.artifactId.suffix>
+ <jsf.majorVersion>2</jsf.majorVersion>
</properties>
</profile>
<!-- Container Profile -->
@@ -362,7 +363,7 @@
</goals>
<configuration>
<tasks>
- <delete file="${demo.location}"
tofile="${demo.deployable}" verbose="true" />
+ <delete file="${demo.location}" verbose="true" />
</tasks>
</configuration>
</execution>
@@ -391,7 +392,7 @@
</goals>
<configuration>
<tasks>
- <copy file="${demo.location}"
tofile="${project.build.directory}/richfaces-demo.war" verbose="true"
/>
+ <copy file="${demo.location}"
tofile="${project.build.directory}/richfaces-demo.war"
overwrite="true" verbose="true" />
</tasks>
</configuration>
</execution>
Modified:
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/AbstractSeleniumRichfacesTestCase.java
===================================================================
---
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/AbstractSeleniumRichfacesTestCase.java 2010-01-13
01:02:45 UTC (rev 16272)
+++
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/AbstractSeleniumRichfacesTestCase.java 2010-01-13
10:18:04 UTC (rev 16273)
@@ -127,9 +127,6 @@
selenium.start();
allowInitialXpath();
loadCustomLocationStrategies();
-
-
- // adding selenium-side logging facility
loggingTestListener.setSelenium(selenium);
if (Boolean.valueOf(seleniumMaximize)) {
Modified:
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/fileUpload/FileUploadTestCase.java
===================================================================
---
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/fileUpload/FileUploadTestCase.java 2010-01-13
01:02:45 UTC (rev 16272)
+++
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/fileUpload/FileUploadTestCase.java 2010-01-13
10:18:04 UTC (rev 16273)
@@ -272,7 +272,12 @@
waitFor(3000);
selenium.attachFile(LOC_ADD_BUTTON, "file://" + FILE_CYAN);
- waitForElement(LOC_UPLOADED_LIST_TR);
+ Wait.failWith("Files were not uploaded.").until(new Condition() {
+ public boolean isTrue() {
+ return getJQueryCount(LOC_UPLOADED_LIST_TR) == 1;
+ }
+ });
+
count = getJQueryCount(LOC_UPLOADED_LIST_TR);
assertEquals(count, 1, MSG_RIGHT_PANEL_NUMBER_OF_ITEMS);
}
@@ -340,7 +345,11 @@
assertFalse(isDisplayed(LOC_CLEAR_ALL_BUTTON_STYLE),
MSG_CLEAR_ALL_BUTTON_NOT_VISIBLE);
selenium.click(LOC_UPLOAD_BUTTON);
- waitForElement(LOC_UPLOADED_LIST_TR);
+ Wait.failWith("Files were not uploaded.").until(new Condition() {
+ public boolean isTrue() {
+ return getJQueryCount(LOC_UPLOADED_LIST_TR) == 2;
+ }
+ });
assertTrue(isDisplayed(LOC_CLEAR_ALL_BUTTON_STYLE),
MSG_CLEAR_ALL_BUTTON_VISIBLE);
@@ -367,11 +376,19 @@
assertFalse(selenium.isElementPresent(LOC_CLEAR_UPLOADED_DATA_BUTTON),
MSG_CLEAR_UPLOADED_DATA_BUTTON_NOT_VISIBLE);
- waitFor(2000);
+ Wait.failWith("There should be 2 files in the list.").until(new
Condition() {
+ public boolean isTrue() {
+ return getJQueryCount(LOC_NOT_UPLOADED_LIST_TR) == 2;
+ }
+ });
selenium.click(LOC_UPLOAD_BUTTON);
- waitForElement(LOC_UPLOADED_LIST_TR);
-
+ Wait.failWith("Files were not uploaded").until(new Condition() {
+ public boolean isTrue() {
+ return getJQueryCount(LOC_UPLOADED_LIST_TR) == 2;
+ }
+ });
+
assertTrue(selenium.isElementPresent(LOC_CLEAR_UPLOADED_DATA_BUTTON),
MSG_CLEAR_UPLOADED_DATA_BUTTON_VISIBLE);
selenium.click(LOC_CLEAR_UPLOADED_DATA_BUTTON);
Copied:
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/stateManager
(from rev 16272,
branches/community/3.3.X/samples/richfaces-demo/functional-test/src/test/java/org/jboss/richfaces/integrationTest/stateManager)
Deleted:
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/stateManager/StateManagerTestCase.java
===================================================================
---
branches/community/3.3.X/samples/richfaces-demo/functional-test/src/test/java/org/jboss/richfaces/integrationTest/stateManager/StateManagerTestCase.java 2010-01-13
01:02:45 UTC (rev 16272)
+++
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/stateManager/StateManagerTestCase.java 2010-01-13
10:18:04 UTC (rev 16273)
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * JBoss, Home of Professional Open Source
- * Copyright 2009, Red Hat, Inc. and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
- *******************************************************************************/
-
-package org.jboss.richfaces.integrationTest.stateManager;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotSame;
-
-import org.jboss.richfaces.integrationTest.AbstractSeleniumRichfacesTestCase;
-import org.jboss.test.selenium.waiting.Condition;
-import org.jboss.test.selenium.waiting.Wait;
-import org.testng.SkipException;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.Parameters;
-import org.testng.annotations.Test;
-
-/**
- * A test case for State Manager API. It verifies
https://jira.jboss.org/jira/browse/RF-8204. To run this test, demo has
- * to run on top of JSF 2 and server-side state serialization has to be switched on. If
the test suite is launched with
- * JSF 1.2, all tests in this class will be skipped.
- *
- * @author <a href="mailto:ppitonak@redhat.com">Pavol Pitonak</a>
- * @version $Revision$
- */
-public class StateManagerTestCase extends AbstractSeleniumRichfacesTestCase {
-
- private final String LOC_HIDDEN_INPUT_PREFORMATTED =
getLoc("HIDDEN_INPUT_PREFORMATTED");
- private final String LOC_LINK = getLoc("LINK");
-
- /**
- * Tests behavior of the application after Ajax request. It clicks on the link in the
form on the page. There are
- * three forms on the page, each of them has to contain the same value which cannot
change after Ajax request.
- */
- @Test(dependsOnMethods = { "testJsfVersion" })
- public void testAjaxRequest() {
- String[] oldValues = new String[3];
- getValuesAndVerify(oldValues);
-
- selenium.click(LOC_LINK);
- Wait.failWith("The form did not change").until(new Condition() {
- public boolean isTrue() {
- return selenium.getText(LOC_LINK).equals("(To login)");
- }
- });
-
- String[] newValues = new String[3];
- getValuesAndVerify(newValues);
-
- assertEquals(oldValues[0], newValues[0],
- "The value attribute in all forms should not change after an Ajax
request.");
- }
-
- /**
- * Tests behavior of the application after non-Ajax request. It reloads the page
which will cause a non-Ajax
- * request. There are three forms on the page, each of them has to contain the same
value which has to change after
- * non-Ajax request.
- */
- @Test(dependsOnMethods = { "testJsfVersion" })
- public void testNonAjaxRequest() {
- String[] oldValues = new String[3];
- getValuesAndVerify(oldValues);
-
- selenium.refresh();
- waitFor(4000);
-
- String[] newValues = new String[3];
- getValuesAndVerify(newValues);
-
- assertNotSame(oldValues[0], newValues[0],
- "The value attribute in all forms should change after a non-Ajax
request.");
- }
-
- /**
- * Gets the "value" attribute in three form on the page and verifies that
all are the same.
- *
- * @param values
- */
- private void getValuesAndVerify(String[] values) {
- for (int i = 0; i < 3; i++) {
- values[i] = selenium.getAttribute(format(LOC_HIDDEN_INPUT_PREFORMATTED, i));
- }
-
- assertEquals(values[0], values[1],
- "The attribute value in the first form should be the same as one in the
second form.");
- assertEquals(values[1], values[2],
- "The attribute value in the second form should be the same as one in the
third form.");
- }
-
- /**
- * Tests that the test suite is running with JSF2. If test suite is launched with JSF
1.x, all tests in this class
- * are skipped.
- *
- * @param jsfMajorVersion
- * major version of JSF, 1 or 2
- */
- @Test
- @Parameters( { "jsf.majorVersion" })
- public void testJsfVersion(String jsfMajorVersion) {
- if (!"2".equals(jsfMajorVersion)) {
- throw new SkipException("Test should be launched only if running on top
of JSF 2.");
- }
- }
-
- /**
- * Loads the needed page.
- */
- @SuppressWarnings("unused")
- @BeforeMethod
- private void loadPage() {
- openComponent("State Manager API");
- }
-}
Copied:
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/stateManager/StateManagerTestCase.java
(from rev 16272,
branches/community/3.3.X/samples/richfaces-demo/functional-test/src/test/java/org/jboss/richfaces/integrationTest/stateManager/StateManagerTestCase.java)
===================================================================
---
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/stateManager/StateManagerTestCase.java
(rev 0)
+++
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/stateManager/StateManagerTestCase.java 2010-01-13
10:18:04 UTC (rev 16273)
@@ -0,0 +1,131 @@
+/*******************************************************************************
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ *******************************************************************************/
+
+package org.jboss.richfaces.integrationTest.stateManager;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotSame;
+
+import org.jboss.richfaces.integrationTest.AbstractSeleniumRichfacesTestCase;
+import org.jboss.test.selenium.waiting.Condition;
+import org.jboss.test.selenium.waiting.Wait;
+import org.testng.SkipException;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.Test;
+
+/**
+ * A test case for State Manager API. It verifies
https://jira.jboss.org/jira/browse/RF-8204. To run this test, demo has
+ * to run on top of JSF 2 and server-side state serialization has to be switched on. If
the test suite is launched with
+ * JSF 1.2, all tests in this class will be skipped.
+ *
+ * @author <a href="mailto:ppitonak@redhat.com">Pavol Pitonak</a>
+ * @version $Revision$
+ */
+public class StateManagerTestCase extends AbstractSeleniumRichfacesTestCase {
+
+ private final String LOC_HIDDEN_INPUT_PREFORMATTED =
getLoc("HIDDEN_INPUT_PREFORMATTED");
+ private final String LOC_LINK = getLoc("LINK");
+
+ /**
+ * Tests behavior of the application after Ajax request. It clicks on the link in the
form on the page. There are
+ * three forms on the page, each of them has to contain the same value which cannot
change after Ajax request.
+ */
+ @Test(dependsOnMethods = { "testJsfVersion" })
+ public void testAjaxRequest() {
+ String[] oldValues = new String[3];
+ getValuesAndVerify(oldValues);
+
+ selenium.click(LOC_LINK);
+ Wait.failWith("The form did not change").until(new Condition() {
+ public boolean isTrue() {
+ return selenium.getText(LOC_LINK).equals("(To login)");
+ }
+ });
+
+ String[] newValues = new String[3];
+ getValuesAndVerify(newValues);
+
+ assertEquals(oldValues[0], newValues[0],
+ "The value attribute in all forms should not change after an Ajax
request.");
+ }
+
+ /**
+ * Tests behavior of the application after non-Ajax request. It reloads the page
which will cause a non-Ajax
+ * request. There are three forms on the page, each of them has to contain the same
value which has to change after
+ * non-Ajax request.
+ */
+ @Test(dependsOnMethods = { "testJsfVersion" })
+ public void testNonAjaxRequest() {
+ String[] oldValues = new String[3];
+ getValuesAndVerify(oldValues);
+
+ selenium.refresh();
+ waitFor(4000);
+
+ String[] newValues = new String[3];
+ getValuesAndVerify(newValues);
+
+ assertNotSame(oldValues[0], newValues[0],
+ "The value attribute in all forms should change after a non-Ajax
request.");
+ }
+
+ /**
+ * Gets the "value" attribute in three form on the page and verifies that
all are the same.
+ *
+ * @param values
+ */
+ private void getValuesAndVerify(String[] values) {
+ for (int i = 0; i < 3; i++) {
+ values[i] = selenium.getAttribute(format(LOC_HIDDEN_INPUT_PREFORMATTED, i));
+ }
+
+ assertEquals(values[0], values[1],
+ "The attribute value in the first form should be the same as one in the
second form.");
+ assertEquals(values[1], values[2],
+ "The attribute value in the second form should be the same as one in the
third form.");
+ }
+
+ /**
+ * Tests that the test suite is running with JSF2. If test suite is launched with JSF
1.x, all tests in this class
+ * are skipped.
+ *
+ * @param jsfMajorVersion
+ * major version of JSF, 1 or 2
+ */
+ @Test
+ @Parameters( { "jsf.majorVersion" })
+ public void testJsfVersion(String jsfMajorVersion) {
+ if (!"2".equals(jsfMajorVersion)) {
+ throw new SkipException("Test should be launched only if running on top
of JSF 2.");
+ }
+ }
+
+ /**
+ * Loads the needed page.
+ */
+ @SuppressWarnings("unused")
+ @BeforeMethod
+ private void loadPage() {
+ openComponent("State Manager API");
+ }
+}
Modified:
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/tooltip/TooltipDataTableTestCase.java
===================================================================
---
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/tooltip/TooltipDataTableTestCase.java 2010-01-13
01:02:45 UTC (rev 16272)
+++
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/tooltip/TooltipDataTableTestCase.java 2010-01-13
10:18:04 UTC (rev 16273)
@@ -79,18 +79,22 @@
private void waitForElementAppears(final String locator) {
waitModelUpdate.until(new Condition() {
public boolean isTrue() {
- return selenium.isElementPresent(locator);
+ return isElementPresent(locator);
}
});
}
-
+
private void waitForElementDisappears(final String locator) {
waitModelUpdate.until(new Condition() {
public boolean isTrue() {
- return !selenium.isElementPresent(locator);
+ return !isElementPresent(locator);
}
});
}
+
+ private boolean isElementPresent(String locator) {
+ return
!"0".equals(selenium.getEval(format("jqFind('{0}:visible').size()",
locator.replaceFirst("^jquery=", "").trim())));
+ }
@SuppressWarnings("unused")
@BeforeMethod
Modified:
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/tooltip/TooltipTestCase.java
===================================================================
---
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/tooltip/TooltipTestCase.java 2010-01-13
01:02:45 UTC (rev 16272)
+++
branches/sandbox/rf-demo-ftest-iexplore/src/test/java/org/jboss/richfaces/integrationTest/tooltip/TooltipTestCase.java 2010-01-13
10:18:04 UTC (rev 16273)
@@ -50,6 +50,17 @@
private final String MSG_OUTPUT_TOOLTIP_3_4_TEXT =
getMsg("OUTPUT_TOOLTIP_3_4_TEXT");
private final Pattern MSG_REGEXP_TOOLTIPS_REQUESTED =
Pattern.compile(getMsg("REGEXP_TOOLTIPS_REQUESTED"));
+ final String jqFindTooltip = "jqFind('{0}:visible:textEquals({1})')";
+ final String jqFindTooltipWait = format(jqFindTooltip, "strong",
MSG_OUTPUT_TOOLTIP_3_4_WAITING);
+ final String jqFindTooltipText = format(jqFindTooltip, "span",
MSG_OUTPUT_TOOLTIP_3_4_TEXT);
+
+ final String conditionTooltipWaitAppears = format("{0}.size() > 0",
format(jqFindTooltip, "strong",
+ MSG_OUTPUT_TOOLTIP_3_4_WAITING));
+ final String conditionTooltipTextAppears = format("{0}.size() > 0",
format(jqFindTooltip, "span",
+ MSG_OUTPUT_TOOLTIP_3_4_TEXT));
+ final String conditionTooltipTextDisappears = format("{0}.size() == 0",
format(jqFindTooltip, "span",
+ MSG_OUTPUT_TOOLTIP_3_4_TEXT));
+
/**
* Hover mouse at first panel and so invokes tooltip displaying. Checks that
* the tooltip text will display and next hover mouse out of panel to close
@@ -108,17 +119,16 @@
Integer tooltipsRequested = null;
for (int i = 0; i < 3; i++) {
- assertFalse(selenium.isTextPresent(MSG_OUTPUT_TOOLTIP_3_4_WAITING));
- assertFalse(selenium.isTextPresent(MSG_OUTPUT_TOOLTIP_3_4_TEXT));
+ assertEquals(selenium.getEval(format("{0}.size()", jqFindTooltipWait)),
"0");
+ assertEquals(selenium.getEval(format("{0}.size()", jqFindTooltipText)),
"0");
if (i == 0)
selenium.mouseMoveAt(LOC_PANEL_SAMPLE_3, MSG_EVENT_COORDS_AT_PANEL);
mouseOverAt(LOC_PANEL_SAMPLE_3, MSG_EVENT_COORDS_AT_PANEL);
-
tooltipsRequested = waitForTooltipChanges(tooltipsRequested, i == 0);
selenium.mouseOut(LOC_PANEL_SAMPLE_3);
- waitForTextDisappears(MSG_OUTPUT_TOOLTIP_3_4_TEXT);
+ selenium.waitForCondition(conditionTooltipTextDisappears, "3000");
}
}
@@ -133,14 +143,14 @@
Integer tooltipsRequested = null;
for (int i = 0; i < 3; i++) {
- assertFalse(selenium.isTextPresent(MSG_OUTPUT_TOOLTIP_3_4_WAITING));
- assertFalse(selenium.isTextPresent(MSG_OUTPUT_TOOLTIP_3_4_TEXT));
+ assertEquals(selenium.getEval(format("{0}.size()", jqFindTooltipWait)),
"0");
+ assertEquals(selenium.getEval(format("{0}.size()", jqFindTooltipText)),
"0");
selenium.clickAt(LOC_PANEL_SAMPLE_4, MSG_EVENT_COORDS_AT_PANEL);
tooltipsRequested = waitForTooltipChanges(tooltipsRequested, i == 0);
selenium.mouseOut(LOC_PANEL_SAMPLE_4);
- waitForTextDisappears(MSG_OUTPUT_TOOLTIP_3_4_TEXT);
+ selenium.waitForCondition(conditionTooltipTextDisappears, "3000");
}
}
@@ -148,16 +158,15 @@
Integer tooltipsRequested = null;
if (firstLoop) {
- waitForText(MSG_OUTPUT_TOOLTIP_3_4_WAITING);
- waitForText(MSG_OUTPUT_TOOLTIP_3_4_TEXT);
+ selenium.waitForCondition(conditionTooltipWaitAppears, "3000");
+ selenium.waitForCondition(conditionTooltipTextAppears, "3000");
+
tooltipsRequested = retrieveRequestedTooltips.retrieve();
} else {
- waitForText(MSG_OUTPUT_TOOLTIP_3_4_TEXT);
+ selenium.waitForCondition(conditionTooltipTextAppears, "3000");
+
tooltipsRequested = Wait.waitForChangeAndReturn(tooltipsRequestedOld,
retrieveRequestedTooltips);
-
- if (tooltipsRequestedOld != null) {
- assertEquals(tooltipsRequested, Integer.valueOf(tooltipsRequestedOld + 1));
- }
+ assertEquals(tooltipsRequested, Integer.valueOf(tooltipsRequestedOld + 1));
}
return tooltipsRequested;
Copied:
branches/sandbox/rf-demo-ftest-iexplore/src/test/resources/org/jboss/richfaces/integrationTest/stateManager
(from rev 16272,
branches/community/3.3.X/samples/richfaces-demo/functional-test/src/test/resources/org/jboss/richfaces/integrationTest/stateManager)
Deleted:
branches/sandbox/rf-demo-ftest-iexplore/src/test/resources/org/jboss/richfaces/integrationTest/stateManager/locators.properties
===================================================================
---
branches/community/3.3.X/samples/richfaces-demo/functional-test/src/test/resources/org/jboss/richfaces/integrationTest/stateManager/locators.properties 2010-01-13
01:02:45 UTC (rev 16272)
+++
branches/sandbox/rf-demo-ftest-iexplore/src/test/resources/org/jboss/richfaces/integrationTest/stateManager/locators.properties 2010-01-13
10:18:04 UTC (rev 16273)
@@ -1,2 +0,0 @@
-HIDDEN_INPUT_PREFORMATTED=jquery=input[name=javax.faces.ViewState]:eq({0})@value
-LINK=jquery=span#wizard a
\ No newline at end of file
Copied:
branches/sandbox/rf-demo-ftest-iexplore/src/test/resources/org/jboss/richfaces/integrationTest/stateManager/locators.properties
(from rev 16272,
branches/community/3.3.X/samples/richfaces-demo/functional-test/src/test/resources/org/jboss/richfaces/integrationTest/stateManager/locators.properties)
===================================================================
---
branches/sandbox/rf-demo-ftest-iexplore/src/test/resources/org/jboss/richfaces/integrationTest/stateManager/locators.properties
(rev 0)
+++
branches/sandbox/rf-demo-ftest-iexplore/src/test/resources/org/jboss/richfaces/integrationTest/stateManager/locators.properties 2010-01-13
10:18:04 UTC (rev 16273)
@@ -0,0 +1,2 @@
+HIDDEN_INPUT_PREFORMATTED=jquery=input[name=javax.faces.ViewState]:eq({0})@value
+LINK=jquery=span#wizard a
\ No newline at end of file
Deleted:
branches/sandbox/rf-demo-ftest-iexplore/src/test/resources/org/jboss/richfaces/integrationTest/stateManager/messages.properties
===================================================================
Copied:
branches/sandbox/rf-demo-ftest-iexplore/src/test/resources/org/jboss/richfaces/integrationTest/stateManager/messages.properties
(from rev 16272,
branches/community/3.3.X/samples/richfaces-demo/functional-test/src/test/resources/org/jboss/richfaces/integrationTest/stateManager/messages.properties)
===================================================================
Modified: branches/sandbox/rf-demo-ftest-iexplore/src/test/resources/testng.xml
===================================================================
--- branches/sandbox/rf-demo-ftest-iexplore/src/test/resources/testng.xml 2010-01-13
01:02:45 UTC (rev 16272)
+++ branches/sandbox/rf-demo-ftest-iexplore/src/test/resources/testng.xml 2010-01-13
10:18:04 UTC (rev 16273)
@@ -167,22 +167,25 @@
name="org.jboss.richfaces.integrationTest.dataTable.DataTableTestCase"
/>
</classes>
</test>
-
- <test
name="org.jboss.richfaces.integrationTest.dataTable.EditTableWithModalPanelTestCase">
+
+ <test
+ name="org.jboss.richfaces.integrationTest.dataTable.EditTableWithModalPanelTestCase">
<classes>
<class
name="org.jboss.richfaces.integrationTest.dataTable.EditTableWithModalPanelTestCase"
/>
</classes>
</test>
-
- <test
name="org.jboss.richfaces.integrationTest.dataTable.ExtendedDataModelTestCase">
+
+ <test
+ name="org.jboss.richfaces.integrationTest.dataTable.ExtendedDataModelTestCase">
<classes>
<class
name="org.jboss.richfaces.integrationTest.dataTable.ExtendedDataModelTestCase"
/>
</classes>
</test>
-
- <test
name="org.jboss.richfaces.integrationTest.dataTable.ModifiableDataModelTestCase">
+
+ <test
+ name="org.jboss.richfaces.integrationTest.dataTable.ModifiableDataModelTestCase">
<classes>
<class
name="org.jboss.richfaces.integrationTest.dataTable.ModifiableDataModelTestCase"
/>
@@ -227,7 +230,7 @@
name="org.jboss.richfaces.integrationTest.extendedDataTable.DraggingTestCase"
/>
</classes>
</test>
-
+
<test
name="org.jboss.richfaces.integrationTest.extendedDataTable.FilteringTestCase">
<classes>
@@ -235,7 +238,7 @@
name="org.jboss.richfaces.integrationTest.extendedDataTable.FilteringTestCase"
/>
</classes>
</test>
-
+
<test
name="org.jboss.richfaces.integrationTest.extendedDataTable.GroupingTestCase">
<classes>
@@ -243,7 +246,7 @@
name="org.jboss.richfaces.integrationTest.extendedDataTable.GroupingTestCase"
/>
</classes>
</test>
-
+
<test
name="org.jboss.richfaces.integrationTest.extendedDataTable.SelectingTestCase">
<classes>
@@ -251,7 +254,7 @@
name="org.jboss.richfaces.integrationTest.extendedDataTable.SelectingTestCase"
/>
</classes>
</test>
-
+
<test
name="org.jboss.richfaces.integrationTest.extendedDataTable.SortingTestCase">
<classes>
@@ -343,13 +346,13 @@
</classes>
</test>
-<!-- <test-->
-<!-- name="org.jboss.richfaces.integrationTest.mediaOutput.MediaOutputTestCase">-->
-<!-- <classes>-->
-<!-- <class-->
-<!-- name="org.jboss.richfaces.integrationTest.mediaOutput.MediaOutputTestCase"
/>-->
-<!-- </classes>-->
-<!-- </test>-->
+ <!--
+ <test
+ name="org.jboss.richfaces.integrationTest.mediaOutput.MediaOutputTestCase">
+ <classes> <class
+ name="org.jboss.richfaces.integrationTest.mediaOutput.MediaOutputTestCase"
+ /> </classes> </test>
+ -->
<test
name="org.jboss.richfaces.integrationTest.modalPanel.ModalPanelTestCase">
@@ -375,11 +378,13 @@
</classes>
</test>
-<!-- <test
name="org.jboss.richfaces.integrationTest.paint2d.Paint2DTestCase">-->
-<!-- <classes>-->
-<!-- <class
name="org.jboss.richfaces.integrationTest.paint2d.Paint2DTestCase" />-->
-<!-- </classes>-->
-<!-- </test>-->
+ <!--
+ <test
+ name="org.jboss.richfaces.integrationTest.paint2d.Paint2DTestCase">
+ <classes> <class
+ name="org.jboss.richfaces.integrationTest.paint2d.Paint2DTestCase" />
+ </classes> </test>
+ -->
<test
name="org.jboss.richfaces.integrationTest.panel.PanelCustomizationTestCase">
@@ -488,6 +493,14 @@
</classes>
</test>
+ <test
+ name="org.jboss.richfaces.integrationTest.stateManager.StateManagerTestCase">
+ <classes>
+ <class
+ name="org.jboss.richfaces.integrationTest.stateManager.StateManagerTestCase"
/>
+ </classes>
+ </test>
+
<!-- <test
name="org.jboss.richfaces.integrationTest.status.StatusTestCase">-->
<!-- <classes>-->
<!-- <class
name="org.jboss.richfaces.integrationTest.status.StatusTestCase" />-->
@@ -507,7 +520,7 @@
name="org.jboss.richfaces.integrationTest.suggestionBox.SuggestionBoxTestCase"
/>
</classes>
</test>
-
+
<test
name="org.jboss.richfaces.integrationTest.tableFiltering.TableFilteringTestCase">
<classes>
Modified:
branches/sandbox/rf-demo-ftest-iexplore/src/test/resources/user-extensions/rfqa-extensions.js
===================================================================
---
branches/sandbox/rf-demo-ftest-iexplore/src/test/resources/user-extensions/rfqa-extensions.js 2010-01-13
01:02:45 UTC (rev 16272)
+++
branches/sandbox/rf-demo-ftest-iexplore/src/test/resources/user-extensions/rfqa-extensions.js 2010-01-13
10:18:04 UTC (rev 16273)
@@ -92,4 +92,8 @@
var inDocument = this.browserbot.getDocument();
var found = $(inDocument).find(jquery);
return found.length;
-}
\ No newline at end of file
+}
+
+var jqFind = function(selector) {
+ return $(selenium.browserbot.getCurrentWindow().document).find(selector);
+}