Seam SVN: r9467 - trunk/build.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-10-31 11:07:02 -0400 (Fri, 31 Oct 2008)
New Revision: 9467
Modified:
trunk/build/docs.pom.xml
Log:
JBSEAM-3631
Modified: trunk/build/docs.pom.xml
===================================================================
--- trunk/build/docs.pom.xml 2008-10-30 23:21:30 UTC (rev 9466)
+++ trunk/build/docs.pom.xml 2008-10-31 15:07:02 UTC (rev 9467)
@@ -95,13 +95,6 @@
</stylesheetResource>
<finalName>index.html</finalName>
</format>
- <format>
- <formatName>eclipse</formatName>
- <stylesheetResource>
- classpath:/xslt/org/jboss/seam/eclipse.xsl
- </stylesheetResource>
- <finalName>index.html</finalName>
- </format>
</formats>
<options>
<xincludeSupported>true</xincludeSupported>
16 years, 2 months
Seam SVN: r9466 - trunk/doc/Seam_Reference_Guide/en-US.
by seam-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2008-10-30 19:21:30 -0400 (Thu, 30 Oct 2008)
New Revision: 9466
Modified:
trunk/doc/Seam_Reference_Guide/en-US/Gettingstarted.xml
Log:
fix MaxPermSize values
Modified: trunk/doc/Seam_Reference_Guide/en-US/Gettingstarted.xml
===================================================================
--- trunk/doc/Seam_Reference_Guide/en-US/Gettingstarted.xml 2008-10-30 11:28:47 UTC (rev 9465)
+++ trunk/doc/Seam_Reference_Guide/en-US/Gettingstarted.xml 2008-10-30 23:21:30 UTC (rev 9466)
@@ -36,11 +36,11 @@
development time. If you're running JBoss from JBoss IDE, you can configure this in the server launch
configuration, under "VM arguments". We suggest the following values:</para>
- <programlisting>-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512</programlisting>
+ <programlisting>-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m</programlisting>
<para>If you don't have so much memory available, the following is our minimum recommendation:</para>
- <programlisting>-Xms256m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=256</programlisting>
+ <programlisting>-Xms256m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=256m</programlisting>
<para>If you're running JBoss from the command line, you can configure the JVM options in
<literal>bin/run.conf</literal>.</para>
16 years, 2 months
Seam SVN: r9465 - trunk/src/main/org/jboss/seam/async.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-10-30 07:28:47 -0400 (Thu, 30 Oct 2008)
New Revision: 9465
Modified:
trunk/src/main/org/jboss/seam/async/AsynchronousInvocation.java
Log:
JBSEAM-3646
Modified: trunk/src/main/org/jboss/seam/async/AsynchronousInvocation.java
===================================================================
--- trunk/src/main/org/jboss/seam/async/AsynchronousInvocation.java 2008-10-29 21:05:06 UTC (rev 9464)
+++ trunk/src/main/org/jboss/seam/async/AsynchronousInvocation.java 2008-10-30 11:28:47 UTC (rev 9465)
@@ -18,7 +18,7 @@
{
static final long serialVersionUID = 7426196491669891310L;
- private LogProvider log = Logging.getLogProvider(AsynchronousInvocation.class);
+ private static transient LogProvider log = Logging.getLogProvider(AsynchronousInvocation.class);
private String methodName;
private Class[] argTypes;
16 years, 2 months
Seam SVN: r9464 - in trunk/src/test: ftest and 94 other directories.
by seam-commits@lists.jboss.org
Author: jbalunas(a)redhat.com
Date: 2008-10-29 17:05:06 -0400 (Wed, 29 Oct 2008)
New Revision: 9464
Added:
trunk/src/test/ftest/
trunk/src/test/ftest/build.xml
trunk/src/test/ftest/examples/
trunk/src/test/ftest/examples/booking/
trunk/src/test/ftest/examples/booking/build.xml
trunk/src/test/ftest/examples/booking/src/
trunk/src/test/ftest/examples/booking/src/org/
trunk/src/test/ftest/examples/booking/src/org/jboss/
trunk/src/test/ftest/examples/booking/src/org/jboss/seam/
trunk/src/test/ftest/examples/booking/src/org/jboss/seam/example/
trunk/src/test/ftest/examples/booking/src/org/jboss/seam/example/booking/
trunk/src/test/ftest/examples/booking/src/org/jboss/seam/example/booking/test/
trunk/src/test/ftest/examples/booking/src/org/jboss/seam/example/booking/test/selenium/
trunk/src/test/ftest/examples/booking/src/org/jboss/seam/example/booking/test/selenium/booking.properties
trunk/src/test/ftest/examples/booking/testng.xml
trunk/src/test/ftest/examples/build.xml
trunk/src/test/ftest/examples/dvdstore/
trunk/src/test/ftest/examples/dvdstore/build.xml
trunk/src/test/ftest/examples/dvdstore/src/
trunk/src/test/ftest/examples/dvdstore/src/org/
trunk/src/test/ftest/examples/dvdstore/src/org/jboss/
trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/
trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/
trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/
trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/
trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/
trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/LoginTest.java
trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/Person.java
trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/RegistrationTest.java
trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/SearchTest.java
trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/SeleniumDvdTest.java
trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/ShoppingCartTest.java
trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/dvd.properties
trunk/src/test/ftest/examples/dvdstore/testng.xml
trunk/src/test/ftest/examples/groovybooking/
trunk/src/test/ftest/examples/groovybooking/build.xml
trunk/src/test/ftest/examples/groovybooking/src/
trunk/src/test/ftest/examples/groovybooking/src/org/
trunk/src/test/ftest/examples/groovybooking/src/org/jboss/
trunk/src/test/ftest/examples/groovybooking/src/org/jboss/seam/
trunk/src/test/ftest/examples/groovybooking/src/org/jboss/seam/example/
trunk/src/test/ftest/examples/groovybooking/src/org/jboss/seam/example/groovybooking/
trunk/src/test/ftest/examples/groovybooking/src/org/jboss/seam/example/groovybooking/test/
trunk/src/test/ftest/examples/groovybooking/src/org/jboss/seam/example/groovybooking/test/selenium/
trunk/src/test/ftest/examples/groovybooking/src/org/jboss/seam/example/groovybooking/test/selenium/groovybooking.properties
trunk/src/test/ftest/examples/groovybooking/testng.xml
trunk/src/test/ftest/examples/hibernate/
trunk/src/test/ftest/examples/hibernate/build.xml
trunk/src/test/ftest/examples/hibernate/src/
trunk/src/test/ftest/examples/hibernate/src/org/
trunk/src/test/ftest/examples/hibernate/src/org/jboss/
trunk/src/test/ftest/examples/hibernate/src/org/jboss/seam/
trunk/src/test/ftest/examples/hibernate/src/org/jboss/seam/example/
trunk/src/test/ftest/examples/hibernate/src/org/jboss/seam/example/hibernate/
trunk/src/test/ftest/examples/hibernate/src/org/jboss/seam/example/hibernate/test/
trunk/src/test/ftest/examples/hibernate/src/org/jboss/seam/example/hibernate/test/selenium/
trunk/src/test/ftest/examples/hibernate/src/org/jboss/seam/example/hibernate/test/selenium/hibernate.properties
trunk/src/test/ftest/examples/hibernate/testng.xml
trunk/src/test/ftest/examples/icefaces/
trunk/src/test/ftest/examples/icefaces/build.xml
trunk/src/test/ftest/examples/icefaces/src/
trunk/src/test/ftest/examples/icefaces/src/org/
trunk/src/test/ftest/examples/icefaces/src/org/jboss/
trunk/src/test/ftest/examples/icefaces/src/org/jboss/seam/
trunk/src/test/ftest/examples/icefaces/src/org/jboss/seam/example/
trunk/src/test/ftest/examples/icefaces/src/org/jboss/seam/example/icefaces/
trunk/src/test/ftest/examples/icefaces/src/org/jboss/seam/example/icefaces/test/
trunk/src/test/ftest/examples/icefaces/src/org/jboss/seam/example/icefaces/test/selenium/
trunk/src/test/ftest/examples/icefaces/src/org/jboss/seam/example/icefaces/test/selenium/icefaces.properties
trunk/src/test/ftest/examples/icefaces/testng.xml
trunk/src/test/ftest/examples/jpa/
trunk/src/test/ftest/examples/jpa/build.xml
trunk/src/test/ftest/examples/jpa/src/
trunk/src/test/ftest/examples/jpa/src/org/
trunk/src/test/ftest/examples/jpa/src/org/jboss/
trunk/src/test/ftest/examples/jpa/src/org/jboss/seam/
trunk/src/test/ftest/examples/jpa/src/org/jboss/seam/example/
trunk/src/test/ftest/examples/jpa/src/org/jboss/seam/example/jpa/
trunk/src/test/ftest/examples/jpa/src/org/jboss/seam/example/jpa/test/
trunk/src/test/ftest/examples/jpa/src/org/jboss/seam/example/jpa/test/selenium/
trunk/src/test/ftest/examples/jpa/src/org/jboss/seam/example/jpa/test/selenium/jpa.properties
trunk/src/test/ftest/examples/jpa/testng.xml
trunk/src/test/ftest/examples/nestedbooking/
trunk/src/test/ftest/examples/nestedbooking/build.xml
trunk/src/test/ftest/examples/nestedbooking/src/
trunk/src/test/ftest/examples/nestedbooking/src/org/
trunk/src/test/ftest/examples/nestedbooking/src/org/jboss/
trunk/src/test/ftest/examples/nestedbooking/src/org/jboss/seam/
trunk/src/test/ftest/examples/nestedbooking/src/org/jboss/seam/example/
trunk/src/test/ftest/examples/nestedbooking/src/org/jboss/seam/example/nestedbooking/
trunk/src/test/ftest/examples/nestedbooking/src/org/jboss/seam/example/nestedbooking/test/
trunk/src/test/ftest/examples/nestedbooking/src/org/jboss/seam/example/nestedbooking/test/selenium/
trunk/src/test/ftest/examples/nestedbooking/src/org/jboss/seam/example/nestedbooking/test/selenium/nestedbooking.properties
trunk/src/test/ftest/examples/nestedbooking/testng.xml
trunk/src/test/ftest/examples/spring/
trunk/src/test/ftest/examples/spring/build.xml
trunk/src/test/ftest/examples/spring/src/
trunk/src/test/ftest/examples/spring/src/org/
trunk/src/test/ftest/examples/spring/src/org/jboss/
trunk/src/test/ftest/examples/spring/src/org/jboss/seam/
trunk/src/test/ftest/examples/spring/src/org/jboss/seam/example/
trunk/src/test/ftest/examples/spring/src/org/jboss/seam/example/spring/
trunk/src/test/ftest/examples/spring/src/org/jboss/seam/example/spring/test/
trunk/src/test/ftest/examples/spring/src/org/jboss/seam/example/spring/test/selenium/
trunk/src/test/ftest/examples/spring/src/org/jboss/seam/example/spring/test/selenium/SpringChangePasswordTest.java
trunk/src/test/ftest/examples/spring/src/org/jboss/seam/example/spring/test/selenium/spring.properties
trunk/src/test/ftest/examples/spring/testng.xml
trunk/src/test/ftest/examples/wicket/
trunk/src/test/ftest/examples/wicket/build.xml
trunk/src/test/ftest/examples/wicket/src/
trunk/src/test/ftest/examples/wicket/src/org/
trunk/src/test/ftest/examples/wicket/src/org/jboss/
trunk/src/test/ftest/examples/wicket/src/org/jboss/seam/
trunk/src/test/ftest/examples/wicket/src/org/jboss/seam/example/
trunk/src/test/ftest/examples/wicket/src/org/jboss/seam/example/wicket/
trunk/src/test/ftest/examples/wicket/src/org/jboss/seam/example/wicket/test/
trunk/src/test/ftest/examples/wicket/src/org/jboss/seam/example/wicket/test/selenium/
trunk/src/test/ftest/examples/wicket/src/org/jboss/seam/example/wicket/test/selenium/WicketSimpleBookingTest.java
trunk/src/test/ftest/examples/wicket/src/org/jboss/seam/example/wicket/test/selenium/wicket.properties
trunk/src/test/ftest/examples/wicket/testng.xml
trunk/src/test/ftest/ftest.properties
trunk/src/test/ftest/lib/
trunk/src/test/ftest/lib/selenium-java-client-driver.jar
trunk/src/test/ftest/lib/selenium-server-standalone.jar
trunk/src/test/ftest/lib/testng-5.8-jdk15.jar
trunk/src/test/ftest/readme.txt
trunk/src/test/ftest/src/
trunk/src/test/ftest/src/main/
trunk/src/test/ftest/src/main/org/
trunk/src/test/ftest/src/main/org/jboss/
trunk/src/test/ftest/src/main/org/jboss/seam/
trunk/src/test/ftest/src/main/org/jboss/seam/example/
trunk/src/test/ftest/src/main/org/jboss/seam/example/common/
trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/
trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/
trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/
trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/AjaxTest.java
trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/BackButtonTest.java
trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/ChangePasswordTest.java
trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/ConversationTest.java
trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/RegistrationTest.java
trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/SeleniumBookingTest.java
trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/SimpleBookingTest.java
trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/selenium/
trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/selenium/SeamSeleniumTest.java
Log:
Initial implementation of the selenium based functional test suite
Added: trunk/src/test/ftest/build.xml
===================================================================
--- trunk/src/test/ftest/build.xml (rev 0)
+++ trunk/src/test/ftest/build.xml 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,150 @@
+<?xml version="1.0"?>
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2008, Red Hat Middleware LLC, 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.
+-->
+
+<!-- core build file for executing and managing Seam functional tests -->
+<project name="ftest.base.build" default="testall" basedir=".">
+
+ <!-- Location of Seam -->
+ <dirname property="seam.dir" file="${ant.file.ftest.base.build}/../../../" />
+
+ <!--Import properties -->
+ <property file="ftest.properties" />
+
+ <property name="ftest.dir" value="${seam.dir}/src/test/ftest" />
+
+ <!-- TODO : should the libs be in seam/lib and managed with mvn? -->
+ <property name="lib.dir" value="${ftest.dir}/lib" />
+ <property name="log.dir" value="${ftest.dir}/log" />
+
+ <path id="selenium.server.classpath">
+ <fileset dir="${lib.dir}">
+ <include name="selenium-server-standalone.jar" />
+ </fileset>
+ </path>
+
+ <target name="testall">
+ <antcall target="start.selenium.server">
+ </antcall>
+
+ <!-- Execute tests for all examples-->
+ <testexample name="booking" />
+ <testexample name="dvdstore" />
+ <testexample name="groovybooking" />
+ <testexample name="hibernate" />
+ <testexample name="icefaces" />
+ <testexample name="jpa" />
+ <testexample name="nestedbooking" />
+ <testexample name="spring" />
+ <testexample name="wicket" />
+
+ <antcall target="stop.selenium.server">
+ </antcall>
+ </target>
+
+ <target name="cleanall">
+ <cleanexample name="booking" />
+ <cleanexample name="dvdstore" />
+ <cleanexample name="groovybooking" />
+ <cleanexample name="hibernate" />
+ <cleanexample name="icefaces" />
+ <cleanexample name="jpa" />
+ <cleanexample name="nestedbooking" />
+ <cleanexample name="spring" />
+ <cleanexample name="wicket" />
+ </target>
+
+ <target name="undeployall">
+ <undeployexample name="booking" />
+ <undeployexample name="dvdstore" />
+ <undeployexample name="groovybooking" />
+ <undeployexample name="hibernate" />
+ <undeployexample name="icefaces" />
+ <undeployexample name="jpa" />
+ <undeployexample name="nestedbooking" />
+ <undeployexample name="spring" />
+ <undeployexample name="wicket" />
+ </target>
+
+
+ <target name="start.selenium.server">
+ <java classpathref="selenium.server.classpath" classname="org.openqa.selenium.server.SeleniumServer" fork="true" spawn="true">
+ <arg line="-port ${selenium.server.port}" />
+ <arg line="${selenium.server.cmd.args}" />
+ </java>
+
+ <waitfor maxwait="30" maxwaitunit="second">
+ <and>
+ <socket server="${selenium.host}" port="${selenium.server.port}" />
+ <!-- this url will 403, so we say that it should start counting errors at 404 to skip -->
+ <http url="http://${selenium.host}:${selenium.server.port}/selenium-server/core/index.html" errorsBeginAt="404" />
+ </and>
+ </waitfor>
+ </target>
+
+ <target name="stop.selenium.server">
+ <get taskname="selenium-shutdown" src="http://${selenium.host}:${selenium.server.port}/selenium-server/driver/?cmd=shutDown" dest="${log.dir}/server.shutdown.dest.log" ignoreerrors="true" />
+ <echo taskname="selenium-shutdown" message="DGF Errors during shutdown are expected" />
+ </target>
+
+
+ <!-- duplicated from ${seam.dir}/build.xml -->
+ <!-- TODO can we avoid duplication -->
+ <macrodef name="testexample">
+ <attribute name="name" />
+ <attribute name="path" default="examples/@{name}" />
+ <attribute name="message" default="Running functional tests on @{name} example" />
+ <sequential>
+ <echo>@{message}</echo>
+ <callExample path="@{path}" target="test" />
+ </sequential>
+ </macrodef>
+
+ <macrodef name="cleanexample">
+ <attribute name="name" />
+ <attribute name="path" default="examples/@{name}" />
+ <attribute name="message" default="Cleaning @{name} example" />
+ <sequential>
+ <echo>@{message}</echo>
+ <callExample path="@{path}" target="clean" />
+ </sequential>
+ </macrodef>
+
+ <macrodef name="undeployexample">
+ <attribute name="name" />
+ <attribute name="path" default="examples/@{name}" />
+ <attribute name="message" default="Undeploying @{name} example from JBoss" />
+ <sequential>
+ <echo>@{message}</echo>
+ <callExample path="@{path}" target="undeploy.example.jboss" />
+ </sequential>
+ </macrodef>
+
+ <macrodef name="callExample">
+ <attribute name="path" />
+ <attribute name="target" />
+ <sequential>
+ <ant dir="@{path}" target="@{target}" inheritall="false" />
+ </sequential>
+ </macrodef>
+</project>
+
Added: trunk/src/test/ftest/examples/booking/build.xml
===================================================================
--- trunk/src/test/ftest/examples/booking/build.xml (rev 0)
+++ trunk/src/test/ftest/examples/booking/build.xml 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2008, Red Hat Middleware LLC, 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.
+-->
+<project name="booking.ftest.build" basedir="." default="build">
+ <property name="example.name" value="booking"/>
+ <property name="jboss.deploy.target" value="deploy"/>
+ <property name="jboss.deploy.waittime" value="10"/>
+ <property name="jboss.undeploy.target" value="undeploy"/>
+ <property name="example.ready.check.url" value="seam-booking/home.seam"/>
+
+ <import file="../build.xml" />
+</project>
Added: trunk/src/test/ftest/examples/booking/src/org/jboss/seam/example/booking/test/selenium/booking.properties
===================================================================
--- trunk/src/test/ftest/examples/booking/src/org/jboss/seam/example/booking/test/selenium/booking.properties (rev 0)
+++ trunk/src/test/ftest/examples/booking/src/org/jboss/seam/example/booking/test/selenium/booking.properties 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,84 @@
+ #
+ # JBoss, Home of Professional Open Source
+ # Copyright 2008, Red Hat Middleware LLC, 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.
+ #
+HOME_PAGE /seam-booking/home.seam
+MAIN_PAGE /seam-booking/main.seam
+PAGE_TITLE JBoss Suites: Seam Framework
+LOGIN_USERNAME_FIELD id=login:username
+LOGIN_PASSWORD_FIELD id=login:password
+LOGIN_SUBMIT id=login:login
+LOGOUT id=logout
+PASSWORD_UPDATED_MESSAGE Password updated
+PASSWORD_REENTER_MESSAGE Re-enter new password
+PASSWORD_VALUE_REQUIRED_MESSAGE //span[text() = 'value is required']
+PASSWORD_LENGTH_MESSAGE length must be between
+PASSWORD_PASSWORD id=setpassword:PasswordDecorate:password
+PASSWORD_VERIFY id=setpassword:VerifyDecorate:verify
+PASSWORD_SUBMIT id=setpassword:change
+SETTINGS id=settings
+SEARCH_STRING_FIELD id=searchCriteria:searchString
+SEARCH_SUBMIT id=searchCriteria:findHotels
+NO_HOTELS_FOUND id=NoHotelsFoundMessage
+SEARCH_RESULT_TABLE xpath=//table[@id = 'hotels']/tbody
+SEARCH_RESULT_TABLE_FIRST_ROW_LINK id=hotels:0:viewHotel
+BOOKING_BOOK id=hotel:bookHotel
+BOOKING_CANCEL id=hotel:cancel
+HOTEL_BED_FIELD id=booking:bedsDecorate:beds
+HOTEL_BED_FIELD_SELECT_CRITERIA value=
+HOTEL_CHECKIN_DATE_FIELD id=booking:checkinDateDecorate:checkinDateInputDate
+HOTEL_CHECKIN_DATE_MESSAGE id=booking:checkinDateDecorate:message
+HOTEL_CHECKOUT_DATE_FIELD id=booking:checkoutDateDecorate:checkoutDateInputDate
+HOTEL_CHECKOUT_DATE_MESSAGE id=booking:checkoutDateDecorate:message
+HOTEL_SMOKING_1 id=booking:smokingDecorate:smoking:0
+HOTEL_SMOKING_2 id=booking:smokingDecorate:smoking:1
+HOTEL_CREDIT_CARD id=booking:creditCardDecorate:creditCard
+HOTEL_CREDIT_CARD_NAME id=booking:creditCardNameDecorate:creditCardName
+HOTEL_PROCEED id=booking:proceed
+HOTEL_CANCEL id=booking:cancel
+HOTEL_CONFIRM id=confirm:confirm
+HOTEL_MESSAGE xpath=//ul[@id='messages']/li
+REGISTRATION id=login:register
+REGISTRATION_USERNAME id=registration:usernameDecorate:username
+REGISTRATION_USERNAME_MESSAGE id=registration:usernameDecorate:message
+REGISTRATION_NAME id=registration:nameDecorate:name
+REGISTRATION_NAME_MESSAGE id=registration:nameDecorate:message
+REGISTRATION_PASSWORD id=registration:passwordDecorate:password
+REGISTRATION_PASSWORD_MESSAGE id=registration:passwordDecorate:message
+REGISTRATION_VERIFY id=registration:verifyDecorate:verify
+REGISTRATION_VERIFY_MESSAGE id=registration:verifyDecorate:message
+REGISTRATION_SUBMIT id=registration:register
+REGISTRATION_REENTER_MESSAGE Re-enter your password
+REGISTRATION_LENGTH_MESSAGE length must be between
+REGISTRATION_SUCCESSFUL_MESSAGE Successfully registered as {0}
+REGISTRATION_USER_EXISTS_MESSAGE Username {0} already exists
+NOT_LOGGED_IN_MESSAGE Please log in first
+CONVERSATION_TIMEOUT_MESSAGE The conversation ended, timed out or was processing another request
+BOOKING_TABLE_ITEM xpath\=//table[@id\="bookings\:bookings"]/tbody/tr[normalize-space(td[6]/text()) \= "{0}"][normalize-space(td[1]/text()) \= "{1}"]
+BOOKING_TABLE_ITEM_LINK xpath\=//table[@id\="bookings\:bookings"]/tbody/tr[normalize-space(td[6]/text()) \= "{0}"][normalize-space(td[1]/text()) \= "{1}"]/td[7]/a
+BOOKING_CANCELLED_MESSAGE Booking cancelled for confirmation number {0}
+BOOKING_CONFIRMATION_MESSAGE Thank you, {0}, your confimation number for {1} is \\d+
+BOOKING_INVALID_DATE_MESSAGE1 Check out date must be later than check in date
+BOOKING_INVALID_DATE_MESSAGE2 Check in date must be a future date
+WORKSPACE_BOOKING_TEXT Book hotel: {0}
+WORKSPACE_VIEW_TEXT View hotel: {0}
+WORKSPACE_TABLE_LINK_BY_ID id=ConversationListForm:ConversationListDataTable:{0}:EntryDescriptionLink
+WORKSPACE_TABLE_ROW_COUNT = xpath=//table[@id='ConversationListForm:ConversationListDataTable']/tbody/tr
+SPINNER id\=searchCriteria\:SpinnerGif
\ No newline at end of file
Property changes on: trunk/src/test/ftest/examples/booking/src/org/jboss/seam/example/booking/test/selenium/booking.properties
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/examples/booking/testng.xml
===================================================================
--- trunk/src/test/ftest/examples/booking/testng.xml (rev 0)
+++ trunk/src/test/ftest/examples/booking/testng.xml 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,39 @@
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2008, Red Hat Middleware LLC, 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.
+-->
+<!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" >
+<suite name="Booking example" verbose="2" parallel="false">
+ <test name="Booking example">
+ <parameter name="PROPERTY_FILE" value="/org/jboss/seam/example/booking/test/selenium/booking.properties" />
+ <classes>
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.RegistrationTest" />
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.ChangePasswordTest" />
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.BackButtonTest" />
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.SimpleBookingTest" />
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.ConversationTest" />
+ </classes>
+ </test>
+</suite>
\ No newline at end of file
Property changes on: trunk/src/test/ftest/examples/booking/testng.xml
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/examples/build.xml
===================================================================
--- trunk/src/test/ftest/examples/build.xml (rev 0)
+++ trunk/src/test/ftest/examples/build.xml 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2008, Red Hat Middleware LLC, 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.
+-->
+<project name="ftest.example.common.build" basedir="." default="build">
+
+ <!-- Location of Seam -->
+ <dirname property="seam.dir" file="${ant.file.ftest.example.common.build}/../../../../" />
+
+ <!-- default property setup -->
+ <property file="${seam.dir}/src/test/ftest/ftest.properties" />
+
+ <property name="ftest.dir" value="${seam.dir}/src/test/ftest" />
+ <property name="src.dir" value="src" />
+ <property name="common.src.dir" value="${ftest.dir}/src/main" />
+ <property name="build.dir" value="build" />
+ <property name="classes.dir" value="${build.dir}/classes" />
+ <property name="test.output.dir" value="test-output" />
+ <property name="ftest.lib.dir" value="${ftest.dir}/lib" />
+ <property name="log.dir" value="log" />
+ <property name="test.report.dir" value="test-report" />
+
+ <!-- common path setup -->
+
+ <path id="classpath.build">
+ <fileset dir="${ftest.lib.dir}" includes="**/*.jar" />
+ </path>
+
+ <path id="classpath.test">
+ <path refid="classpath.build" />
+ <path location="${classes.dir}" />
+ </path>
+
+ <!-- common target definitions -->
+
+ <target name="clean" description="Delete all generated files">
+ <delete dir="${build.dir}" />
+ <delete dir="${test.output.dir}" />
+ <delete dir="${report.dir}" />
+ <delete dir="${log.dir}" />
+ </target>
+
+ <target name="build" depends="build.common" description="Compiles the Test">
+ <javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath.build" debug="true"/>
+ <copy todir="${classes.dir}">
+ <fileset dir="src">
+ <exclude name="**/*.java" />
+ </fileset>
+ </copy>
+ </target>
+
+ <!-- TODO we should compile this once to a common place not build for each example -->
+ <!-- TODO if needed we should allow examples to exclude/include src under
+ common dvd does not care about booking for example-->
+ <target name="build.common" description="Compiles the common selenium test code">
+ <mkdir dir="${classes.dir}" />
+ <javac srcdir="${common.src.dir}" destdir="${classes.dir}" classpathref="classpath.build" debug="true"/>
+ <copy todir="${classes.dir}">
+ <fileset dir="src">
+ <exclude name="**/*.java" />
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="test" depends="build" description="Run Tests">
+
+ <!-- test examples on jboss server -->
+ <antcall target="test.jboss" />
+
+ <!-- add other containers as we add support -->
+
+ </target>
+
+ <target name="selenium.test" depends="build" description="Run Tests">
+ <taskdef resource="testngtasks" classpathref="classpath.test" />
+ <mkdir dir="${test.output.dir}" />
+
+ <!-- execute testng tests -->
+ <testng haltonfailure="false" outputdir="${test.output.dir}" classpathref="classpath.test">
+ <xmlfileset file="testng.xml" />
+ <sysproperty key="selenium.server.port" value="${selenium.server.port}" />
+ <sysproperty key="selenium.host" value="${selenium.host}" />
+ <sysproperty key="selenium.browser" value="${selenium.browser}" />
+ <sysproperty key="selenium.browser.url" value="${selenium.browser.url}" />
+ <sysproperty key="selenium.speed" value="${selenium.speed}" />
+ <sysproperty key="selenium.timeout" value="${selenium.timeout}" />
+ </testng>
+ </target>
+
+ <target name="test.jboss" depends="build" description="Run Tests">
+ <!-- TODO all of these jboss commands must be optional with checks -->
+ <!-- TODO go get JBoss and extract -->
+
+ <!-- TODO start JBoss -->
+
+ <!-- deploy the example-->
+ <antcall target="deploy.example.jboss" />
+
+ <!-- execute testng tests -->
+ <antcall target="selenium.test" />
+
+ <!-- undeploy the example -->
+ <antcall target="undeploy.example.jboss" />
+
+ <!-- TODO stop jboss -->
+
+ <!-- TODO remove jboss -->
+ </target>
+
+ <!-- TODO get this to next level too - how to combine into one report -->
+ <target name="testreport" depends="test" description="generate html report">
+ <mkdir dir="${test.report.dir}" />
+ <junitreport todir="${test.report.dir}">
+ <fileset dir="${test.output.dir}">
+ <include name="**/*.xml" />
+ <exclude name="**/testng-*.xml" />
+ </fileset>
+ <report format="noframes" todir="${test.report.dir}" />
+ </junitreport>
+ <echo>Report available at ${report.dir}/junit-noframes.html</echo>
+ </target>
+
+ <target name="deploy.example.jboss">
+ <echo>Deploying JBoss Example - ${example.name}</echo>
+ <ant antfile="${seam.dir}/examples/${example.name}/build.xml" target="${jboss.deploy.target}" inheritall="false" dir="${seam.dir}/examples/${example.name}" />
+
+ <!-- wait for the application to be active -->
+ <!-- TODO is there a better way? -->
+ <waitfor maxwait="${jboss.deploy.waittime}" maxwaitunit="second">
+ <and>
+ <!-- wait for the application to not throw 404 -->
+ <http url="${selenium.browser.url}/${example.ready.check.url}" errorsBeginAt="404" />
+ </and>
+ </waitfor>
+ </target>
+
+ <target name="undeploy.example.jboss">
+ <echo>Undeploying JBoss Example - ${example.name}</echo>
+ <ant antfile="${seam.dir}/examples/${example.name}/build.xml" target="${jboss.undeploy.target}" inheritall="false" dir="${seam.dir}/examples/${example.name}" />
+ </target>
+
+ <target name="deploy.example.tomcat">
+ <echo>Deploying Tomcat Example - ${example.name}</echo>
+ <ant antfile="${seam.dir}/examples/${example.name}/build.xml" target="${jboss.deploy.target}" inheritall="false" dir="${seam.dir}/examples/${example.name}" />
+ </target>
+
+ <target name="undeploy.example.tomcat">
+ <echo>Undeploying Tomcat Example - ${example.name}</echo>
+ <ant antfile="${seam.dir}/examples/${example.name}/build.xml" target="${jboss.undeploy.target}" inheritall="false" dir="${seam.dir}/examples/${example.name}" />
+ </target>
+
+</project>
Added: trunk/src/test/ftest/examples/dvdstore/build.xml
===================================================================
--- trunk/src/test/ftest/examples/dvdstore/build.xml (rev 0)
+++ trunk/src/test/ftest/examples/dvdstore/build.xml 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2008, Red Hat Middleware LLC, 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.
+-->
+<project name="dvdstore.ftest.build" basedir="." default="build">
+ <property name="example.name" value="dvdstore" />
+ <property name="jboss.deploy.target" value="deploy" />
+ <property name="jboss.undeploy.target" value="undeploy" />
+ <property name="jboss.deploy.waittime" value="20" />
+ <property name="example.ready.check.url" value="seam-dvd/home.seam"/>
+
+ <import file="../build.xml" />
+
+</project>
Added: trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/LoginTest.java
===================================================================
--- trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/LoginTest.java (rev 0)
+++ trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/LoginTest.java 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,67 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, 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.seam.example.dvd.test.selenium;
+
+import static org.testng.AssertJUnit.*;
+
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+/**
+ * This class tests user authentication. Majority of other tests depends on
+ * these methods.
+ *
+ * @author jbalunas
+ * @author jharting
+ *
+ */
+public class LoginTest extends SeleniumDvdTest {
+
+ @BeforeMethod
+ public void setUp() {
+ startBrowser();
+ }
+
+ @Test(groups = { "login.basic" })
+ public void basicLoginTest() {
+ String username = "user1";
+ String password = "password";
+ assertTrue("Login failed.", login(username, password));
+ }
+
+ @Test(groups = { "login.basic" })
+ public void invalidLoginTest() {
+ String username = "nonExistingUser";
+ String password = "invalidPassword";
+ assertFalse("Logged in despite invalid credentials.", login(username,
+ password));
+ }
+
+ @Test(groups = { "login.admin" })
+ public void adminLoginTest() {
+ String username = "manager";
+ String password = "password";
+ assertTrue("Login failed.", login(username, password));
+ assertTrue("Navigation failed", browser.getLocation().contains(
+ getProperty("ADMIN_URL")));
+ }
+}
Property changes on: trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/LoginTest.java
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/Person.java
===================================================================
--- trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/Person.java (rev 0)
+++ trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/Person.java 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,213 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, 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.seam.example.dvd.test.selenium;
+
+/**
+ * This class is used by Registration tests
+ *
+ * @author jbalunas
+ * @author jharting
+ *
+ */
+public class Person {
+
+ private String username;
+ private String password;
+ private String verify;
+ private String firstName;
+ private String lastName;
+ private String address;
+ private String address2;
+ private String city;
+ private String state;
+ private String zip;
+ private String email;
+ private String phone;
+ private String cardType;
+ private String cardNumber;
+
+ public String getCardType() {
+ return cardType;
+ }
+
+ public void setCardType(String cardType) {
+ this.cardType = cardType;
+ }
+
+ public String getCardNumber() {
+ return cardNumber;
+ }
+
+ public void setCardNumber(String cardNumber) {
+ this.cardNumber = cardNumber;
+ }
+
+ public Person() {
+ }
+
+ public Person(String address, String address2, String cardNumber,
+ String cardType, String city, String email, String firstName,
+ String lastName, String password, String phone, String state,
+ String username, String verify, String zip) {
+ this.address = address;
+ this.address2 = address2;
+ this.cardNumber = cardNumber;
+ this.cardType = cardType;
+ this.city = city;
+ this.email = email;
+ this.firstName = firstName;
+ this.lastName = lastName;
+ this.password = password;
+ this.phone = phone;
+ this.state = state;
+ this.username = username;
+ this.verify = verify;
+ this.zip = zip;
+ }
+
+ public Person(String address, String cardNumber, String cardType,
+ String city, String email, String firstName, String lastName,
+ String password, String phone, String state, String username,
+ String verify, String zip) {
+ this(address, address, cardNumber, cardType, city, email, firstName,
+ lastName, password, phone, state, username, verify, zip);
+ }
+
+ public Person(String address, String address2, String city, String email,
+ String firstName, String lastName, String password, String phone,
+ String state, String username, String verify, String zip) {
+ this(address, address2, "MasterCard", "000-0000-0000", city, email,
+ firstName, lastName, password, phone, state, username, verify,
+ zip);
+ }
+
+ public Person(String address, String city, String email, String firstName,
+ String lastName, String password, String phone, String state,
+ String username, String verify, String zip) {
+ this(address, address, "MasterCard", "000-0000-0000", city, email,
+ firstName, lastName, password, phone, state, username, verify,
+ zip);
+ }
+
+ public Person(String username, String password, String verify) {
+ super();
+ this.password = password;
+ this.username = username;
+ this.verify = verify;
+ }
+
+ public String getVerify() {
+ return verify;
+ }
+
+ public void setVerify(String verify) {
+ this.verify = verify;
+ }
+
+ public String getFirstName() {
+ return firstName;
+ }
+
+ public void setFirstName(String firstName) {
+ this.firstName = firstName;
+ }
+
+ public String getLastName() {
+ return lastName;
+ }
+
+ public void setLastName(String lastName) {
+ this.lastName = lastName;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public String getAddress2() {
+ return address2;
+ }
+
+ public void setAddress2(String address2) {
+ this.address2 = address2;
+ }
+
+ public String getCity() {
+ return city;
+ }
+
+ public void setCity(String city) {
+ this.city = city;
+ }
+
+ public String getState() {
+ return state;
+ }
+
+ public void setState(String state) {
+ this.state = state;
+ }
+
+ public String getZip() {
+ return zip;
+ }
+
+ public void setZip(String zip) {
+ this.zip = zip;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public String getPhone() {
+ return phone;
+ }
+
+ public void setPhone(String phone) {
+ this.phone = phone;
+ }
+
+ public String getUsername() {
+ return username;
+ }
+
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+}
Property changes on: trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/Person.java
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/RegistrationTest.java
===================================================================
--- trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/RegistrationTest.java (rev 0)
+++ trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/RegistrationTest.java 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,171 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, 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.seam.example.dvd.test.selenium;
+
+import static org.testng.AssertJUnit.*;
+
+import java.text.MessageFormat;
+import java.util.Date;
+
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import com.thoughtworks.selenium.Wait;
+
+/**
+ * This class tests the registration functionality of dvdstore example
+ *
+ * @author jbalunas
+ * @author jharting
+ *
+ */
+public class RegistrationTest extends SeleniumDvdTest {
+
+ // suffix is needed to allow test to be run repeatedly
+ private String suffix = Long.toString(new Date().getTime() % 10000000);
+
+ @BeforeMethod
+ public void setUp() {
+ startBrowser();
+ browser.open(getProperty("HOME_PAGE"));
+ new Wait() {
+ public boolean until() {
+ return browser.isElementPresent(getProperty("REGISTRATION"));
+ }
+ }.wait("Unable to load home page.");
+ browser.click(getProperty("REGISTRATION"));
+ browser.waitForPageToLoad(TIMEOUT);
+ assertTrue("Unable to load registration page.", browser.getLocation()
+ .contains(getProperty("REGISTRATION_FIRST_PAGE_URL")));
+ }
+
+ /**
+ * Tries to register user
+ */
+ @Test
+ public void basicRegistrationTest() {
+ Person person = new Person("742 Evergreen Terrace", "012-3456-7890",
+ "Visa", "Springfield", "homer(a)example.com", "Homer", "Simpson",
+ "password", "9185551212", "US", "homer" + suffix, "password",
+ "01234");
+
+ fillFirstPage(person);
+ assertTrue("Unable to load account page.", browser.getLocation()
+ .contains(getProperty("REGISTRATION_SECOND_PAGE_URL")));
+ fillSecondPage(person);
+ assertTrue("Unable to load card page.", browser.getLocation().contains(
+ getProperty("REGISTRATION_THIRD_PAGE_URL")));
+ fillThirdPage(person);
+ assertTrue("Unable to load confirmation page.", browser.getLocation()
+ .contains(getProperty("REGISTRATION_CONFIRMATION_PAGE_URL")));
+ assertTrue("Registration failed.", browser.isTextPresent(MessageFormat
+ .format(getProperty("REGISTRATION_CONFIRMATION_MESSAGE"),
+ person.getUsername())));
+ assertTrue("User should be logged in after succesful registration.",
+ isLoggedIn(browser));
+ }
+
+ /**
+ * Tests whether validation of input fields works fine.
+ */
+ @Test
+ public void firstPageInvalidValuesTest() {
+ Person person = new Person("t", "t", "t");
+ fillFirstPage(person);
+ assertTrue("Navigation failed.", browser.getLocation().contains(
+ getProperty("REGISTRATION_FIRST_PAGE_URL")));
+ assertEquals("Error messages expected.", 2, browser
+ .getXpathCount(getProperty("REGISTRATION_LENGTH_MESSAGE")));
+ }
+
+ /**
+ * Tests password verification.
+ */
+ @Test
+ public void verifyPasswordTest() {
+ Person person = new Person("tester", "password", "password1");
+ fillFirstPage(person);
+ assertTrue("Navigation failed.", browser.getLocation().contains(
+ getProperty("REGISTRATION_FIRST_PAGE_URL")));
+ assertTrue("Password verify message expected.", browser
+ .isElementPresent(getProperty("REGISTRATION_VERIFY_MESSAGE")));
+ }
+
+ /**
+ * Tries to register user that already exists. Test assumes that user1 is
+ * already registered.
+ */
+ @Test
+ public void duplicateUserTest() {
+ Person person = new Person("user1", "password", "password");
+ fillFirstPage(person);
+ assertTrue("Navigation failed.", browser.getLocation().contains(
+ getProperty("REGISTRATION_FIRST_PAGE_URL")));
+ assertTrue(
+ "Duplicate user error message expected.",
+ browser
+ .isElementPresent(getProperty("REGISTRATION_DUPLICATE_USER_MESSAGE")));
+ }
+
+ private void fillFirstPage(Person person) {
+ browser
+ .type(getProperty("REGISTRATION_USERNAME"), person
+ .getUsername());
+ browser
+ .type(getProperty("REGISTRATION_PASSWORD"), person
+ .getPassword());
+ browser.type(getProperty("REGISTRATION_VERIFY"), person.getVerify());
+ browser.click(getProperty("REGISTRATION_FIRST_SUBMIT"));
+ browser.waitForPageToLoad(TIMEOUT);
+ }
+
+ private void fillSecondPage(Person person) {
+ browser.type(getProperty("REGISTRATION_FIRST_NAME"), person
+ .getUsername());
+ browser.type(getProperty("REGISTRATION_LAST_NAME"), person
+ .getLastName());
+ browser.type(getProperty("REGISTRATION_ADDRESS"), person.getAddress());
+ browser
+ .type(getProperty("REGISTRATION_ADDRESS2"), person
+ .getAddress2());
+ browser.type(getProperty("REGISTRATION_CITY"), person.getCity());
+ browser.type(getProperty("REGISTRATION_STATE"), person.getState());
+ browser.type(getProperty("REGISTRATION_ZIP"), person.getZip());
+ browser.type(getProperty("REGISTRATION_EMAIL"), person.getEmail());
+ browser.type(getProperty("REGISTRATION_PHONE"), person.getPhone());
+ browser.click(getProperty("REGISTRATION_SECOND_SUBMIT"));
+ browser.waitForPageToLoad(TIMEOUT);
+ }
+
+ private void fillThirdPage(Person person) {
+ browser.select(getProperty("REGISTRATION_CARD_TYPE_SELECT"), person
+ .getCardType());
+ browser.type(getProperty("REGISTRATION_CARD_NUMBER"), person
+ .getCardNumber());
+ fillThirdPage();
+ }
+
+ private void fillThirdPage() {
+ browser.click(getProperty("REGISTRATION_THIRD_SUBMIT"));
+ browser.waitForPageToLoad(TIMEOUT);
+ }
+}
Property changes on: trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/RegistrationTest.java
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/SearchTest.java
===================================================================
--- trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/SearchTest.java (rev 0)
+++ trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/SearchTest.java 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,109 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, 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.seam.example.dvd.test.selenium;
+
+import static org.testng.AssertJUnit.*;
+
+import org.testng.annotations.Test;
+
+/**
+ * This class tests search functionality of the example
+ *
+ * @author jbalunas
+ * @author jharting
+ *
+ */
+public class SearchTest extends SeleniumDvdTest {
+
+ /**
+ * This test does simple search for dvd.
+ */
+ @Test(groups = { "search" }, dependsOnGroups = { "login.basic" })
+ public void testSearch() {
+ String searchString = "top gun";
+ browser.click(getProperty("SHOP"));
+ browser.waitForPageToLoad(TIMEOUT);
+ assertTrue("Navigation failed.", browser.getLocation().contains(
+ getProperty("SHOP_URL")));
+ browser.type(getProperty("SEARCH_FIELD"), searchString);
+ browser.click(getProperty("SEARCH_SUBMIT"));
+ browser.waitForPageToLoad(TIMEOUT);
+ assertEquals("Unexpected number of results. One result expected.", 1,
+ browser.getXpathCount(getProperty("SEARCH_RESULT_ITEM")));
+ browser.click(getProperty("SEARCH_RESULT_FIRST_ROW_LINK"));
+ browser.waitForPageToLoad(TIMEOUT);
+ assertTrue("Navigation failure.", browser.getLocation().contains(
+ getProperty("DVD_URL")));
+ }
+
+ /**
+ * This test does simple search in two windows verifying they do not affect
+ * each other
+ */
+ @Test(dependsOnMethods = { "testSearch" }, dependsOnGroups = { "login.basic" })
+ public void testMultipleWindowSearch() {
+ String searchString1 = "Forrest Gump";
+ String searchString2 = "The Shawshank Redemption";
+
+ // browser.openWindow(getProperty("HOME_PAGE"), "1");
+ browser.openWindow(getProperty("HOME_PAGE"), "1");
+ browser.selectWindow("1");
+ browser.waitForPageToLoad(TIMEOUT);
+ assertTrue("User should be logged in by now.", isLoggedIn(browser));
+ // if (!isLoggedIn(browser)) {
+ // login(browser, USERNAME, PASSWORD);
+ // }
+ // search for dvd in first window
+ browser.openWindow(getProperty("HOME_PAGE"), "2");
+ browser.selectWindow("2");
+ browser.waitForPageToLoad(TIMEOUT);
+ assertTrue("User should be logged in by now.", isLoggedIn(browser));
+ // if (!isLoggedIn(browser)) {
+ // login(browser, USERNAME, PASSWORD);
+ // }
+ browser.click(getProperty("SHOP"));
+ browser.waitForPageToLoad(TIMEOUT);
+ browser.type(getProperty("SEARCH_FIELD"), searchString1);
+ browser.click(getProperty("SEARCH_SUBMIT"));
+ browser.waitForPageToLoad(TIMEOUT);
+ assertEquals("Unexpected search result in first window.",
+ searchString1, browser
+ .getText(getProperty("SEARCH_RESULT_FIRST_ROW_LINK")));
+ // search for dvd in second window
+ browser.selectWindow("1");
+ browser.click(getProperty("SHOP"));
+ browser.waitForPageToLoad(TIMEOUT);
+ browser.type(getProperty("SEARCH_FIELD"), searchString2);
+ browser.click(getProperty("SEARCH_SUBMIT"));
+ browser.waitForPageToLoad(TIMEOUT);
+ assertEquals("Unexpected search result in second window.",
+ searchString2, browser
+ .getText(getProperty("SEARCH_RESULT_FIRST_ROW_LINK")));
+ browser.selectWindow("2");
+ browser.refresh();
+ browser.waitForPageToLoad(TIMEOUT);
+ assertEquals("Unexpected search result in first window after refresh.",
+ searchString1, browser
+ .getText(getProperty("SEARCH_RESULT_FIRST_ROW_LINK")));
+
+ }
+}
Property changes on: trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/SearchTest.java
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/SeleniumDvdTest.java
===================================================================
--- trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/SeleniumDvdTest.java (rev 0)
+++ trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/SeleniumDvdTest.java 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,85 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, 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.seam.example.dvd.test.selenium;
+
+import static org.testng.AssertJUnit.fail;
+
+import org.jboss.seam.example.common.test.selenium.SeamSeleniumTest;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+
+import com.thoughtworks.selenium.Selenium;
+import com.thoughtworks.selenium.Wait;
+
+/**
+ *
+ * @author jbalunas
+ * @author jharting
+ *
+ */
+public abstract class SeleniumDvdTest extends SeamSeleniumTest {
+
+ protected final String DEFAULT_USERNAME = "user1";
+ protected final String DEFAULT_PASSWORD = "password";
+
+ @BeforeMethod
+ public void setUp() {
+ startBrowser();
+ login(DEFAULT_USERNAME, DEFAULT_PASSWORD);
+ }
+
+ public boolean login(String username, String password) {
+ browser.open(getProperty("HOME_PAGE"));
+ new Wait() {
+ public boolean until() {
+ return browser.isElementPresent(getProperty("LOGIN_SUBMIT"));
+ }
+ }.wait("Login page not loaded.");
+ if (isLoggedIn(browser)) {
+ fail("User already logged in.");
+ }
+ browser.type(getProperty("LOGIN_USERNAME"), username);
+ browser.type(getProperty("LOGIN_PASSWORD"), password);
+ browser.click(getProperty("LOGIN_SUBMIT"));
+ browser.waitForPageToLoad(TIMEOUT);
+ return isLoggedIn(browser);
+ }
+
+ @AfterMethod
+ public void tearDown() {
+ logout(browser);
+ stopBrowser(browser);
+ }
+
+ public void logout(Selenium browser) {
+ if (isLoggedIn(browser)) {
+ browser.click(getProperty("LOGOUT"));
+ browser.waitForPageToLoad(TIMEOUT);
+ }
+ }
+
+ public boolean isLoggedIn(Selenium browser) {
+ return browser.isElementPresent(getProperty("LOGOUT"));
+ }
+
+
+}
Property changes on: trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/SeleniumDvdTest.java
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/ShoppingCartTest.java
===================================================================
--- trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/ShoppingCartTest.java (rev 0)
+++ trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/ShoppingCartTest.java 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,147 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, 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.seam.example.dvd.test.selenium;
+
+import static org.testng.AssertJUnit.*;
+
+import java.math.BigDecimal;
+import java.text.MessageFormat;
+import java.text.NumberFormat;
+import java.text.ParseException;
+import java.util.Currency;
+import java.util.Locale;
+
+import org.testng.annotations.Test;
+
+/**
+ * This class tests shopping cart
+ *
+ * @author jbalunas
+ * @author jharting
+ *
+ */
+public class ShoppingCartTest extends SeleniumDvdTest {
+
+ @Test(dependsOnGroups = { "search" })
+ public void simpleCartTest() {
+ String[] dvds = new String[] { "Top Gun", "Pulp Fiction",
+ "Forrest Gump" };
+ for (String dvd : dvds) {
+ addDVDToCart(dvd);
+ }
+ browser.click(getProperty("CART"));
+ browser.waitForPageToLoad(TIMEOUT);
+ for (String dvd : dvds) {
+ assertTrue("Expected item not present in cart.", browser
+ .isElementPresent(MessageFormat.format(
+ getProperty("CART_TABLE_ROW_BY_NAME"), dvd)));
+ }
+ }
+
+ @Test(dependsOnMethods = { "simpleCartTest" })
+ public void testCartCostCalculation() throws ParseException {
+ String[] dvds = new String[] { "Top Gun", "Pulp Fiction", "Top Gun" };
+ NumberFormat nf = NumberFormat.getCurrencyInstance();
+ nf.setCurrency(Currency.getInstance(Locale.US));
+ BigDecimal expectedSum = BigDecimal.ZERO;
+ for (String dvd : dvds) {
+ addDVDToCart(dvd);
+ }
+ browser.click(getProperty("CART"));
+ browser.waitForPageToLoad(TIMEOUT);
+ int items = browser.getXpathCount(getProperty("CART_TABLE_ITEM"))
+ .intValue();
+ assertNotSame("Cart should not be empty.", 0, items);
+ for (int i = 0; i < items; i++) {
+ BigDecimal quantity = BigDecimal.valueOf(Double.parseDouble(browser
+ .getValue(MessageFormat.format(
+ getProperty("CART_TABLE_QUANTITY_BY_ID"), i))));
+ BigDecimal price = BigDecimal.valueOf(nf.parse(
+ browser.getText(MessageFormat.format(
+ getProperty("CART_TABLE_PRICE_BY_ID"), i)))
+ .doubleValue());
+ BigDecimal priceForCurrentRow = price.multiply(quantity);
+ expectedSum = expectedSum.add(priceForCurrentRow);
+ }
+ BigDecimal actualSum = BigDecimal.valueOf((nf.parse(browser
+ .getText(getProperty("CART_SUBTOTAL"))).doubleValue()));
+ assertEquals("Price sum in cart is incorrect.", 0, expectedSum
+ .compareTo(actualSum));
+ }
+
+ @Test(dependsOnMethods = { "simpleCartTest" })
+ public void testRemovingCartItem() {
+ String dvd = "Top Gun";
+ addDVDToCart(dvd);
+ browser.click(getProperty("CART"));
+ browser.waitForPageToLoad(TIMEOUT);
+ assertTrue("DVD is not in the cart.", browser
+ .isElementPresent(MessageFormat.format(
+ getProperty("CART_TABLE_ROW_BY_NAME"), dvd)));
+ browser.check(MessageFormat.format(
+ getProperty("CART_TABLE_CHECKBOX_BY_NAME"), dvd));
+ browser.click(getProperty("CART_TABLE_UPDATE_BUTTON"));
+ browser.waitForPageToLoad(TIMEOUT);
+ assertFalse("Cart item was not removed.", browser
+ .isElementPresent(MessageFormat.format(
+ getProperty("CART_TABLE_ROW_BY_NAME"), dvd)));
+ }
+
+ /**
+ * This method tries purchasing more copies of The Bourne Identity than are
+ * available in stock
+ */
+ @Test(dependsOnMethods = { "simpleCartTest" })
+ public void testExceedingAvailableItemLimit() {
+ String dvd = "The Bourne Identity";
+ String amount = "300";
+ addDVDToCart(dvd);
+ browser.click(getProperty("CART"));
+ browser.waitForPageToLoad(TIMEOUT);
+ browser.type(getProperty("CART_TABLE_FIRST_ROW_QUANTITY"), amount);
+ browser.click(getProperty("CART_TABLE_UPDATE_BUTTON"));
+ browser.waitForPageToLoad(TIMEOUT);
+ browser.click(getProperty("CART_PURCHASE_BUTTON"));
+ browser.waitForPageToLoad(TIMEOUT);
+ browser.click(getProperty("CART_CONFIRM_BUTTON"));
+ browser.waitForPageToLoad(TIMEOUT);
+ assertTrue("Message not displayed.", browser
+ .isElementPresent(MessageFormat.format(
+ getProperty("CART_NOT_ENOUGH_COPIES_LEFT"), dvd)));
+ assertTrue(
+ "Order should not be completed.",
+ browser
+ .isElementPresent(getProperty("CART_UNABLE_TO_COMPLETE_ORDER_MESSAGE")));
+ }
+
+ private void addDVDToCart(String dvdName) {
+ assertTrue("User should be logged in.", isLoggedIn(browser));
+ browser.click(getProperty("SHOP"));
+ browser.waitForPageToLoad(TIMEOUT);
+ browser.type(getProperty("SEARCH_FIELD"), dvdName);
+ browser.click(getProperty("SEARCH_SUBMIT"));
+ browser.waitForPageToLoad(TIMEOUT);
+ browser.check(getProperty("SEARCH_RESULT_FIRST_ROW_CHECKBOX"));
+ browser.click(getProperty("SEARCH_RESULT_UPDATE_BUTTON"));
+ browser.waitForPageToLoad(TIMEOUT);
+ }
+}
Property changes on: trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/ShoppingCartTest.java
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/dvd.properties
===================================================================
--- trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/dvd.properties (rev 0)
+++ trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/dvd.properties 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,78 @@
+ #
+ # JBoss, Home of Professional Open Source
+ # Copyright 2008, Red Hat Middleware LLC, 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.
+ #
+HOME_PAGE /seam-dvd/
+HOME_PAGE_TITLE JBoss DVD Store
+LOGOUT id=LogoutForm:Logout
+REGISTRATION id=LoginForm:CreateAccount
+REGISTRATION_FIRST_PAGE_URL newuser/account
+REGISTRATION_SECOND_PAGE_URL newuser/contact
+REGISTRATION_THIRD_PAGE_URL newuser/card
+REGISTRATION_CONFIRMATION_PAGE_URL newuser/complete
+REGISTRATION_USERNAME id=NewAccountForm:userName
+REGISTRATION_USERNAME_MESSAGE id=NewAccountForm:MessageForUserName
+REGISTRATION_PASSWORD id=NewAccountForm:password
+REGISTRATION_PASSWORD_MESSAGE id=NewAccountForm:MessageForPassword
+REGISTRATION_VERIFY id=NewAccountForm:passwordVerify
+REGISTRATION_FIRST_SUBMIT id=NewAccountForm:ContinueButton
+REGISTRATION_SECOND_SUBMIT id=NewAccountForm:ContinueButton
+REGISTRATION_THIRD_SUBMIT id=NewAccountForm:SubmitNewCustomerButton
+REGISTRATION_FIRST_NAME id=NewAccountForm:firstName
+REGISTRATION_LAST_NAME id=NewAccountForm:lastName
+REGISTRATION_ADDRESS id=NewAccountForm:address1
+REGISTRATION_ADDRESS2 = id=NewAccountForm:Address2
+REGISTRATION_CITY id=NewAccountForm:city
+REGISTRATION_STATE id=NewAccountForm:state
+REGISTRATION_ZIP id=NewAccountForm:zip
+REGISTRATION_EMAIL id=NewAccountForm:email
+REGISTRATION_PHONE id=NewAccountForm:phone
+REGISTRATION_CONFIRMATION_MESSAGE Registered new customer {0}
+REGISTRATION_CARD_TYPE_SELECT id=NewAccountForm:CreditCardMenu
+REGISTRATION_CARD_NUMBER id=NewAccountForm:creditCard
+REGISTRATION_LENGTH_MESSAGE xpath=//*[contains(normalize-space(text()), 'length must be between')]
+REGISTRATION_VERIFY_MESSAGE xpath=//*[normalize-space(text()) = 'passwordVerify']
+REGISTRATION_DUPLICATE_USER_MESSAGE xpath=//*[normalize-space(text()) = 'userName']
+LOGIN_USERNAME id=LoginForm:Username
+LOGIN_PASSWORD id=LoginForm:Password
+LOGIN_SUBMIT id=LoginForm:Login
+SHOP id=Shop
+SHOP_URL seam-dvd/browse
+CART id=Cart
+SEARCH_FIELD id=SearchForm:Query
+SEARCH_SUBMIT id=SearchForm:Search
+SEARCH_RESULT_ITEM xpath=//table[@id='SearchResultsForm:SearchResultsTable']/tbody/tr
+SEARCH_RESULT_FIRST_ROW_LINK id=SearchResultsForm:SearchResultsTable:0:TitleLink
+SEARCH_RESULT_FIRST_ROW_CHECKBOX id=SearchResultsForm:SearchResultsTable:0:AddToCartCheckbox
+SEARCH_RESULT_UPDATE_BUTTON id=SearchResultsForm:SearchUpdateButton
+CART_TABLE_ROW_BY_NAME xpath\=//table[@id\="cartdetails\:CartDetailsForm\:CartItemsTable"]/tbody/tr[normalize-space(td[2]//text()) \= "{0}"]
+CART_TABLE_CHECKBOX_BY_NAME xpath\=//table[@id\="cartdetails\:CartDetailsForm\:CartItemsTable"]/tbody/tr[normalize-space(td[2]//text()) \= "{0}"]/td[1]/input
+CART_TABLE_UPDATE_BUTTON id=cartdetails:CartDetailsForm:UpdateCartButton
+CART_TABLE_ITEM xpath=//table[@id='cartdetails:CartDetailsForm:CartItemsTable']/tbody/tr
+CART_TABLE_QUANTITY_BY_ID id=cartdetails:CartDetailsForm:CartItemsTable:{0}:QuantityValueText
+CART_TABLE_PRICE_BY_ID id=cartdetails:CartDetailsForm:CartItemsTable:{0}:PriceValueText
+CART_TABLE_FIRST_ROW_QUANTITY id=cartdetails:CartDetailsForm:CartItemsTable:0:QuantityValueText
+CART_PURCHASE_BUTTON id=cartdetails:purchaseaction:PurchaseActionForm:PurchaseButton
+CART_SUBTOTAL id=cartdetails:CartSubtotalValue
+CART_CONFIRM_BUTTON id=orderdetail:ConfirmOrCancelForm:Confirm
+CART_NOT_ENOUGH_COPIES_LEFT xpath\=//*[normalize-space(text()) \= "There were not enough copies of {0} in stock to fulfill your order."]
+CART_UNABLE_TO_COMPLETE_ORDER_MESSAGE xpath=//*[normalize-space(text()) = 'Your order could not be completed.']
+DVD_URL seam-dvd/dvd
+ADMIN_URL seam-dvd/admin/admin
\ No newline at end of file
Property changes on: trunk/src/test/ftest/examples/dvdstore/src/org/jboss/seam/example/dvd/test/selenium/dvd.properties
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/examples/dvdstore/testng.xml
===================================================================
--- trunk/src/test/ftest/examples/dvdstore/testng.xml (rev 0)
+++ trunk/src/test/ftest/examples/dvdstore/testng.xml 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,38 @@
+<!--
+ JBoss, Home of Professional Open Source
+ Copyright 2008, Red Hat Middleware LLC, 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.
+-->
+<!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" >
+<suite name="DVD example" verbose="2" parallel="false">
+ <test name="DVD example">
+ <parameter name="PROPERTY_FILE"
+ value="/org/jboss/seam/example/dvd/test/selenium/dvd.properties" />
+ <classes>
+ <class
+ name="org.jboss.seam.example.dvd.test.selenium.LoginTest" />
+ <class
+ name="org.jboss.seam.example.dvd.test.selenium.RegistrationTest" />
+ <class
+ name="org.jboss.seam.example.dvd.test.selenium.SearchTest" />
+ <class
+ name="org.jboss.seam.example.dvd.test.selenium.ShoppingCartTest" />
+ </classes>
+ </test>
+</suite>
\ No newline at end of file
Property changes on: trunk/src/test/ftest/examples/dvdstore/testng.xml
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/examples/groovybooking/build.xml
===================================================================
--- trunk/src/test/ftest/examples/groovybooking/build.xml (rev 0)
+++ trunk/src/test/ftest/examples/groovybooking/build.xml 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2008, Red Hat Middleware LLC, 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.
+-->
+<project name="groovybooking.ftest.build" basedir="." default="build">
+ <property name="example.name" value="groovybooking" />
+ <property name="jboss.deploy.target" value="jbosswar.deploy" />
+ <property name="jboss.deploy.waittime" value="10" />
+ <property name="jboss.undeploy.target" value="undeploy" />
+ <property name="example.ready.check.url" value="jboss-seam-groovy/home.seam" />
+
+ <import file="../build.xml" />
+
+ <target name="undeploy.example.jboss">
+ <echo>Undeploying JBoss Example - ${example.name}</echo>
+ <ant antfile="${seam.dir}/examples/${example.name}/build.xml" target="jbosswar.undeploy" inheritall="false" dir="${seam.dir}/examples/${example.name}" />
+ <ant antfile="${seam.dir}/examples/${example.name}/build.xml" target="${jboss.undeploy.target}" inheritall="false" dir="${seam.dir}/examples/${example.name}" />
+ </target>
+
+</project>
Added: trunk/src/test/ftest/examples/groovybooking/src/org/jboss/seam/example/groovybooking/test/selenium/groovybooking.properties
===================================================================
--- trunk/src/test/ftest/examples/groovybooking/src/org/jboss/seam/example/groovybooking/test/selenium/groovybooking.properties (rev 0)
+++ trunk/src/test/ftest/examples/groovybooking/src/org/jboss/seam/example/groovybooking/test/selenium/groovybooking.properties 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,84 @@
+ #
+ # JBoss, Home of Professional Open Source
+ # Copyright 2008, Red Hat Middleware LLC, 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.
+ #
+HOME_PAGE /jboss-seam-groovy/home.seam
+MAIN_PAGE /jboss-seam-groovy/main.seam
+PAGE_TITLE JBoss Suites: Seam Framework
+LOGIN_USERNAME_FIELD id=login:username
+LOGIN_PASSWORD_FIELD id=login:password
+LOGIN_SUBMIT id=login:login
+LOGOUT id=logout
+PASSWORD_UPDATED_MESSAGE Password updated
+PASSWORD_REENTER_MESSAGE verify
+PASSWORD_VALUE_REQUIRED_MESSAGE xpath=//*[@id='setpassword:Message']
+PASSWORD_LENGTH_MESSAGE length must be between
+PASSWORD_PASSWORD id=setpassword:PasswordDecorate:password
+PASSWORD_VERIFY id=setpassword:VerifyDecorate:verify
+PASSWORD_SUBMIT id=setpassword:change
+SETTINGS id=settings
+SEARCH_STRING_FIELD id=main:searchString
+SEARCH_SUBMIT id=main:findHotels
+NO_HOTELS_FOUND id=NoHotelsFoundMessage
+SEARCH_RESULT_TABLE xpath=//table[@id = 'hotels']/tbody
+SEARCH_RESULT_TABLE_FIRST_ROW_LINK id=hotels:0:viewHotel
+BOOKING_BOOK id=hotel:bookHotel
+BOOKING_CANCEL id=hotel:cancel
+HOTEL_BED_FIELD id=booking:bedsDecorate:beds
+HOTEL_BED_FIELD_SELECT_CRITERIA value=
+HOTEL_CHECKIN_DATE_FIELD id=booking:checkinDateDecorate:checkinDateInputDate
+HOTEL_CHECKIN_DATE_MESSAGE id=booking:Message
+HOTEL_CHECKOUT_DATE_FIELD id=booking:checkoutDateDecorate:checkoutDateInputDate
+HOTEL_CHECKOUT_DATE_MESSAGE id=booking:Message
+HOTEL_SMOKING_1 id=booking:smokingDecorate:smoking:0
+HOTEL_SMOKING_2 id=booking:smokingDecorate:smoking:1
+HOTEL_CREDIT_CARD id=booking:creditCardDecorate:creditCard
+HOTEL_CREDIT_CARD_NAME id=booking:creditCardNameDecorate:creditCardName
+HOTEL_PROCEED id=booking:proceed
+HOTEL_CANCEL id=booking:cancel
+HOTEL_CONFIRM id=confirm:confirm
+HOTEL_MESSAGE xpath=//ul[@id='main:messages']/li
+REGISTRATION id=login:register
+REGISTRATION_USERNAME id=register:usernameDecorate:username
+REGISTRATION_USERNAME_MESSAGE id=register:usernameDecorate:message
+REGISTRATION_NAME id=register:nameDecorate:name
+REGISTRATION_NAME_MESSAGE id=register:nameDecorate:message
+REGISTRATION_PASSWORD id=register:passwordDecorate:password
+REGISTRATION_PASSWORD_MESSAGE id=register:passwordDecorate:message
+REGISTRATION_VERIFY id=register:verifyDecorate:verify
+REGISTRATION_VERIFY_MESSAGE id=register:verifyDecorate:message
+REGISTRATION_SUBMIT id=register:register
+REGISTRATION_REENTER_MESSAGE verify
+REGISTRATION_LENGTH_MESSAGE length must be between
+REGISTRATION_SUCCESSFUL_MESSAGE Successfully registered as {0}
+REGISTRATION_USER_EXISTS_MESSAGE Username {0} already exists
+NOT_LOGGED_IN_MESSAGE Please log in first
+CONVERSATION_TIMEOUT_MESSAGE The conversation ended, timed out or was processing another request
+BOOKING_TABLE_ITEM xpath\=//table[@id\="bookings\:bookings"]/tbody/tr[normalize-space(td[6]/text()) \= "{0}"][normalize-space(td[1]/text()) \= "{1}"]
+BOOKING_TABLE_ITEM_LINK xpath\=//table[@id\="bookings\:bookings"]/tbody/tr[normalize-space(td[6]/text()) \= "{0}"][normalize-space(td[1]/text()) \= "{1}"]/td[7]/a
+BOOKING_CANCELLED_MESSAGE Booking cancelled for confirmation number {0}
+BOOKING_CONFIRMATION_MESSAGE Thank you, {0}, your confimation number for {1} is \\d+
+BOOKING_INVALID_DATE_MESSAGE1 Check out date must be later than check in date
+BOOKING_INVALID_DATE_MESSAGE2 Check in date must be a future date
+WORKSPACE_BOOKING_TEXT Book hotel: {0}
+WORKSPACE_VIEW_TEXT View hotel: {0}
+WORKSPACE_TABLE_LINK_BY_ID id=ConversationListForm:ConversationListDataTable:{0}:EntryDescriptionLink
+WORKSPACE_TABLE_ROW_COUNT = xpath=//table[@id='ConversationListForm:ConversationListDataTable']/tbody/tr
+SPINNER id\=main\:Spinner
\ No newline at end of file
Property changes on: trunk/src/test/ftest/examples/groovybooking/src/org/jboss/seam/example/groovybooking/test/selenium/groovybooking.properties
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/examples/groovybooking/testng.xml
===================================================================
--- trunk/src/test/ftest/examples/groovybooking/testng.xml (rev 0)
+++ trunk/src/test/ftest/examples/groovybooking/testng.xml 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,40 @@
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2008, Red Hat Middleware LLC, 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.
+-->
+<!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" >
+<suite name="Groovybooking example" verbose="2" parallel="false">
+ <test name="GroovyBooking example">
+ <parameter name="PROPERTY_FILE"
+ value="/org/jboss/seam/example/groovybooking/test/selenium/groovybooking.properties" />
+ <classes>
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.RegistrationTest" />
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.ChangePasswordTest" />
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.BackButtonTest" />
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.SimpleBookingTest" />
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.ConversationTest" />
+ </classes>
+ </test>
+</suite>
\ No newline at end of file
Property changes on: trunk/src/test/ftest/examples/groovybooking/testng.xml
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/examples/hibernate/build.xml
===================================================================
--- trunk/src/test/ftest/examples/hibernate/build.xml (rev 0)
+++ trunk/src/test/ftest/examples/hibernate/build.xml 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2008, Red Hat Middleware LLC, 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.
+-->
+<project name="hibernate.ftest.build" basedir="." default="build">
+ <property name="example.name" value="hibernate"/>
+ <property name="jboss.deploy.target" value="jboss"/>
+ <property name="jboss.deploy.waittime" value="10"/>
+ <property name="jboss.undeploy.target" value="jboss.undeploy"/>
+ <property name="example.ready.check.url" value="jboss-seam-hibernate/home.seam"/>
+
+ <import file="../build.xml" />
+</project>
Added: trunk/src/test/ftest/examples/hibernate/src/org/jboss/seam/example/hibernate/test/selenium/hibernate.properties
===================================================================
--- trunk/src/test/ftest/examples/hibernate/src/org/jboss/seam/example/hibernate/test/selenium/hibernate.properties (rev 0)
+++ trunk/src/test/ftest/examples/hibernate/src/org/jboss/seam/example/hibernate/test/selenium/hibernate.properties 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,84 @@
+ #
+ # JBoss, Home of Professional Open Source
+ # Copyright 2008, Red Hat Middleware LLC, 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.
+ #
+HOME_PAGE /jboss-seam-hibernate/home.seam
+MAIN_PAGE /jboss-seam-hibernate/main.seam
+PAGE_TITLE JBoss Suites: Seam Framework
+LOGIN_USERNAME_FIELD id=login:username
+LOGIN_PASSWORD_FIELD id=login:password
+LOGIN_SUBMIT id=login:login
+LOGOUT id=logout
+PASSWORD_UPDATED_MESSAGE Password updated
+PASSWORD_REENTER_MESSAGE verify
+PASSWORD_VALUE_REQUIRED_MESSAGE xpath=//*[@id='setpassword:Message']
+PASSWORD_LENGTH_MESSAGE length must be between
+PASSWORD_PASSWORD id=setpassword:PasswordDecorate:password
+PASSWORD_VERIFY id=setpassword:VerifyDecorate:verify
+PASSWORD_SUBMIT id=setpassword:change
+SETTINGS id=settings
+SEARCH_STRING_FIELD id=main:searchString
+SEARCH_SUBMIT id=main:findHotels
+NO_HOTELS_FOUND id=NoHotelsFoundMessage
+SEARCH_RESULT_TABLE xpath=//table[@id = 'hotels']/tbody
+SEARCH_RESULT_TABLE_FIRST_ROW_LINK id=hotels:0:viewHotel
+BOOKING_BOOK id=hotel:bookHotel
+BOOKING_CANCEL id=hotel:cancel
+HOTEL_BED_FIELD id=booking:bedsDecorate:beds
+HOTEL_BED_FIELD_SELECT_CRITERIA value=
+HOTEL_CHECKIN_DATE_FIELD id=booking:checkinDateDecorate:checkinDateInputDate
+HOTEL_CHECKIN_DATE_MESSAGE id=booking:Message
+HOTEL_CHECKOUT_DATE_FIELD id=booking:checkoutDateDecorate:checkoutDateInputDate
+HOTEL_CHECKOUT_DATE_MESSAGE id=booking:Message
+HOTEL_SMOKING_1 id=booking:smokingDecorate:smoking:0
+HOTEL_SMOKING_2 id=booking:smokingDecorate:smoking:1
+HOTEL_CREDIT_CARD id=booking:creditCardDecorate:creditCard
+HOTEL_CREDIT_CARD_NAME id=booking:creditCardNameDecorate:creditCardName
+HOTEL_PROCEED id=booking:proceed
+HOTEL_CANCEL id=booking:cancel
+HOTEL_CONFIRM id=confirm:confirm
+HOTEL_MESSAGE xpath=//ul[@id='main:messages']/li
+REGISTRATION id=login:register
+REGISTRATION_USERNAME id=register:usernameDecorate:username
+REGISTRATION_USERNAME_MESSAGE id=register:usernameDecorate:message
+REGISTRATION_NAME id=register:nameDecorate:name
+REGISTRATION_NAME_MESSAGE id=register:nameDecorate:message
+REGISTRATION_PASSWORD id=register:passwordDecorate:password
+REGISTRATION_PASSWORD_MESSAGE id=register:passwordDecorate:message
+REGISTRATION_VERIFY id=register:verifyDecorate:verify
+REGISTRATION_VERIFY_MESSAGE id=register:verifyDecorate:message
+REGISTRATION_SUBMIT id=register:register
+REGISTRATION_REENTER_MESSAGE verify
+REGISTRATION_LENGTH_MESSAGE length must be between
+REGISTRATION_SUCCESSFUL_MESSAGE Successfully registered as {0}
+REGISTRATION_USER_EXISTS_MESSAGE Username {0} already exists
+NOT_LOGGED_IN_MESSAGE Please log in first
+CONVERSATION_TIMEOUT_MESSAGE The conversation ended, timed out or was processing another request
+BOOKING_TABLE_ITEM xpath\=//table[@id\="bookings\:bookings"]/tbody/tr[normalize-space(td[6]/text()) \= "{0}"][normalize-space(td[1]/text()) \= "{1}"]
+BOOKING_TABLE_ITEM_LINK xpath\=//table[@id\="bookings\:bookings"]/tbody/tr[normalize-space(td[6]/text()) \= "{0}"][normalize-space(td[1]/text()) \= "{1}"]/td[7]/a
+BOOKING_CANCELLED_MESSAGE Booking cancelled for confirmation number {0}
+BOOKING_CONFIRMATION_MESSAGE Thank you, {0}, your confimation number for {1} is \\d+
+BOOKING_INVALID_DATE_MESSAGE1 Check out date must be later than check in date
+BOOKING_INVALID_DATE_MESSAGE2 Check in date must be a future date
+WORKSPACE_BOOKING_TEXT Book hotel: {0}
+WORKSPACE_VIEW_TEXT View hotel: {0}
+WORKSPACE_TABLE_LINK_BY_ID id=ConversationListForm:ConversationListDataTable:{0}:EntryDescriptionLink
+WORKSPACE_TABLE_ROW_COUNT = xpath=//table[@id='ConversationListForm:ConversationListDataTable']/tbody/tr
+SPINNER id\=main\:Spinner
\ No newline at end of file
Property changes on: trunk/src/test/ftest/examples/hibernate/src/org/jboss/seam/example/hibernate/test/selenium/hibernate.properties
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/examples/hibernate/testng.xml
===================================================================
--- trunk/src/test/ftest/examples/hibernate/testng.xml (rev 0)
+++ trunk/src/test/ftest/examples/hibernate/testng.xml 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,40 @@
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2008, Red Hat Middleware LLC, 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.
+-->
+<!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" >
+<suite name="Hibernate example" verbose="2" parallel="false">
+ <test name="Hibernate example">
+ <parameter name="PROPERTY_FILE"
+ value="/org/jboss/seam/example/hibernate/test/selenium/hibernate.properties" />
+ <classes>
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.RegistrationTest" />
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.ChangePasswordTest" />
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.BackButtonTest" />
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.SimpleBookingTest" />
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.ConversationTest" />
+ </classes>
+ </test>
+</suite>
\ No newline at end of file
Property changes on: trunk/src/test/ftest/examples/hibernate/testng.xml
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/examples/icefaces/build.xml
===================================================================
--- trunk/src/test/ftest/examples/icefaces/build.xml (rev 0)
+++ trunk/src/test/ftest/examples/icefaces/build.xml 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2008, Red Hat Middleware LLC, 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.
+-->
+<project name="icefaces.ftest.build" basedir="." default="build">
+ <property name="example.name" value="icefaces"/>
+ <property name="jboss.deploy.target" value="deploy"/>
+ <property name="jboss.deploy.waittime" value="10"/>
+ <property name="jboss.undeploy.target" value="undeploy"/>
+ <property name="example.ready.check.url" value="seam-icefaces/home.seam"/>
+
+ <import file="../build.xml" />
+</project>
Added: trunk/src/test/ftest/examples/icefaces/src/org/jboss/seam/example/icefaces/test/selenium/icefaces.properties
===================================================================
--- trunk/src/test/ftest/examples/icefaces/src/org/jboss/seam/example/icefaces/test/selenium/icefaces.properties (rev 0)
+++ trunk/src/test/ftest/examples/icefaces/src/org/jboss/seam/example/icefaces/test/selenium/icefaces.properties 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,84 @@
+ #
+ # JBoss, Home of Professional Open Source
+ # Copyright 2008, Red Hat Middleware LLC, 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.
+ #
+HOME_PAGE /seam-icefaces/home.seam
+MAIN_PAGE /seam-icefaces/main.seam
+PAGE_TITLE JBoss Suites: Seam Framework
+LOGIN_USERNAME_FIELD id=login:username
+LOGIN_PASSWORD_FIELD id=login:password
+LOGIN_SUBMIT id=login:login
+LOGOUT id=logout
+PASSWORD_UPDATED_MESSAGE Password updated
+PASSWORD_REENTER_MESSAGE verify
+PASSWORD_VALUE_REQUIRED_MESSAGE xpath=//*[@id='setpassword:Message']
+PASSWORD_LENGTH_MESSAGE length must be between
+PASSWORD_PASSWORD id=setpassword:PasswordDecorate:password
+PASSWORD_VERIFY id=setpassword:VerifyDecorate:verify
+PASSWORD_SUBMIT id=setpassword:change
+SETTINGS id=settings
+SEARCH_STRING_FIELD id=searchCriteria:searchString
+SEARCH_SUBMIT id=searchCriteria:findHotels
+NO_HOTELS_FOUND id=searchResults:NoHotelsFoundMessage
+SEARCH_RESULT_TABLE xpath=//table[@id = 'searchResults:hotels']/tbody
+SEARCH_RESULT_TABLE_FIRST_ROW_LINK id=searchResults:hotels:0:viewHotel
+BOOKING_BOOK id=hotel:bookHotel
+BOOKING_CANCEL id=hotel:cancel
+HOTEL_BED_FIELD id=booking:bedsDecorate:beds
+HOTEL_BED_FIELD_SELECT_CRITERIA value=
+HOTEL_CHECKIN_DATE_FIELD id=booking:checkinDateDecorate:checkinDate_calendarInputtext
+HOTEL_CHECKIN_DATE_MESSAGE id=booking:Message
+HOTEL_CHECKOUT_DATE_FIELD id=booking:checkoutDateDecorate:checkoutDate_calendarInputtext
+HOTEL_CHECKOUT_DATE_MESSAGE id=booking:Message
+HOTEL_SMOKING_1 id=booking:smokingDecorate:smoking:_1
+HOTEL_SMOKING_2 id=booking:smokingDecorate:smoking:_2
+HOTEL_CREDIT_CARD id=booking:creditCardDecorate:creditCard
+HOTEL_CREDIT_CARD_NAME id=booking:creditCardNameDecorate:creditCardName
+HOTEL_PROCEED id=booking:proceed
+HOTEL_CANCEL id=booking:cancel
+HOTEL_CONFIRM id=confirm:confirm
+HOTEL_MESSAGE xpath=//ul[@id='messages']/li
+REGISTRATION id=login:register
+REGISTRATION_USERNAME id=registration:usernameDecorate:username
+REGISTRATION_USERNAME_MESSAGE id=registration:usernameDecorate:message
+REGISTRATION_NAME id=registration:nameDecorate:name
+REGISTRATION_NAME_MESSAGE id=registration:nameDecorate:message
+REGISTRATION_PASSWORD id=registration:passwordDecorate:password
+REGISTRATION_PASSWORD_MESSAGE id=registration:passwordDecorate:message
+REGISTRATION_VERIFY id=registration:verifyDecorate:verify
+REGISTRATION_VERIFY_MESSAGE id=registration:verifyDecorate:message
+REGISTRATION_SUBMIT id=registration:register
+REGISTRATION_REENTER_MESSAGE verify
+REGISTRATION_LENGTH_MESSAGE length must be between
+REGISTRATION_SUCCESSFUL_MESSAGE Successfully registered as {0}
+REGISTRATION_USER_EXISTS_MESSAGE Username {0} already exists
+NOT_LOGGED_IN_MESSAGE Please log in first
+CONVERSATION_TIMEOUT_MESSAGE The conversation ended, timed out or was processing another request
+BOOKING_TABLE_ITEM xpath\=//table[@id\="bookings\:bookings"]/tbody/tr[normalize-space(td[6]/span/text()) \= "{0}"][normalize-space(td[1]/span/text()) \= "{1}"]
+BOOKING_TABLE_ITEM_LINK xpath\=//table[@id\="bookings\:bookings"]/tbody/tr[normalize-space(td[6]/span/text()) \= "{0}"][normalize-space(td[1]/span/text()) \= "{1}"]/td[7]/a
+BOOKING_CANCELLED_MESSAGE Booking cancelled for confirmation number {0}
+BOOKING_CONFIRMATION_MESSAGE Thank you, {0}, your confimation number for {1} is \\d+
+BOOKING_INVALID_DATE_MESSAGE1 Check out date must be later than check in date
+BOOKING_INVALID_DATE_MESSAGE2 Check in date must be a future date
+WORKSPACE_BOOKING_TEXT Book hotel: {0}
+WORKSPACE_VIEW_TEXT View hotel: {0}
+WORKSPACE_TABLE_LINK_BY_ID id=ConversationListForm:ConversationListDataTable:{0}:EntryDescriptionLink
+WORKSPACE_TABLE_ROW_COUNT = xpath=//table[@id='ConversationListForm:ConversationListDataTable']/tbody/tr
+SPINNER id\=searchCriteria\:Spinner\:connection-working
\ No newline at end of file
Property changes on: trunk/src/test/ftest/examples/icefaces/src/org/jboss/seam/example/icefaces/test/selenium/icefaces.properties
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/examples/icefaces/testng.xml
===================================================================
--- trunk/src/test/ftest/examples/icefaces/testng.xml (rev 0)
+++ trunk/src/test/ftest/examples/icefaces/testng.xml 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,42 @@
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2008, Red Hat Middleware LLC, 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.
+-->
+<!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" >
+<suite name="Icefaces example" verbose="2" parallel="false">
+ <test name="Icefaces example">
+ <parameter name="PROPERTY_FILE" value="/org/jboss/seam/example/icefaces/test/selenium/icefaces.properties" />
+ <classes>
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.RegistrationTest" />
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.ChangePasswordTest" />
+ <class name="org.jboss.seam.example.common.test.booking.selenium.BackButtonTest">
+ <methods>
+ <include name="backbuttoningAfterLogoutTest"></include>
+ </methods>
+ </class>
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.SimpleBookingTest" />
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.ConversationTest" />
+ </classes>
+ </test>
+</suite>
\ No newline at end of file
Property changes on: trunk/src/test/ftest/examples/icefaces/testng.xml
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/examples/jpa/build.xml
===================================================================
--- trunk/src/test/ftest/examples/jpa/build.xml (rev 0)
+++ trunk/src/test/ftest/examples/jpa/build.xml 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2008, Red Hat Middleware LLC, 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.
+-->
+<project name="jpa.ftest.build" basedir="." default="build">
+ <property name="example.name" value="jpa"/>
+ <property name="jboss.deploy.target" value="jboss"/>
+ <property name="jboss.deploy.waittime" value="10"/>
+ <property name="jboss.undeploy.target" value="jboss.undeploy"/>
+ <property name="example.ready.check.url" value="jboss-seam-jpa/home.seam"/>
+
+ <import file="../build.xml" />
+</project>
Added: trunk/src/test/ftest/examples/jpa/src/org/jboss/seam/example/jpa/test/selenium/jpa.properties
===================================================================
--- trunk/src/test/ftest/examples/jpa/src/org/jboss/seam/example/jpa/test/selenium/jpa.properties (rev 0)
+++ trunk/src/test/ftest/examples/jpa/src/org/jboss/seam/example/jpa/test/selenium/jpa.properties 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,84 @@
+ #
+ # JBoss, Home of Professional Open Source
+ # Copyright 2008, Red Hat Middleware LLC, 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.
+ #
+HOME_PAGE /jboss-seam-jpa/home.seam
+MAIN_PAGE /jboss-seam-jpa/main.seam
+PAGE_TITLE JBoss Suites: Seam Framework
+LOGIN_USERNAME_FIELD id=login:username
+LOGIN_PASSWORD_FIELD id=login:password
+LOGIN_SUBMIT id=login:login
+LOGOUT id=logout
+PASSWORD_UPDATED_MESSAGE Password updated
+PASSWORD_REENTER_MESSAGE verify
+PASSWORD_VALUE_REQUIRED_MESSAGE xpath=//*[@id='setpassword:Message']
+PASSWORD_LENGTH_MESSAGE length must be between
+PASSWORD_PASSWORD id=setpassword:PasswordDecorate:password
+PASSWORD_VERIFY id=setpassword:VerifyDecorate:verify
+PASSWORD_SUBMIT id=setpassword:change
+SETTINGS id=settings
+SEARCH_STRING_FIELD id=main:searchString
+SEARCH_SUBMIT id=main:findHotels
+NO_HOTELS_FOUND id=NoHotelsFoundMessage
+SEARCH_RESULT_TABLE xpath=//table[@id = 'hotels']/tbody
+SEARCH_RESULT_TABLE_FIRST_ROW_LINK id=hotels:0:viewHotel
+BOOKING_BOOK id=hotel:bookHotel
+BOOKING_CANCEL id=hotel:cancel
+HOTEL_BED_FIELD id=booking:bedsDecorate:beds
+HOTEL_BED_FIELD_SELECT_CRITERIA value=
+HOTEL_CHECKIN_DATE_FIELD id=booking:checkinDateDecorate:checkinDateInputDate
+HOTEL_CHECKIN_DATE_MESSAGE id=booking:Message
+HOTEL_CHECKOUT_DATE_FIELD id=booking:checkoutDateDecorate:checkoutDateInputDate
+HOTEL_CHECKOUT_DATE_MESSAGE id=booking:Message
+HOTEL_SMOKING_1 id=booking:smokingDecorate:smoking:0
+HOTEL_SMOKING_2 id=booking:smokingDecorate:smoking:1
+HOTEL_CREDIT_CARD id=booking:creditCardDecorate:creditCard
+HOTEL_CREDIT_CARD_NAME id=booking:creditCardNameDecorate:creditCardName
+HOTEL_PROCEED id=booking:proceed
+HOTEL_CANCEL id=booking:cancel
+HOTEL_CONFIRM id=confirm:confirm
+HOTEL_MESSAGE xpath=//ul[@id='main:messages']/li
+REGISTRATION id=login:register
+REGISTRATION_USERNAME id=register:usernameDecorate:username
+REGISTRATION_USERNAME_MESSAGE id=register:usernameDecorate:message
+REGISTRATION_NAME id=register:nameDecorate:name
+REGISTRATION_NAME_MESSAGE id=register:nameDecorate:message
+REGISTRATION_PASSWORD id=register:passwordDecorate:password
+REGISTRATION_PASSWORD_MESSAGE id=register:passwordDecorate:message
+REGISTRATION_VERIFY id=register:verifyDecorate:verify
+REGISTRATION_VERIFY_MESSAGE id=register:verifyDecorate:message
+REGISTRATION_SUBMIT id=register:register
+REGISTRATION_REENTER_MESSAGE verify
+REGISTRATION_LENGTH_MESSAGE length must be between
+REGISTRATION_SUCCESSFUL_MESSAGE Successfully registered as {0}
+REGISTRATION_USER_EXISTS_MESSAGE Username {0} already exists
+NOT_LOGGED_IN_MESSAGE Please log in first
+CONVERSATION_TIMEOUT_MESSAGE The conversation ended, timed out or was processing another request
+BOOKING_TABLE_ITEM xpath\=//table[@id\="bookings\:bookings"]/tbody/tr[normalize-space(td[6]/text()) \= "{0}"][normalize-space(td[1]/text()) \= "{1}"]
+BOOKING_TABLE_ITEM_LINK xpath\=//table[@id\="bookings\:bookings"]/tbody/tr[normalize-space(td[6]/text()) \= "{0}"][normalize-space(td[1]/text()) \= "{1}"]/td[7]/a
+BOOKING_CANCELLED_MESSAGE Booking cancelled for confirmation number {0}
+BOOKING_CONFIRMATION_MESSAGE Thank you, {0}, your confimation number for {1} is \\d+
+BOOKING_INVALID_DATE_MESSAGE1 Check out date must be later than check in date
+BOOKING_INVALID_DATE_MESSAGE2 Check in date must be a future date
+WORKSPACE_BOOKING_TEXT Book hotel: {0}
+WORKSPACE_VIEW_TEXT View hotel: {0}
+WORKSPACE_TABLE_LINK_BY_ID id=ConversationListForm:ConversationListDataTable:{0}:EntryDescriptionLink
+WORKSPACE_TABLE_ROW_COUNT = xpath=//table[@id='ConversationListForm:ConversationListDataTable']/tbody/tr
+SPINNER id\=main\:SpinnerGif
\ No newline at end of file
Property changes on: trunk/src/test/ftest/examples/jpa/src/org/jboss/seam/example/jpa/test/selenium/jpa.properties
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/examples/jpa/testng.xml
===================================================================
--- trunk/src/test/ftest/examples/jpa/testng.xml (rev 0)
+++ trunk/src/test/ftest/examples/jpa/testng.xml 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,39 @@
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2008, Red Hat Middleware LLC, 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.
+-->
+<!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" >
+<suite name="JPA example" verbose="2" parallel="false">
+ <test name="JPA example">
+ <parameter name="PROPERTY_FILE" value="/org/jboss/seam/example/jpa/test/selenium/jpa.properties" />
+ <classes>
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.RegistrationTest" />
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.ChangePasswordTest" />
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.BackButtonTest" />
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.SimpleBookingTest" />
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.ConversationTest" />
+ </classes>
+ </test>
+</suite>
\ No newline at end of file
Property changes on: trunk/src/test/ftest/examples/jpa/testng.xml
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/examples/nestedbooking/build.xml
===================================================================
--- trunk/src/test/ftest/examples/nestedbooking/build.xml (rev 0)
+++ trunk/src/test/ftest/examples/nestedbooking/build.xml 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2008, Red Hat Middleware LLC, 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.
+-->
+<project name="nestedbooking.ftest.build" basedir="." default="build">
+ <property name="example.name" value="nestedbooking"/>
+ <property name="jboss.deploy.target" value="deploy"/>
+ <property name="jboss.deploy.waittime" value="10"/>
+ <property name="jboss.undeploy.target" value="undeploy"/>
+ <property name="example.ready.check.url" value="seam-nested-booking/home.seam"/>
+
+ <import file="../build.xml" />
+</project>
Added: trunk/src/test/ftest/examples/nestedbooking/src/org/jboss/seam/example/nestedbooking/test/selenium/nestedbooking.properties
===================================================================
--- trunk/src/test/ftest/examples/nestedbooking/src/org/jboss/seam/example/nestedbooking/test/selenium/nestedbooking.properties (rev 0)
+++ trunk/src/test/ftest/examples/nestedbooking/src/org/jboss/seam/example/nestedbooking/test/selenium/nestedbooking.properties 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,83 @@
+ #
+ # JBoss, Home of Professional Open Source
+ # Copyright 2008, Red Hat Middleware LLC, 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.
+ #
+HOME_PAGE /seam-nested-booking/home.seam
+MAIN_PAGE /seam-nested-booking/main.seam
+PAGE_TITLE JBoss Suites: Seam Framework
+LOGIN_USERNAME_FIELD id=login:username
+LOGIN_PASSWORD_FIELD id=login:password
+LOGIN_SUBMIT id=login:login
+LOGOUT id=logout
+PASSWORD_UPDATED_MESSAGE Password updated
+PASSWORD_REENTER_MESSAGE Re-enter new password
+PASSWORD_VALUE_REQUIRED_MESSAGE //*[@id='setpassword:PasswordDecorate:message' or @id='setpassword:VerifyDecorate:message']
+PASSWORD_LENGTH_MESSAGE length must be between
+PASSWORD_PASSWORD id=setpassword:PasswordDecorate:password
+PASSWORD_VERIFY id=setpassword:VerifyDecorate:verify
+PASSWORD_SUBMIT id=setpassword:change
+SETTINGS id=settings
+SEARCH_STRING_FIELD id=main:searchString
+SEARCH_SUBMIT id=main:findHotels
+NO_HOTELS_FOUND id=NoHotelsFoundMessage
+SEARCH_RESULT_TABLE xpath=//table[@id = 'hotels']/tbody
+SEARCH_RESULT_TABLE_FIRST_ROW_LINK id=hotels:0:viewHotel
+BOOKING_BOOK id=hotel:bookHotel
+BOOKING_CANCEL id=hotel:cancel
+HOTEL_BED_FIELD id=booking:bedsDecorate:beds
+HOTEL_BED_FIELD_SELECT_CRITERIA value=
+HOTEL_CHECKIN_DATE_FIELD id=booking:checkinDateDecorate:checkinDateInputDate
+HOTEL_CHECKIN_DATE_MESSAGE id=booking:checkinDateDecorate:message
+HOTEL_CHECKOUT_DATE_FIELD id=booking:checkoutDateDecorate:checkoutDateInputDate
+HOTEL_CHECKOUT_DATE_MESSAGE id=booking:checkoutDateDecorate:message
+HOTEL_SMOKING id=booking:smokingDecorate:smoking:
+HOTEL_CREDIT_CARD id=booking:creditCardDecorate:creditCard
+HOTEL_CREDIT_CARD_NAME id=booking:creditCardNameDecorate:creditCardName
+HOTEL_PROCEED id=booking:proceed
+HOTEL_CANCEL id=booking:cancel
+HOTEL_CONFIRM id=confirm:confirm
+HOTEL_MESSAGE xpath=//ul[@id='messages']/li
+REGISTRATION id=login:register
+REGISTRATION_USERNAME id=register:usernameDecorate:username
+REGISTRATION_USERNAME_MESSAGE id=register:usernameDecorate:message
+REGISTRATION_NAME id=register:nameDecorate:name
+REGISTRATION_NAME_MESSAGE id=register:nameDecorate:message
+REGISTRATION_PASSWORD id=register:passwordDecorate:password
+REGISTRATION_PASSWORD_MESSAGE id=register:passwordDecorate:message
+REGISTRATION_VERIFY id=register:verifyDecorate:verify
+REGISTRATION_VERIFY_MESSAGE id=register:verifyDecorate:message
+REGISTRATION_SUBMIT id=register:register
+REGISTRATION_REENTER_MESSAGE Re-enter your password
+REGISTRATION_LENGTH_MESSAGE length must be between
+REGISTRATION_SUCCESSFUL_MESSAGE
+REGISTRATION_USER_EXISTS_MESSAGE Username {0} already exists
+NOT_LOGGED_IN_MESSAGE Please log in first
+CONVERSATION_TIMEOUT_MESSAGE The conversation ended, timed out or was processing another request
+BOOKING_TABLE_ITEM xpath\=//table[@id\="bookings\:bookings"]/tbody/tr[normalize-space(td[6]/text()) \= "{0}"][normalize-space(td[1]/text()) \= "{1}"]
+BOOKING_TABLE_ITEM_LINK xpath\=//table[@id\="bookings\:bookings"]/tbody/tr[normalize-space(td[6]/text()) \= "{0}"][normalize-space(td[1]/text()) \= "{1}"]/td[7]/a
+BOOKING_CANCELLED_MESSAGE Booking cancelled for confirmation number {0}
+BOOKING_CONFIRMATION_MESSAGE Thank you, {0}, your confimation number for {1} is \\d+
+BOOKING_INVALID_DATE_MESSAGE1 Check out date must be later than check in date
+BOOKING_INVALID_DATE_MESSAGE2 Check in date must be a future date
+WORKSPACE_BOOKING_TEXT Book hotel: {0}
+WORKSPACE_VIEW_TEXT View hotel: {0}
+WORKSPACE_TABLE_LINK_BY_ID id=ConversationListForm:ConversationListDataTable:{0}:EntryDescriptionLink
+WORKSPACE_TABLE_ROW_COUNT = xpath=//table[@id='ConversationListForm:ConversationListDataTable']/tbody/tr
+SPINNER id\=main\:SpinnerGif
\ No newline at end of file
Property changes on: trunk/src/test/ftest/examples/nestedbooking/src/org/jboss/seam/example/nestedbooking/test/selenium/nestedbooking.properties
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/examples/nestedbooking/testng.xml
===================================================================
--- trunk/src/test/ftest/examples/nestedbooking/testng.xml (rev 0)
+++ trunk/src/test/ftest/examples/nestedbooking/testng.xml 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,34 @@
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2008, Red Hat Middleware LLC, 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.
+-->
+<!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" >
+<suite name="Nested booking example" verbose="2" parallel="false">
+ <test name="Nested booking example">
+ <parameter name="PROPERTY_FILE" value="/org/jboss/seam/example/nestedbooking/test/selenium/nestedbooking.properties" />
+ <classes>
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.RegistrationTest" />
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.ChangePasswordTest" />
+ <class name="org.jboss.seam.example.common.test.booking.selenium.BackButtonTest" />
+ </classes>
+ </test>
+</suite>
\ No newline at end of file
Property changes on: trunk/src/test/ftest/examples/nestedbooking/testng.xml
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/examples/spring/build.xml
===================================================================
--- trunk/src/test/ftest/examples/spring/build.xml (rev 0)
+++ trunk/src/test/ftest/examples/spring/build.xml 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2008, Red Hat Middleware LLC, 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.
+-->
+<project name="spring.ftest.build" basedir="." default="build">
+ <property name="example.name" value="spring"/>
+ <property name="jboss.deploy.target" value="jbosswar"/>
+ <property name="jboss.deploy.waittime" value="10"/>
+ <property name="jboss.undeploy.target" value="jbosswar.undeploy"/>
+ <property name="example.ready.check.url" value="jboss-seam-spring/home.seam"/>
+
+ <import file="../build.xml" />
+</project>
Added: trunk/src/test/ftest/examples/spring/src/org/jboss/seam/example/spring/test/selenium/SpringChangePasswordTest.java
===================================================================
--- trunk/src/test/ftest/examples/spring/src/org/jboss/seam/example/spring/test/selenium/SpringChangePasswordTest.java (rev 0)
+++ trunk/src/test/ftest/examples/spring/src/org/jboss/seam/example/spring/test/selenium/SpringChangePasswordTest.java 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,107 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, 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.seam.example.spring.test.selenium;
+
+import org.jboss.seam.example.common.test.booking.selenium.SeleniumBookingTest;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import static org.testng.AssertJUnit.*;
+
+/**
+ * This class tests change password funcionality.
+ *
+ * @author jbalunas
+ * @author jharting
+ *
+ */
+public class SpringChangePasswordTest extends SeleniumBookingTest {
+
+ private final static String LONG_TEXT = "testertestertest";
+ private final static String SHORT_TEXT = "tt";
+ // overriding default values
+ private final String USERNAME = "gavin";
+ private final String PASSWORD = "foobar";
+
+ @BeforeMethod
+ public void setUp() {
+ startBrowser();
+ assertTrue("Login failed.", login(USERNAME, PASSWORD));
+ }
+
+ /**
+ * Verifies that changing password works well. If clean-up part of this
+ * method fails it may affect other methods.
+ */
+ @Test
+ public void changePasswordTest() {
+ String newPassword = "password";
+ changePassword(newPassword, PASSWORD);
+ assertTrue("Password change failed.", browser
+ .isTextPresent(getProperty("PASSWORD_UPDATED_MESSAGE")));
+ logout();
+ assertTrue("Login failed.", login(USERNAME, newPassword));
+ // cleanup - set default password
+ changePassword(PASSWORD, newPassword);
+ assertTrue("Password change failed.", browser
+ .isTextPresent(getProperty("PASSWORD_UPDATED_MESSAGE")));
+ logout();
+ assertTrue("Login failed.", login(USERNAME, PASSWORD));
+ }
+
+ @Test
+ public void usingIncorrectOldPasswordTest() {
+ changePassword("password", "foobar1");
+ assertTrue("Password verification failed", browser
+ .isTextPresent(getProperty("PASSWORD_REENTER_MESSAGE")));
+ }
+
+ @Test
+ public void usingEmptyPasswordsTest() {
+ changePassword("", "");
+ assertEquals("Password verification failed", 2, browser
+ .getXpathCount(getProperty("PASSWORD_VALUE_REQUIRED_MESSAGE")));
+ }
+
+ @Test
+ public void usingLongPasswordTest() {
+ changePassword(LONG_TEXT, LONG_TEXT);
+ assertTrue("Password verification failed", browser
+ .isTextPresent(getProperty("PASSWORD_LENGTH_MESSAGE")));
+ }
+
+ @Test
+ public void usingShortPasswordTest() {
+ changePassword(SHORT_TEXT, SHORT_TEXT);
+ assertTrue("Password verification failed", browser
+ .isTextPresent(getProperty("PASSWORD_LENGTH_MESSAGE")));
+ }
+
+ public void changePassword(String newPassword, String oldpassword) {
+ browser.click(getProperty("SETTINGS"));
+ browser.waitForPageToLoad(TIMEOUT);
+ browser.type(getProperty("PASSWORD_PASSWORD"), newPassword);
+ browser.type(getProperty("PASSWORD_VERIFY"), oldpassword);
+ browser.click(getProperty("PASSWORD_SUBMIT"));
+ browser.waitForPageToLoad(TIMEOUT);
+ }
+}
Added: trunk/src/test/ftest/examples/spring/src/org/jboss/seam/example/spring/test/selenium/spring.properties
===================================================================
--- trunk/src/test/ftest/examples/spring/src/org/jboss/seam/example/spring/test/selenium/spring.properties (rev 0)
+++ trunk/src/test/ftest/examples/spring/src/org/jboss/seam/example/spring/test/selenium/spring.properties 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,86 @@
+ #
+ # JBoss, Home of Professional Open Source
+ # Copyright 2008, Red Hat Middleware LLC, 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.
+ #
+HOME_PAGE /jboss-seam-spring/home.seam
+MAIN_PAGE /jboss-seam-spring/main.seam
+PAGE_TITLE JBoss Suites: Seam Framework
+LOGIN_USERNAME_FIELD id=login:username
+LOGIN_PASSWORD_FIELD id=login:password
+LOGIN_SUBMIT id=login:login
+LOGOUT id=logout
+PASSWORD_UPDATED_MESSAGE Password updated
+PASSWORD_REENTER_MESSAGE Re-enter new password
+PASSWORD_VALUE_REQUIRED_MESSAGE xpath=//*[@id='setpassword:Message']
+PASSWORD_LENGTH_MESSAGE length must be between
+PASSWORD_PASSWORD id=setpassword:PasswordDecorate:password
+PASSWORD_VERIFY id=setpassword:VerifyDecorate:verify
+PASSWORD_SUBMIT id=setpassword:change
+SETTINGS id=settings
+SEARCH_STRING_FIELD id=main:searchString
+SEARCH_SUBMIT id=main:findHotels
+NO_HOTELS_FOUND id=NoHotelsFoundMessage
+SEARCH_RESULT_TABLE xpath=//table[@id = 'hotels']/tbody
+SEARCH_RESULT_TABLE_FIRST_ROW_LINK id=hotels:0:viewHotel
+BOOKING_BOOK id=hotel:bookHotel
+BOOKING_CANCEL id=hotel:cancel
+HOTEL_BED_FIELD id=booking:bedsDecorate:beds
+HOTEL_BED_FIELD_SELECT_CRITERIA value=
+HOTEL_CHECKIN_DATE_FIELD id=booking:checkinDateDecorate:checkinDateInputDate
+HOTEL_CHECKIN_DATE_MESSAGE id=booking:Messages
+HOTEL_CHECKOUT_DATE_FIELD id=booking:checkoutDateDecorate:checkoutDateInputDate
+HOTEL_CHECKOUT_DATE_MESSAGE id=booking:Messages
+HOTEL_SMOKING_1 id=booking:smokingDecorate:smoking:0
+HOTEL_SMOKING_2 id=booking:smokingDecorate:smoking:1
+HOTEL_CREDIT_CARD id=booking:creditCardDecorate:creditCard
+HOTEL_CREDIT_CARD_NAME id=booking:creditCardNameDecorate:creditCardName
+HOTEL_PROCEED id=booking:proceed
+HOTEL_CANCEL id=booking:cancel
+HOTEL_CONFIRM id=confirm:confirm
+HOTEL_MESSAGE xpath=//ul[@id='main:messages']/li
+REGISTRATION id=login:register
+REGISTRATION_USERNAME id=register:usernameDecorate:username
+REGISTRATION_USERNAME_MESSAGE id=register:usernameDecorate:message
+REGISTRATION_NAME id=register:nameDecorate:name
+REGISTRATION_NAME_MESSAGE id=register:nameDecorate:message
+REGISTRATION_PASSWORD id=register:passwordDecorate:password
+REGISTRATION_PASSWORD_MESSAGE id=register:passwordDecorate:message
+REGISTRATION_VERIFY id=register:verifyDecorate:verify
+REGISTRATION_VERIFY_MESSAGE id=register:verifyDecorate:message
+REGISTRATION_SUBMIT id=register:register
+REGISTRATION_REENTER_MESSAGE verify
+REGISTRATION_LENGTH_MESSAGE length must be between
+REGISTRATION_SUCCESSFUL_MESSAGE Successfully registered as {0}
+REGISTRATION_USER_EXISTS_MESSAGE Username {0} already exists
+NOT_LOGGED_IN_MESSAGE Please log in first
+CONVERSATION_TIMEOUT_MESSAGE The conversation ended, timed out or was processing another request
+BOOKING_TABLE_ITEM xpath\=//table[@id\="bookings\:bookings"]/tbody/tr[normalize-space(td[6]/text()) \= "{0}"][normalize-space(td[1]/text()) \= "{1}"]
+BOOKING_TABLE_ITEM_LINK xpath\=//table[@id\="bookings\:bookings"]/tbody/tr[normalize-space(td[6]/text()) \= "{0}"][normalize-space(td[1]/text()) \= "{1}"]/td[7]/a
+BOOKING_CANCELLED_MESSAGE Booking cancelled for confirmation number {0}
+BOOKING_CONFIRMATION_MESSAGE Thank you, {0}, your confimation number for {1} is \\d+
+BOOKING_INVALID_DATE_MESSAGE1 Check out date must be later than check in date
+BOOKING_INVALID_DATE_MESSAGE2 Check in date must be a future date
+WORKSPACE_BOOKING_TEXT Book hotel: {0}
+WORKSPACE_VIEW_TEXT View hotel: {0}
+WORKSPACE_TABLE_LINK_BY_ID id=ConversationListForm:ConversationListDataTable:{0}:EntryDescriptionLink
+WORKSPACE_TABLE_ROW_COUNT = xpath=//table[@id='ConversationListForm:ConversationListDataTable']/tbody/tr
+SPINNER id=main:Spinner
+# ajax not present in spring example - false required
+USE_AJAX_SEARCH FALSE
Property changes on: trunk/src/test/ftest/examples/spring/src/org/jboss/seam/example/spring/test/selenium/spring.properties
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/examples/spring/testng.xml
===================================================================
--- trunk/src/test/ftest/examples/spring/testng.xml (rev 0)
+++ trunk/src/test/ftest/examples/spring/testng.xml 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,38 @@
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2008, Red Hat Middleware LLC, 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.
+-->
+<!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" >
+<suite name="Spring example" verbose="2" parallel="false">
+ <test name="Spring example">
+ <parameter name="PROPERTY_FILE" value="/org/jboss/seam/example/spring/test/selenium/spring.properties" />
+ <classes>
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.RegistrationTest" />
+ <class
+ name="org.jboss.seam.example.spring.test.selenium.SpringChangePasswordTest" />
+ <class name="org.jboss.seam.example.common.test.booking.selenium.BackButtonTest" />
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.SimpleBookingTest" />
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.ConversationTest" />
+ </classes>
+ </test>
+</suite>
\ No newline at end of file
Property changes on: trunk/src/test/ftest/examples/spring/testng.xml
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/examples/wicket/build.xml
===================================================================
--- trunk/src/test/ftest/examples/wicket/build.xml (rev 0)
+++ trunk/src/test/ftest/examples/wicket/build.xml 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2008, Red Hat Middleware LLC, 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.
+-->
+<project name="wicket" basedir="." default="build">
+ <property name="example.name" value="wicket"/>
+ <property name="jboss.deploy.target" value="deploy"/>
+ <property name="jboss.deploy.waittime" value="10"/>
+ <property name="jboss.undeploy.target" value="undeploy"/>
+ <property name="example.ready.check.url" value="seam-wicket/home.seam"/>
+
+ <import file="../build.xml" />
+</project>
Added: trunk/src/test/ftest/examples/wicket/src/org/jboss/seam/example/wicket/test/selenium/WicketSimpleBookingTest.java
===================================================================
--- trunk/src/test/ftest/examples/wicket/src/org/jboss/seam/example/wicket/test/selenium/WicketSimpleBookingTest.java (rev 0)
+++ trunk/src/test/ftest/examples/wicket/src/org/jboss/seam/example/wicket/test/selenium/WicketSimpleBookingTest.java 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,47 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, 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.seam.example.wicket.test.selenium;
+
+import org.jboss.seam.example.common.test.booking.selenium.SimpleBookingTest;
+
+/**
+ *
+ * @author jbalunas
+ * @author jharting
+ *
+ */
+public class WicketSimpleBookingTest extends SimpleBookingTest {
+
+ @Override
+ protected void populateBookingFields(int bed, int smoking,
+ String creditCard, String creditCardName) {
+ super.populateBookingFields(bed, smoking, creditCard, creditCardName);
+ populateBookingFields();
+ }
+
+ protected void populateBookingFields() {
+ browser
+ .select(getProperty("HOTEL_CREDIT_CARD_EXPIRY_MONTH"),
+ "index=1");
+ browser.select(getProperty("HOTEL_CREDIT_CARD_EXPIRY_YEAR"), "index=1");
+ }
+}
Added: trunk/src/test/ftest/examples/wicket/src/org/jboss/seam/example/wicket/test/selenium/wicket.properties
===================================================================
--- trunk/src/test/ftest/examples/wicket/src/org/jboss/seam/example/wicket/test/selenium/wicket.properties (rev 0)
+++ trunk/src/test/ftest/examples/wicket/src/org/jboss/seam/example/wicket/test/selenium/wicket.properties 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,85 @@
+ #
+ # JBoss, Home of Professional Open Source
+ # Copyright 2008, Red Hat Middleware LLC, 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.
+ #
+HOME_PAGE /seam-wicket
+MAIN_PAGE /seam-wicket
+PAGE_TITLE JBoss Suites: Seam Framework
+LOGIN_USERNAME_FIELD identifier=username
+LOGIN_PASSWORD_FIELD identifier=password
+LOGIN_SUBMIT identifier=login
+LOGOUT id=logout
+PASSWORD_UPDATED_MESSAGE Search Hotels
+PASSWORD_REENTER_MESSAGE must be equal
+PASSWORD_VALUE_REQUIRED_MESSAGE //span[@name='message']//span
+PASSWORD_LENGTH_MESSAGE length must be between
+PASSWORD_PASSWORD identifier=passwordBorder:password
+PASSWORD_VERIFY identifier=verifyBorder:verify
+PASSWORD_SUBMIT id=change
+SETTINGS id=settings
+SEARCH_STRING_FIELD id=searchString
+SEARCH_SUBMIT identifier=:submit
+NO_HOTELS_FOUND xpath=//table[@id ='hotels']/tbody[count(./*) = 0]
+SEARCH_RESULT_TABLE xpath=//table[@id ='hotels']/tbody
+SEARCH_RESULT_TABLE_FIRST_ROW_LINK xpath=//table[@id ='hotels']/tbody/tr[1]/td[5]/a
+BOOKING_BOOK id=bookHotel
+BOOKING_CANCEL id=cancel
+HOTEL_BED_FIELD identifier=bedsBorder:beds
+HOTEL_BED_FIELD_SELECT_CRITERIA index=
+HOTEL_CHECKIN_DATE_FIELD identifier=checkinDateBorder:checkinDate:date
+HOTEL_CHECKIN_DATE_MESSAGE xpath=//span[@id='message']//span
+HOTEL_CHECKOUT_DATE_FIELD identifier=checkoutDateBorder:checkoutDate:date
+HOTEL_CHECKOUT_DATE_MESSAGE xpath=//span[@id='message']//span
+HOTEL_SMOKING_1 id=smokingBorder:smoking_true
+HOTEL_SMOKING_2 id=smokingBorder:smoking_false
+HOTEL_CREDIT_CARD identifier=creditCardBorder:creditCard
+HOTEL_CREDIT_CARD_NAME identifier=creditCardNameBorder:creditCardName
+HOTEL_CREDIT_CARD_EXPIRY_MONTH identifier=creditCardExpiryBorder:creditCardExpiryMonth
+HOTEL_CREDIT_CARD_EXPIRY_YEAR identifier=creditCardExpiryBorder:creditCardExpiryYear
+HOTEL_PROCEED id=proceed
+HOTEL_CANCEL id=cancel
+HOTEL_CONFIRM id=confirm
+HOTEL_MESSAGE xpath=//span[@wicket:id='messages']//span[@wicket:id='message']
+REGISTRATION identifier=register
+REGISTRATION_USERNAME identifier=usernameDecorate:username
+REGISTRATION_NAME identifier=nameDecorate:name
+REGISTRATION_PASSWORD identifier=passwordDecorate:password
+REGISTRATION_VERIFY identifier=verifyDecorate:verify
+REGISTRATION_SUBMIT id=register
+REGISTRATION_REENTER_MESSAGE Password and Verify Password must be equal.
+REGISTRATION_LENGTH_MESSAGE length must be between
+REGISTRATION_SUCCESSFUL_MESSAGE Successfully registered as {0}
+REGISTRATION_USER_EXISTS_MESSAGE Username {0} already exists
+NOT_LOGGED_IN_MESSAGE Please log in first
+CONVERSATION_TIMEOUT_MESSAGE The conversation ended, timed out or was processing another request
+BOOKING_TABLE_ITEM xpath\=//table[@id\="bookings"]/tbody/tr[normalize-space(td[6]/span/text()) \= "{0}"][normalize-space(td[1]/span/text()) \= "{1}"]
+BOOKING_TABLE_ITEM_LINK xpath\=//table[@id\="bookings"]/tbody/tr[normalize-space(td[6]/span/text()) \= "{0}"][normalize-space(td[1]/span/text()) \= "{1}"]/td[7]/a
+BOOKING_CANCELLED_MESSAGE Booking cancelled for confirmation number {0}
+BOOKING_CONFIRMATION_MESSAGE Thank you, {0}, your confimation number for {1} is \\d+
+BOOKING_INVALID_DATE_MESSAGE1 Check out date must be later than check in date
+BOOKING_INVALID_DATE_MESSAGE2 Check in date must be a future date
+#WORKSPACE_BOOKING_TEXT Book hotel: {0}
+#WORKSPACE_VIEW_TEXT View hotel: {0}
+#WORKSPACE_TABLE_LINK_BY_ID id=ConversationListForm:ConversationListDataTable:{0}:EntryDescriptionLink
+#WORKSPACE_TABLE_ROW_COUNT = xpath=//table[@id='ConversationListForm:ConversationListDataTable']/tbody/tr
+SPINNER xpath=//span[contains(@id, 'ajax-indicator')]
+# ajax is used in wicket example but search button has to be clicked
+USE_AJAX_SEARCH TRUE
+USE_SEARCH_BUTTON TRUE
\ No newline at end of file
Property changes on: trunk/src/test/ftest/examples/wicket/src/org/jboss/seam/example/wicket/test/selenium/wicket.properties
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/examples/wicket/testng.xml
===================================================================
--- trunk/src/test/ftest/examples/wicket/testng.xml (rev 0)
+++ trunk/src/test/ftest/examples/wicket/testng.xml 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,36 @@
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2008, Red Hat Middleware LLC, 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.
+-->
+<!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" >
+<suite name="Wicket example" verbose="2" parallel="false">
+ <test name="Wicket example">
+ <parameter name="PROPERTY_FILE" value="/org/jboss/seam/example/wicket/test/selenium/wicket.properties" />
+ <classes>
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.RegistrationTest" />
+ <class
+ name="org.jboss.seam.example.common.test.booking.selenium.ChangePasswordTest" />
+ <class
+ name="org.jboss.seam.example.wicket.test.selenium.WicketSimpleBookingTest">
+ </class>
+ </classes>
+ </test>
+</suite>
\ No newline at end of file
Property changes on: trunk/src/test/ftest/examples/wicket/testng.xml
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/ftest.properties
===================================================================
--- trunk/src/test/ftest/ftest.properties (rev 0)
+++ trunk/src/test/ftest/ftest.properties 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,39 @@
+ #
+ # JBoss, Home of Professional Open Source
+ # Copyright 2008, Red Hat Middleware LLC, 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.
+ #
+
+#Build properties for running and executing functional tests
+
+# Selenium testng specific
+selenium.server.port=14444
+selenium.host=localhost
+selenium.browser=*firefox
+selenium.browser.port=8080
+selenium.browser.url=http://127.0.0.1:8080
+selenium.speed=0
+selenium.timeout=30000
+
+# enter any commands wanted for the testng run
+selenium.testng.jvmargs=-Dfoo
+
+# enter any commands wanted for the selenium server
+# -log selenium.server.log will create a debug log
+selenium.server.cmd.args=
Added: trunk/src/test/ftest/lib/selenium-java-client-driver.jar
===================================================================
(Binary files differ)
Property changes on: trunk/src/test/ftest/lib/selenium-java-client-driver.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/test/ftest/lib/selenium-server-standalone.jar
===================================================================
(Binary files differ)
Property changes on: trunk/src/test/ftest/lib/selenium-server-standalone.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/test/ftest/lib/testng-5.8-jdk15.jar
===================================================================
(Binary files differ)
Property changes on: trunk/src/test/ftest/lib/testng-5.8-jdk15.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/test/ftest/readme.txt
===================================================================
--- trunk/src/test/ftest/readme.txt (rev 0)
+++ trunk/src/test/ftest/readme.txt 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,76 @@
+#
+ # JBoss, Home of Professional Open Source
+ # Copyright 2008, Red Hat Middleware LLC, 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.
+ #
+
+Core functional test framework for Seam.
+
+UNDER DEVELOPMENT NOT COMPLETE
+
+How To:
+----------
+* Follow specific instructions for your OS
+* Set jboss.home in $SEA</build.properties
+* execute "ant testall" in the $SEAM/src/test/ftest directory
+
+
+Known Limitations:
+---------------------
+* Only tested on Linux with Firefox
+* jboss.home must be set in $SEAM/build.properties
+* JBoss AS must be started (preferably with nothing deployed)
+
+Windows Setup
+--------------
+TBD
+
+Unix/Linux Setup
+-----------------
+*must set to the location of your firefox browser like this:
+ export LD_LIBRARY_PATH=/jboss/projects/seam/automation/firefox:$LD_LIBRARY_PATH
+ export PATH=/jboss/projects/seam/automation/firefox:$PATH
+
+Mac OS Setup
+--------------
+TBD
+
+TODO's:
+-------
+* There are several TODO's in the source code
+* Write up detailed instructions for adding tests, containers, etc...
+* Add the ability to download,extract,started, stop, remove containers (jboss 4.2.X, JBoss 5, tomcat 6)
+* Consolidate the test reports
+* Expose more options to users for tweaking
+* headless env and selenium RC integration for CI
+* Test and update for more Browsers, Operating Systems, and Containers
+* set up a project file for these tests, or update the existing?
+* Describe how to debug the tests using eclipse
+ - start server, sel server, and in eclipse set props in ftest.prop file and testng plugin
+* We currently have 3 required jars in the $SEAM/src/test/ftest/lib directory
+ - When the build system is updated these will be removed and dependencies will
+ be handled as the rest of the source is.
+ - We are trying to keep the ftest builds as separate from seam builds as possible.
+ - FYI selenium versions are "1.0-beta-1" and testng.jar is 5.8-200803291025
+
+OPEN QUESTIONS:
+-----------------
+* I'm not sure I like the package name for the common example test code
+* I don't like how we are using property files for all the variables
+ - Jozef - can we move them to the values in an interface, or some other way
Added: trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/AjaxTest.java
===================================================================
--- trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/AjaxTest.java (rev 0)
+++ trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/AjaxTest.java 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,45 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, 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.seam.example.common.test.booking.selenium;
+
+import org.testng.annotations.Test;
+/**
+ *
+ * @author jbalunas
+ * @author jharting
+ *
+ */
+public class AjaxTest extends SeleniumBookingTest {
+
+ @Test
+ public void ajaxSearchFloodTest() {
+ String[] hotels = new String[] { "Marriott Courtyard", "Conrad Miami",
+ "Marriot Downtown", "Ritz Carlton", "NonExistingHotel" };
+ for (int i = 0; i < 30; i++) {
+ for (String hotel : hotels) {
+
+ browser.type(getProperty("SEARCH_STRING_FIELD"), "");
+ enterSearchQuery(hotel);
+ }
+ }
+ }
+}
Property changes on: trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/AjaxTest.java
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/BackButtonTest.java
===================================================================
--- trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/BackButtonTest.java (rev 0)
+++ trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/BackButtonTest.java 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,102 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, 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.seam.example.common.test.booking.selenium;
+
+import org.testng.annotations.Test;
+
+import static org.testng.AssertJUnit.*;
+
+/**
+ * This tests verifies that the example can cleanly handle backbuttoning in
+ * various situations
+ *
+ * @author jbalunas
+ * @author jharting
+ *
+ */
+public class BackButtonTest extends SeleniumBookingTest {
+
+ String hotelName = "Mar";
+
+ /**
+ * Tries whether backbuttoning after logout is cleanly handled.
+ */
+ @Test
+ public void backbuttoningAfterLogoutTest() {
+ enterSearchQuery(hotelName);
+ logout();
+ // goBack() does not work with konqueror
+ browser.goBack();
+ browser.waitForPageToLoad(TIMEOUT);
+ if (isLoggedIn()) {
+ browser.click(getProperty("SETTINGS"));
+ browser.waitForPageToLoad(TIMEOUT);
+ assertEquals("Backbuttoning failed.", getProperty("PAGE_TITLE"),
+ browser.getTitle());
+ assertFalse("Backbuttoning handled bad way.", isLoggedIn());
+ }
+ }
+
+ /**
+ * Tries whether backbuttoning after logout is cleanly handled. Using ajax
+ * functionality after logout.
+ */
+ @Test
+ public void backbuttoningAfterLogoutWithAjaxTest() {
+ enterSearchQuery(hotelName);
+ logout();
+ // goBack() does not work with konqueror
+ // browser.refresh();
+ // browser.waitForPageToLoad(TIMEOUT);
+ browser.goBack();
+ browser.waitForPageToLoad(TIMEOUT);
+ if (isLoggedIn()) {
+ browser.click(getProperty("SEARCH_SUBMIT"));
+ browser.waitForPageToLoad(TIMEOUT);
+ assertEquals("Backbuttoning failed.", getProperty("PAGE_TITLE"),
+ browser.getTitle());
+ assertFalse("User should not be logged in by now.", isLoggedIn());
+ }
+ }
+
+ /**
+ * Verifies that backbuttoning after ending conversation is handled cleanly.
+ */
+ @Test
+ public void backbuttoningAfterConversationEndTest() {
+ // start booking
+ enterSearchQuery(hotelName);
+ browser.click(getProperty("SEARCH_RESULT_TABLE_FIRST_ROW_LINK"));
+ browser.waitForPageToLoad(TIMEOUT);
+ browser.click(getProperty("BOOKING_BOOK"));
+ browser.waitForPageToLoad(TIMEOUT);
+ // cancel booking
+ browser.click(getProperty("HOTEL_CANCEL"));
+ browser.waitForPageToLoad(TIMEOUT);
+ browser.goBack();
+ browser.waitForPageToLoad(TIMEOUT);
+ browser.refresh();
+ browser.waitForPageToLoad(TIMEOUT);
+ assertTrue("Conversation failure.", browser
+ .isTextPresent(getProperty("CONVERSATION_TIMEOUT_MESSAGE")));
+ }
+}
Property changes on: trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/BackButtonTest.java
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/ChangePasswordTest.java
===================================================================
--- trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/ChangePasswordTest.java (rev 0)
+++ trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/ChangePasswordTest.java 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,110 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, 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.seam.example.common.test.booking.selenium;
+
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import static org.testng.AssertJUnit.*;
+
+/**
+ * This class tests change password funcionality.
+ *
+ * @author jbalunas
+ * @author jharting
+ *
+ */
+public class ChangePasswordTest extends SeleniumBookingTest {
+
+ private final static String LONG_TEXT = "testertestertest";
+ private final static String SHORT_TEXT = "tt";
+ // overriding default values
+ private final String USERNAME = "gavin";
+ private final String PASSWORD = "foobar";
+
+ @Override
+ @BeforeMethod
+ public void setUp() {
+ startBrowser();
+ assertTrue("Login failed.", login(USERNAME, PASSWORD));
+ }
+
+ /**
+ * Verifies that changing password works well. If clean-up part of this
+ * method fails it may affect other methods.
+ */
+ @Test
+ public void changePasswordTest() {
+ changePassword("password");
+ assertTrue("Password change failed.", browser
+ .isTextPresent(getProperty("PASSWORD_UPDATED_MESSAGE")));
+ logout();
+ assertTrue("Login failed.", login(USERNAME, "password"));
+ // cleanup - set default password
+ changePassword(PASSWORD);
+ assertTrue("Password change failed.", browser
+ .isTextPresent(getProperty("PASSWORD_UPDATED_MESSAGE")));
+ logout();
+ assertTrue("Login failed.", login(USERNAME, PASSWORD));
+ }
+
+ @Test
+ public void usingDifferentPasswordsTest() {
+ changePassword("password", "password1");
+ assertTrue("Password verification failed", browser
+ .isTextPresent(getProperty("PASSWORD_REENTER_MESSAGE")));
+ }
+
+ @Test
+ public void usingEmptyPasswordsTest() {
+ changePassword("", "");
+ assertEquals("Password validation failed", 2, browser
+ .getXpathCount(getProperty("PASSWORD_VALUE_REQUIRED_MESSAGE")));
+ }
+
+ @Test
+ public void usingLongPasswordTest() {
+ changePassword(LONG_TEXT, LONG_TEXT);
+ assertTrue("Password validation failed", browser
+ .isTextPresent(getProperty("PASSWORD_LENGTH_MESSAGE")));
+ }
+
+ @Test
+ public void usingShortPasswordTest() {
+ changePassword(SHORT_TEXT, SHORT_TEXT);
+ assertTrue("Password validation failed", browser
+ .isTextPresent(getProperty("PASSWORD_LENGTH_MESSAGE")));
+ }
+
+ public void changePassword(String newPassword) {
+ changePassword(newPassword, newPassword);
+ }
+
+ public void changePassword(String newPassword, String verify) {
+ browser.click(getProperty("SETTINGS"));
+ browser.waitForPageToLoad(TIMEOUT);
+ browser.type(getProperty("PASSWORD_PASSWORD"), newPassword);
+ browser.type(getProperty("PASSWORD_VERIFY"), verify);
+ browser.click(getProperty("PASSWORD_SUBMIT"));
+ browser.waitForPageToLoad(TIMEOUT);
+ }
+}
Property changes on: trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/ChangePasswordTest.java
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/ConversationTest.java
===================================================================
--- trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/ConversationTest.java (rev 0)
+++ trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/ConversationTest.java 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,100 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, 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.seam.example.common.test.booking.selenium;
+
+import java.text.MessageFormat;
+
+import org.testng.annotations.Test;
+
+import static org.testng.AssertJUnit.*;
+
+/**
+ *
+ * @author jbalunas
+ * @author jharting
+ *
+ */
+public class ConversationTest extends SeleniumBookingTest {
+
+ private final String hotel1 = "Hotel Rouge";
+ private final String hotel2 = "Doubletree";
+
+ /**
+ * Opens two windows and tries switching over workspaces to make sure
+ * conversations work properly.
+ */
+ @Test
+ public void testConversations() {
+ // Start booking in window 1
+ browser.openWindow(getProperty("MAIN_PAGE"), "1");
+ browser.openWindow(getProperty("MAIN_PAGE"), "2");
+ browser.selectWindow("1");
+ browser.refresh();
+ browser.waitForPageToLoad(TIMEOUT);
+ if (!isLoggedIn()) {
+ login();
+ }
+ enterSearchQuery(hotel1);
+ browser.click(getProperty("SEARCH_RESULT_TABLE_FIRST_ROW_LINK"));
+ browser.waitForPageToLoad(TIMEOUT);
+ browser.click(getProperty("BOOKING_BOOK"));
+ // Find hotel in window 2
+ browser.selectWindow("2");
+ if (!isLoggedIn()) {
+ login();
+ }
+ enterSearchQuery(hotel2);
+ browser.click(getProperty("SEARCH_RESULT_TABLE_FIRST_ROW_LINK"));
+ browser.waitForPageToLoad(TIMEOUT);
+ // Reload window 1 to check whether both workspaces are displayed
+ browser.selectWindow("1");
+ browser.refresh();
+ browser.waitForPageToLoad(TIMEOUT);
+ assertEquals("#1 workspace not present in workspace table",
+ MessageFormat.format(getProperty("WORKSPACE_BOOKING_TEXT"),
+ hotel1), browser.getText(MessageFormat.format(
+ getProperty("WORKSPACE_TABLE_LINK_BY_ID"), 0)));
+ assertEquals("#2 workspace not present in workspace table",
+ MessageFormat
+ .format(getProperty("WORKSPACE_VIEW_TEXT"), hotel2),
+ browser.getText(MessageFormat.format(
+ getProperty("WORKSPACE_TABLE_LINK_BY_ID"), 1)));
+ // Switch window 1 to second workspace
+ browser.click(MessageFormat.format(
+ getProperty("WORKSPACE_TABLE_LINK_BY_ID"), 1));
+ browser.waitForPageToLoad(TIMEOUT);
+ // Switch window 1 back to first workspace
+ browser.click(MessageFormat.format(
+ getProperty("WORKSPACE_TABLE_LINK_BY_ID"), 1));
+ browser.waitForPageToLoad(TIMEOUT);
+ // End conversation in window 2
+ browser.selectWindow("2");
+ browser.click(getProperty("BOOKING_CANCEL"));
+ browser.waitForPageToLoad(TIMEOUT);
+ // Second workspace should disappear
+ browser.selectWindow("1");
+ browser.refresh();
+ browser.waitForPageToLoad(TIMEOUT);
+ assertEquals("Workspace failure.", 1, browser
+ .getXpathCount(getProperty("WORKSPACE_TABLE_ROW_COUNT")));
+ }
+}
Property changes on: trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/ConversationTest.java
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/RegistrationTest.java
===================================================================
--- trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/RegistrationTest.java (rev 0)
+++ trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/RegistrationTest.java 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,134 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, 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.seam.example.common.test.booking.selenium;
+
+import java.text.MessageFormat;
+import java.util.Date;
+
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import static org.testng.AssertJUnit.*;
+
+/**
+ * This class tests registration
+ *
+ * @author jbalunas
+ * @author jharting
+ */
+public class RegistrationTest extends SeleniumBookingTest {
+
+ private final String LONG_TEXT = "testertestertest";
+ private final String SHORT_TEXT = "tes";
+ // private final static int USER_COUNT = 3;
+ private String suffix;
+
+ public RegistrationTest() {
+ Date date = new Date();
+ // suffix is needed to allow tests to be run repeatedly
+ suffix = Long.toString(date.getTime() % 10000000);
+ }
+
+ @Override
+ @BeforeMethod
+ public void setUp() {
+ startBrowser();
+ assertTrue("Login failed.", login());
+ }
+
+ @Override
+ @AfterMethod
+ public void tearDown() {
+ browser.stop();
+ }
+
+ @Test
+ public void testVerify() {
+ register("tester", "tester", "password", "password1");
+ // assertTrue("Error message expected.",
+ // browser.isElementPresent(get("REGISTRATION_VERIFY_MESSAGE")));
+ assertTrue("Password verification failed.", browser
+ .isTextPresent(getProperty("REGISTRATION_REENTER_MESSAGE")));
+ }
+
+ @Test
+ public void testLongText() {
+ register(LONG_TEXT, "tester", "password", "password");
+ assertTrue("Username validation failed.", browser
+ .isTextPresent(getProperty("REGISTRATION_LENGTH_MESSAGE")));
+ }
+
+ @Test
+ public void testShortText() {
+ register(SHORT_TEXT, "tester", "password", "password");
+ assertTrue("Username validation failed.", browser
+ .isTextPresent(getProperty("REGISTRATION_LENGTH_MESSAGE")));
+ }
+
+ @Test
+ public void testDuplicateUser() {
+ String username = "tester" + suffix;
+ register(username, "tester", "password", "password");
+ assertTrue("Navigation after succesful registration failed.", browser
+ .getLocation().contains(getProperty("HOME_PAGE")));
+ // assertTrue("Registration failed.",
+ // browser.isTextPresent(MessageFormat.format(get("REGISTRATION_SUCCESSFUL_MESSAGE"),
+ // username)));
+ register(username, "tester", "password", "password");
+ assertTrue("Registered 2 users with the same username.", browser
+ .isTextPresent(MessageFormat.format(
+ getProperty("REGISTRATION_USER_EXISTS_MESSAGE"), username)));
+ }
+
+ @Test
+ public void standardRegistrationTest() {
+ String username = "homer" + suffix;
+ String name = "Homer Simpson";
+ String password = "password";
+ register(username, name, password, password);
+ assertTrue("Navigation after succesful registration failed.", browser
+ .getLocation().contains(getProperty("HOME_PAGE")));
+ // assertTrue("Registration failed.",
+ // browser.isTextPresent(MessageFormat.format(get("REGISTRATION_SUCCESSFUL_MESSAGE"),
+ // username)));
+ // try logging in to verify registration
+ assertTrue("Login failed.", login(username, password));
+ }
+
+ private void register(String username, String name, String password,
+ String verify) {
+ browser.open(getProperty("HOME_PAGE"));
+ browser.waitForPageToLoad(TIMEOUT);
+ assertEquals("Unable to load home page.", getProperty("PAGE_TITLE"), browser
+ .getTitle());
+ browser.click(getProperty("REGISTRATION"));
+ browser.waitForPageToLoad(TIMEOUT);
+ browser.type(getProperty("REGISTRATION_USERNAME"), username);
+ browser.type(getProperty("REGISTRATION_NAME"), name);
+ browser.type(getProperty("REGISTRATION_PASSWORD"), password);
+ browser.type(getProperty("REGISTRATION_VERIFY"), verify);
+ browser.click(getProperty("REGISTRATION_SUBMIT"));
+ browser.waitForPageToLoad(TIMEOUT);
+ }
+
+}
Property changes on: trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/RegistrationTest.java
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/SeleniumBookingTest.java
===================================================================
--- trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/SeleniumBookingTest.java (rev 0)
+++ trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/SeleniumBookingTest.java 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,129 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, 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.seam.example.common.test.booking.selenium;
+
+import static org.testng.AssertJUnit.assertTrue;
+import static org.testng.AssertJUnit.fail;
+
+import org.jboss.seam.example.common.test.selenium.SeamSeleniumTest;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+
+import com.thoughtworks.selenium.Wait;
+
+/**
+ *
+ * @author jbalunas
+ * @author jharting
+ *
+ */
+public class SeleniumBookingTest extends SeamSeleniumTest {
+
+ private final String DEFAULT_USERNAME = "demo";
+ private final String DEFAULT_PASSWORD = "demo";
+
+ @Override
+ @BeforeMethod
+ public void setUp() {
+ startBrowser();
+ assertTrue("Login failed.", login());
+ }
+
+ @Override
+ @AfterMethod
+ public void tearDown() {
+ logout();
+ browser.stop();
+ }
+
+ public boolean login() {
+ return login(DEFAULT_USERNAME, DEFAULT_PASSWORD);
+ }
+
+ public boolean login(String username, String password) {
+ if (isLoggedIn()) {
+ fail("User already logged in.");
+ }
+ browser.open(getProperty("HOME_PAGE"));
+ browser.waitForPageToLoad(TIMEOUT);
+ if (!browser.getTitle().equals(getProperty("PAGE_TITLE"))) {
+ return false;
+ }
+ browser.type(getProperty("LOGIN_USERNAME_FIELD"), username);
+ browser.type(getProperty("LOGIN_PASSWORD_FIELD"), password);
+ browser.click(getProperty("LOGIN_SUBMIT"));
+ browser.waitForPageToLoad(TIMEOUT);
+ return isLoggedIn();
+ }
+
+ public void logout() {
+ if (isLoggedIn()) {
+ browser.click(getProperty("LOGOUT"));
+ browser.waitForPageToLoad(TIMEOUT);
+ }
+ }
+
+ public boolean isLoggedIn() {
+ return browser.isElementPresent(getProperty("LOGOUT"));
+ }
+
+ public void enterSearchQuery(String query) {
+ if (getProperty("USE_AJAX_SEARCH").equalsIgnoreCase("FALSE")) {
+ enterSearchQueryWithoutAJAX(query);
+ } else {
+ if (getProperty("USE_SEARCH_BUTTON").equalsIgnoreCase("TRUE")) {
+ enterSearchQueryUsingAJAX(query, true);
+ } else {
+ enterSearchQueryUsingAJAX(query, false);
+ }
+ }
+ }
+
+ public void enterSearchQueryUsingAJAX(String query, boolean click) {
+ browser.type(getProperty("SEARCH_STRING_FIELD"), "");
+ browser.type(getProperty("SEARCH_STRING_FIELD"), query.substring(0, query
+ .length() - 1));
+ browser.typeKeys(getProperty("SEARCH_STRING_FIELD"), query.substring(query
+ .length() - 1));
+ if (click) {
+ browser.click(getProperty("SEARCH_SUBMIT"));
+ }
+ new Wait() {
+ public boolean until() {
+ return !browser.isVisible(getProperty("SPINNER"));
+ }
+ }.wait("Spinner hasn't come out.");
+ new Wait() {
+ public boolean until() {
+ return (browser.isElementPresent(getProperty("SEARCH_RESULT_TABLE")) || browser
+ .isElementPresent(getProperty("NO_HOTELS_FOUND")));
+ }
+ }.wait("Search results not found.");
+ }
+
+ public void enterSearchQueryWithoutAJAX(String query) {
+ browser.type(getProperty("SEARCH_STRING_FIELD"), "");
+ browser.type(getProperty("SEARCH_STRING_FIELD"), query);
+ browser.click(getProperty("SEARCH_SUBMIT"));
+ browser.waitForPageToLoad(TIMEOUT);
+ }
+}
Property changes on: trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/SeleniumBookingTest.java
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/SimpleBookingTest.java
===================================================================
--- trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/SimpleBookingTest.java (rev 0)
+++ trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/SimpleBookingTest.java 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,193 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, 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.seam.example.common.test.booking.selenium;
+
+import java.text.MessageFormat;
+
+import org.testng.annotations.Test;
+
+import static org.testng.AssertJUnit.*;
+
+/**
+ * This class tests booking functionality of the example.
+ *
+ * @author jbalunas
+ * @author jharting
+ *
+ */
+public class SimpleBookingTest extends SeleniumBookingTest {
+
+ private final String EXPECTED_NAME = "Demo User";
+ private final String CREDIT_CARD = "0123456789012345";
+ private final String CREDIT_CARD_NAME = "visa";
+
+ /**
+ * Tries searching for non existing hotel.
+ */
+ @Test(enabled = true)
+ public void invalidSearchStringTest() {
+ enterSearchQuery("NonExistingHotel");
+ assertTrue("Search failed.", browser
+ .isElementPresent(getProperty("NO_HOTELS_FOUND")));
+ }
+
+ /**
+ * Simply books hotel.
+ */
+ @Test(enabled = true)
+ public void simpleBookingTest() {
+ String hotelName = "Swissotel";
+ int confirmationNumber;
+ confirmationNumber = bookHotel(hotelName);
+ assertTrue("Booking with confirmation number " + confirmationNumber
+ + " not found.", browser.isElementPresent(MessageFormat.format(
+ getProperty("BOOKING_TABLE_ITEM"), confirmationNumber, hotelName)));
+ }
+
+ /**
+ * Tries booking hotel with incorrect dates.
+ */
+ @Test(enabled = true)
+ public void invalidDatesTest() {
+ String hotelName = "Swissotel";
+ enterSearchQuery(hotelName);
+ browser.click(getProperty("SEARCH_RESULT_TABLE_FIRST_ROW_LINK"));
+ browser.waitForPageToLoad(TIMEOUT);
+ // hotel page
+ browser.click(getProperty("BOOKING_BOOK"));
+ browser.waitForPageToLoad(TIMEOUT);
+ // booking page
+ String checkIn = browser.getValue(getProperty("HOTEL_CHECKIN_DATE_FIELD"));
+ String checkOut = browser.getValue(getProperty("HOTEL_CHECKOUT_DATE_FIELD"));
+ populateBookingFields();
+ // switch check in and check out date
+ browser.type(getProperty("HOTEL_CHECKIN_DATE_FIELD"), checkOut);
+ browser.type(getProperty("HOTEL_CHECKOUT_DATE_FIELD"), checkIn);
+ browser.type(getProperty("HOTEL_CREDIT_CARD"), CREDIT_CARD);
+ browser.type(getProperty("HOTEL_CREDIT_CARD_NAME"), CREDIT_CARD_NAME);
+ browser.click(getProperty("HOTEL_PROCEED"));
+ browser.waitForPageToLoad(TIMEOUT);
+ assertTrue("Date verification #1 failed.", browser
+ .isTextPresent(getProperty("BOOKING_INVALID_DATE_MESSAGE1")));
+ assertTrue("Check-out date error message expected.", browser
+ .isElementPresent(getProperty("HOTEL_CHECKOUT_DATE_MESSAGE")));
+ // set check in to past
+ browser.type(getProperty("HOTEL_CHECKIN_DATE_FIELD"), "01/01/1970");
+ browser.click(getProperty("HOTEL_PROCEED"));
+ browser.waitForPageToLoad(TIMEOUT);
+ assertTrue("Date verification #2 failed.", browser
+ .isTextPresent(getProperty("BOOKING_INVALID_DATE_MESSAGE2")));
+ assertTrue("Checkin-date error message expected.", browser
+ .isElementPresent(getProperty("HOTEL_CHECKIN_DATE_MESSAGE")));
+ }
+
+ /**
+ * This test verifies that user gets right confirmation number when
+ * canceling order. https://jira.jboss.org/jira/browse/JBSEAM-3288
+ */
+ @Test(enabled = true)
+ public void testJBSEAM3288() {
+ String[] hotelNames = new String[] { "Doubletree", "Hotel Rouge",
+ "Conrad Miami" };
+ int[] confirmationNumbers = new int[3];
+ // make 3 bookings
+ for (int i = 0; i < 3; i++) {
+ int confirmationNumber = bookHotel(hotelNames[i]);
+ assertNotSame("Booking process failed.", -1, confirmationNumber);
+ confirmationNumbers[i] = confirmationNumber;
+ }
+ // assert that there bookings are listed in hotel booking list
+ for (int i = 0; i < 3; i++) {
+ assertTrue("Expected booking #" + i + " not present", browser
+ .isElementPresent(MessageFormat.format(
+ getProperty("BOOKING_TABLE_ITEM"), confirmationNumbers[i],
+ hotelNames[i])));
+ }
+ // cancel all the reservations
+ for (int i = 2; i >= 0; i--) {
+ browser.click(MessageFormat.format(getProperty("BOOKING_TABLE_ITEM_LINK"),
+ confirmationNumbers[i], hotelNames[i]));
+ browser.waitForPageToLoad(TIMEOUT);
+ assertTrue("Booking canceling failed", browser
+ .isTextPresent(MessageFormat.format(
+ getProperty("BOOKING_CANCELLED_MESSAGE"),
+ confirmationNumbers[i])));
+ }
+
+ }
+
+ protected int bookHotel(String hotelName, int bed, int smoking,
+ String creditCard, String creditCardName) {
+ if (!isLoggedIn())
+ return -1;
+ if (!browser.isElementPresent(getProperty("SEARCH_SUBMIT"))) {
+ browser.open(getProperty("MAIN_PAGE"));
+ browser.waitForPageToLoad(TIMEOUT);
+ }
+ enterSearchQuery(hotelName);
+ browser.click(getProperty("SEARCH_RESULT_TABLE_FIRST_ROW_LINK"));
+ browser.waitForPageToLoad(TIMEOUT);
+ // booking page
+ // assertEquals("Booking failed.", get("PAGE_TITLE"),
+ // browser.getTitle());
+ browser.click(getProperty("BOOKING_BOOK"));
+ browser.waitForPageToLoad(TIMEOUT);
+ // hotel page
+ populateBookingFields(bed, smoking, creditCard, creditCardName);
+ browser.click(getProperty("HOTEL_PROCEED"));
+ browser.waitForPageToLoad(TIMEOUT);
+ // confirm page
+ browser.click(getProperty("HOTEL_CONFIRM"));
+ browser.waitForPageToLoad(TIMEOUT);
+ // main page
+ String message = browser.getText(getProperty("HOTEL_MESSAGE"));
+ if (message.matches(MessageFormat.format(
+ getProperty("BOOKING_CONFIRMATION_MESSAGE"), EXPECTED_NAME, hotelName))) {
+ String[] messageParts = message.split(" ");
+ int confirmationNumber = Integer
+ .parseInt(messageParts[messageParts.length - 1]);
+ return confirmationNumber;
+ } else {
+ return -1;
+ }
+ }
+
+ protected int bookHotel(String hotelName) {
+ return bookHotel(hotelName, 2, 0, CREDIT_CARD, CREDIT_CARD_NAME);
+ }
+
+ protected void populateBookingFields(int bed, int smoking,
+ String creditCard, String creditCardName) {
+ browser.select(getProperty("HOTEL_BED_FIELD"),
+ getProperty("HOTEL_BED_FIELD_SELECT_CRITERIA") + bed);
+ if (smoking == 1) {
+ browser.check(getProperty("HOTEL_SMOKING_1"));
+ } else {
+ browser.check(getProperty("HOTEL_SMOKING_2"));
+ }
+ browser.type(getProperty("HOTEL_CREDIT_CARD"), creditCard);
+ browser.type(getProperty("HOTEL_CREDIT_CARD_NAME"), creditCardName);
+ }
+
+ protected void populateBookingFields() {
+ }
+}
Property changes on: trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/booking/selenium/SimpleBookingTest.java
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/selenium/SeamSeleniumTest.java
===================================================================
--- trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/selenium/SeamSeleniumTest.java (rev 0)
+++ trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/selenium/SeamSeleniumTest.java 2008-10-29 21:05:06 UTC (rev 9464)
@@ -0,0 +1,105 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, 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.seam.example.common.test.selenium;
+
+import java.io.IOException;
+import java.util.Properties;
+
+import static org.testng.AssertJUnit.*;
+
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.BeforeTest;
+import org.testng.annotations.Parameters;
+
+import com.thoughtworks.selenium.DefaultSelenium;
+import com.thoughtworks.selenium.Selenium;
+import com.thoughtworks.selenium.Wait;
+
+/**
+ * Base class for all Seam based selenium tests.
+ * @author jbalunas
+ *
+ */
+public abstract class SeamSeleniumTest {
+
+ private static String HOST;
+ private static int PORT;
+ private static String BROWSER;
+ private static String BROWSER_URL;
+ private static String SPEED;
+ public static String TIMEOUT;
+ private static String PROPERTY_FILE;
+ private static Properties properties = new Properties();
+ private static boolean propertiesLoaded = false;
+
+ protected Selenium browser;
+
+ @BeforeTest
+ @Parameters( { "selenium.host", "selenium.server.port", "selenium.browser",
+ "selenium.browser.url", "selenium.speed", "selenium.timeout",
+ "PROPERTY_FILE" })
+ public void setParameters(String host, String port, String browser,
+ String browserUrl, String speed, String timeout, String propertyFile) {
+ HOST = host;
+ PORT = Integer.parseInt(port);
+ BROWSER = browser;
+ BROWSER_URL = browserUrl;
+ SPEED = speed;
+ TIMEOUT = timeout;
+ PROPERTY_FILE = propertyFile;
+ }
+
+ @BeforeMethod
+ public void setUp() {
+ startBrowser();
+ }
+
+ @AfterMethod
+ public void tearDown() {
+ stopBrowser(browser);
+ }
+
+ public void startBrowser() {
+ browser = new DefaultSelenium(HOST, PORT, BROWSER, BROWSER_URL);
+ browser.start();
+ browser.allowNativeXpath("false");
+ browser.setSpeed(SPEED);
+ }
+
+ public void stopBrowser(Selenium browser) {
+ browser.stop();
+ }
+
+ public String getProperty(String key) {
+ if (!propertiesLoaded) {
+ try {
+ properties.load(SeamSeleniumTest.class.getResourceAsStream(PROPERTY_FILE));
+ propertiesLoaded = true;
+ } catch (IOException e) {
+ e.printStackTrace();
+ fail("Property file not found.");
+ }
+ }
+ return properties.getProperty(key, "Property not found: " + key);
+ }
+}
Property changes on: trunk/src/test/ftest/src/main/org/jboss/seam/example/common/test/selenium/SeamSeleniumTest.java
___________________________________________________________________
Name: svn:executable
+ *
16 years, 2 months
Seam SVN: r9463 - tags/JBoss_Seam_2_1_0_SP1.
by seam-commits@lists.jboss.org
Author: norman.richards(a)jboss.com
Date: 2008-10-29 16:54:42 -0400 (Wed, 29 Oct 2008)
New Revision: 9463
Modified:
tags/JBoss_Seam_2_1_0_SP1/readme.txt
Log:
date
Modified: tags/JBoss_Seam_2_1_0_SP1/readme.txt
===================================================================
--- tags/JBoss_Seam_2_1_0_SP1/readme.txt 2008-10-29 20:04:08 UTC (rev 9462)
+++ tags/JBoss_Seam_2_1_0_SP1/readme.txt 2008-10-29 20:54:42 UTC (rev 9463)
@@ -1,7 +1,7 @@
JBoss Seam - Contextual Component framework for Java EE 5
=========================================================
-version 2.1.0.SP1, November 2008
+version 2.1.0.SP1, October 2008
This software is distributed under the terms of the FSF Lesser Gnu
Public License (see lgpl.txt).
16 years, 2 months
Seam SVN: r9462 - tags/JBoss_Seam_2_1_0_SP1.
by seam-commits@lists.jboss.org
Author: norman.richards(a)jboss.com
Date: 2008-10-29 16:04:08 -0400 (Wed, 29 Oct 2008)
New Revision: 9462
Modified:
tags/JBoss_Seam_2_1_0_SP1/changelog.txt
Log:
changelog
Modified: tags/JBoss_Seam_2_1_0_SP1/changelog.txt
===================================================================
--- tags/JBoss_Seam_2_1_0_SP1/changelog.txt 2008-10-29 11:25:06 UTC (rev 9461)
+++ tags/JBoss_Seam_2_1_0_SP1/changelog.txt 2008-10-29 20:04:08 UTC (rev 9462)
@@ -1,6 +1,18 @@
JBoss Seam Changelog
====================
+Release Notes - Seam - Version 2.1.0.SP1
+
+** Bug
+ * [JBSEAM-3585] - seam-gen broken for cygwin and for paths containing spaces on Windows
+ * [JBSEAM-3617] - seam-gen generate command throws exception
+ * [JBSEAM-3618] - CNFE javax.ejb.PostActivate with non-ejb3 seam app in websphere v6.1.0.17
+ * [JBSEAM-3637] - seam-gen should not attempt to download jaxb-api.jar from Maven repository (offline requirement)
+
+** Feature Request
+ * [JBSEAM-3620] - UIExcelExport artifacts still in in excel module
+
+
Release Notes - Seam - Version 2.1.0.GA
** Bug
16 years, 2 months
Seam SVN: r9460 - in tags/JBoss_Seam_2_1_0_SP1: seam-gen and 1 other directory.
by seam-commits@lists.jboss.org
Author: norman.richards(a)jboss.com
Date: 2008-10-28 21:46:15 -0400 (Tue, 28 Oct 2008)
New Revision: 9460
Modified:
tags/JBoss_Seam_2_1_0_SP1/build/gen.pom.xml
tags/JBoss_Seam_2_1_0_SP1/build/root.pom.xml
tags/JBoss_Seam_2_1_0_SP1/seam-gen/build.xml
Log:
second try to merge 9448:9449 from trunk
Modified: tags/JBoss_Seam_2_1_0_SP1/build/gen.pom.xml
===================================================================
--- tags/JBoss_Seam_2_1_0_SP1/build/gen.pom.xml 2008-10-28 22:01:50 UTC (rev 9459)
+++ tags/JBoss_Seam_2_1_0_SP1/build/gen.pom.xml 2008-10-29 01:46:15 UTC (rev 9460)
@@ -70,6 +70,12 @@
<scope>runtime</scope>
</dependency>
+ <dependency>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+
</dependencies>
Modified: tags/JBoss_Seam_2_1_0_SP1/build/root.pom.xml
===================================================================
--- tags/JBoss_Seam_2_1_0_SP1/build/root.pom.xml 2008-10-28 22:01:50 UTC (rev 9459)
+++ tags/JBoss_Seam_2_1_0_SP1/build/root.pom.xml 2008-10-29 01:46:15 UTC (rev 9460)
@@ -640,6 +640,22 @@
</dependency>
<dependency>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ <version>2.1</version>
+ <exclusions>
+ <exclusion>
+ <groupId>javax.xml.stream</groupId>
+ <artifactId>stax-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>javax.activation</groupId>
+ <artifactId>activation</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>1.5.4</version>
Modified: tags/JBoss_Seam_2_1_0_SP1/seam-gen/build.xml
===================================================================
--- tags/JBoss_Seam_2_1_0_SP1/seam-gen/build.xml 2008-10-28 22:01:50 UTC (rev 9459)
+++ tags/JBoss_Seam_2_1_0_SP1/seam-gen/build.xml 2008-10-29 01:46:15 UTC (rev 9460)
@@ -606,18 +606,8 @@
<fileset file="${driver.jar}"/>
</copy>
- <!-- we must use an endorsed jars directory for running SeamTest under Java 6 -->
- <artifact:dependencies filesetId="endorsed.fileset" versionsId="endorsed.versions">
- <dependency groupId="javax.xml.bind" artifactId="jaxb-api" version="2.1">
- <exclusion groupId="javax.xml.stream" artifactId="stax-api"/>
- <exclusion groupId="javax.activation" artifactId="activation"/>
- </dependency>
- <remoteRepository refId="repository.jboss.org"/>
- </artifact:dependencies>
- <copy todir="${project.home}/lib/endorsed" overwrite="true">
- <fileset refid="endorsed.fileset"/>
- <mapper classpathref="maven-ant-tasks.classpath" classname="org.apache.maven.artifact.ant.VersionMapper" from="${endorsed.versions}" to="flatten"/>
- </copy>
+ <!-- we must use an endorsed jars directory containing JAXB 2.1 for running SeamTest under Java 6 -->
+ <copy todir="${project.home}/lib/endorsed" file="${seam.dir}/lib/gen/jaxb-api.jar" overwrite="true"/>
<echo message="Copying JBoss Embedded configuration to the ${project.home}/bootstrap directory..."/>
<copy todir="${project.home}/bootstrap" overwrite="true">
16 years, 2 months
Seam SVN: r9459 - in trunk/seam-gen: view and 1 other directory.
by seam-commits@lists.jboss.org
Author: dan.j.allen
Date: 2008-10-28 18:01:50 -0400 (Tue, 28 Oct 2008)
New Revision: 9459
Modified:
trunk/seam-gen/icefaces/view/edit.xhtml
trunk/seam-gen/icefaces/view/edit.xhtml.ftl
trunk/seam-gen/view/edit.xhtml
trunk/seam-gen/view/edit.xhtml.ftl
Log:
change name of Done button to Cancel when updating a managed entity
Modified: trunk/seam-gen/icefaces/view/edit.xhtml
===================================================================
--- trunk/seam-gen/icefaces/view/edit.xhtml 2008-10-28 21:58:47 UTC (rev 9458)
+++ trunk/seam-gen/icefaces/view/edit.xhtml 2008-10-28 22:01:50 UTC (rev 9459)
@@ -44,8 +44,8 @@
immediate="true"
rendered="#{@homeName@.managed}"/>
<s:button propagation="end"
- id="edit@homeName@done"
- value="Done"
+ id="edit@homeName@cancel"
+ value="Cancel"
view="/@masterPageName@.xhtml"/>
</div>
</ice:form>
Modified: trunk/seam-gen/icefaces/view/edit.xhtml.ftl
===================================================================
--- trunk/seam-gen/icefaces/view/edit.xhtml.ftl 2008-10-28 21:58:47 UTC (rev 9458)
+++ trunk/seam-gen/icefaces/view/edit.xhtml.ftl 2008-10-28 22:01:50 UTC (rev 9459)
@@ -56,13 +56,13 @@
immediate="true"
rendered="${'#'}{${homeName}.managed}"/>
- <s:button id="done${homeName}" styleClass="iceCmdBtn"
- value="Done"
+ <s:button id="cancelEdit${homeName}" styleClass="iceCmdBtn"
+ value="Cancel"
propagation="end"
view="/${pageName}.xhtml"
rendered="${'#'}{${homeName}.managed}"/>
- <s:button id="cancel${homeName}" styleClass="iceCmdBtn"
+ <s:button id="cancelAdd${homeName}" styleClass="iceCmdBtn"
value="Cancel"
propagation="end"
view="/${'#'}{empty ${componentName}From ? '${masterPageName}' : ${componentName}From}.xhtml"
Modified: trunk/seam-gen/view/edit.xhtml
===================================================================
--- trunk/seam-gen/view/edit.xhtml 2008-10-28 21:58:47 UTC (rev 9458)
+++ trunk/seam-gen/view/edit.xhtml 2008-10-28 22:01:50 UTC (rev 9459)
@@ -40,8 +40,8 @@
immediate="true"
rendered="#{@homeName@.managed}"/>
<s:button propagation="end"
- id="done"
- value="Done"
+ id="cancel"
+ value="Cancel"
view="/@masterPageName@.xhtml"/>
</div>
Modified: trunk/seam-gen/view/edit.xhtml.ftl
===================================================================
--- trunk/seam-gen/view/edit.xhtml.ftl 2008-10-28 21:58:47 UTC (rev 9458)
+++ trunk/seam-gen/view/edit.xhtml.ftl 2008-10-28 22:01:50 UTC (rev 9459)
@@ -51,13 +51,13 @@
immediate="true"
rendered="${'#'}{${homeName}.managed}"/>
- <s:button id="done"
- value="Done"
+ <s:button id="cancelEdit"
+ value="Cancel"
propagation="end"
view="/${pageName}.xhtml"
rendered="${'#'}{${homeName}.managed}"/>
- <s:button id="cancel"
+ <s:button id="cancelAdd"
value="Cancel"
propagation="end"
view="/${'#'}{empty ${componentName}From ? '${masterPageName}' : ${componentName}From}.xhtml"
16 years, 2 months
Seam SVN: r9458 - in trunk: src/pdf/org/jboss/seam/pdf/ui and 1 other directory.
by seam-commits@lists.jboss.org
Author: dan.j.allen
Date: 2008-10-28 17:58:47 -0400 (Tue, 28 Oct 2008)
New Revision: 9458
Modified:
trunk/doc/Seam_Reference_Guide/en-US/Itext.xml
trunk/src/pdf/org/jboss/seam/pdf/ui/UICategoryChartBase.java
Log:
JBSEAM-2463 - useful for disabling border on legend
Modified: trunk/doc/Seam_Reference_Guide/en-US/Itext.xml
===================================================================
--- trunk/doc/Seam_Reference_Guide/en-US/Itext.xml 2008-10-28 19:17:24 UTC (rev 9457)
+++ trunk/doc/Seam_Reference_Guide/en-US/Itext.xml 2008-10-28 21:58:47 UTC (rev 9458)
@@ -1471,6 +1471,12 @@
<listitem>
<para>
+ <literal>legendOutlinePaint</literal>— The color of the border around
+ the legend.</para>
+ </listitem>
+
+ <listitem>
+ <para>
<literal>orientation</literal> — The orientation of the plot, either
<code>vertical</code> (the default) or <code>horizontal</code>. </para>
</listitem>
@@ -1670,6 +1676,12 @@
<listitem>
<para>
+ <literal>legendOutlinePaint</literal>— The color of the border around
+ the legend.</para>
+ </listitem>
+
+ <listitem>
+ <para>
<literal>orientation</literal> — The orientation of the plot, either
<code>vertical</code> (the default) or <code>horizontal</code>. </para>
</listitem>
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UICategoryChartBase.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UICategoryChartBase.java 2008-10-28 19:17:24 UTC (rev 9457)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UICategoryChartBase.java 2008-10-28 21:58:47 UTC (rev 9458)
@@ -2,6 +2,7 @@
import javax.faces.context.FacesContext;
+import org.jfree.chart.block.BlockBorder;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.Plot;
import org.jfree.chart.renderer.category.CategoryItemRenderer;
@@ -21,6 +22,7 @@
private String legendBackgroundPaint;
private String legendItemPaint;
+ private String legendOutlinePaint;
private String domainAxisLabel;
private String domainAxisPaint;
@@ -134,6 +136,14 @@
this.legendItemPaint = legendItemPaint;
}
+ public String getLegendOutlinePaint() {
+ return (String) valueBinding("legendOutlinePaint", legendOutlinePaint);
+ }
+
+ public void setLegendOutlinePaint(String legendOutlinePaint) {
+ this.legendOutlinePaint = legendOutlinePaint;
+ }
+
public String getDomainGridlinePaint()
{
return (String) valueBinding("domainGridlinePaint", domainGridlinePaint);
@@ -229,22 +239,23 @@
titlePaint = (String) values[6];
legendBackgroundPaint = (String) values[7];
legendItemPaint = (String) values[8];
- domainAxisLabel = (String) values[9];
- domainAxisPaint = (String) values[10];
- domainGridlinesVisible = (Boolean) values[11];
- domainGridlinePaint = (String) values[12];
- domainGridlineStroke = (String) values[13];
- rangeAxisLabel = (String) values[14];
- rangeAxisPaint = (String) values[15];
- rangeGridlinesVisible = (Boolean) values[16];
- rangeGridlinePaint = (String) values[17];
- rangeGridlineStroke = (String) values[18];
+ legendOutlinePaint = (String) values[9];
+ domainAxisLabel = (String) values[10];
+ domainAxisPaint = (String) values[11];
+ domainGridlinesVisible = (Boolean) values[12];
+ domainGridlinePaint = (String) values[13];
+ domainGridlineStroke = (String) values[14];
+ rangeAxisLabel = (String) values[15];
+ rangeAxisPaint = (String) values[16];
+ rangeGridlinesVisible = (Boolean) values[17];
+ rangeGridlinePaint = (String) values[18];
+ rangeGridlineStroke = (String) values[19];
}
@Override
public Object saveState(FacesContext context)
{
- Object[] values = new Object[19];
+ Object[] values = new Object[20];
values[0] = super.saveState(context);
values[1] = orientation;
values[2] = legend;
@@ -254,16 +265,17 @@
values[6] = titlePaint;
values[7] = legendBackgroundPaint;
values[8] = legendItemPaint;
- values[9] = domainAxisLabel;
- values[10] = domainAxisPaint;
- values[11] = domainGridlinesVisible;
- values[12] = domainGridlinePaint;
- values[13] = domainGridlineStroke;
- values[14] = rangeAxisLabel;
- values[15] = rangeAxisPaint;
- values[16] = rangeGridlinesVisible;
- values[17] = rangeGridlinePaint;
- values[18] = rangeGridlineStroke;
+ values[9] = legendOutlinePaint;
+ values[10] = domainAxisLabel;
+ values[11] = domainAxisPaint;
+ values[12] = domainGridlinesVisible;
+ values[13] = domainGridlinePaint;
+ values[14] = domainGridlineStroke;
+ values[15] = rangeAxisLabel;
+ values[16] = rangeAxisPaint;
+ values[17] = rangeGridlinesVisible;
+ values[18] = rangeGridlinePaint;
+ values[19] = rangeGridlineStroke;
return values;
}
@@ -379,6 +391,9 @@
{
chartLegend.setBackgroundPaint(findColor(getLegendBackgroundPaint()));
}
+ if (findColor(getLegendOutlinePaint())!= null) {
+ chartLegend.setBorder(new BlockBorder(findColor(getLegendOutlinePaint())));
+ }
if (findColor(getLegendItemPaint()) != null)
{
chartLegend.setItemPaint(findColor(getLegendItemPaint()));
16 years, 2 months
Seam SVN: r9457 - trunk/bootstrap.
by seam-commits@lists.jboss.org
Author: dan.j.allen
Date: 2008-10-28 15:17:24 -0400 (Tue, 28 Oct 2008)
New Revision: 9457
Modified:
trunk/bootstrap/log4j.xml
Log:
Ajax4jsf makes too much noise during tests...tone it down
Modified: trunk/bootstrap/log4j.xml
===================================================================
--- trunk/bootstrap/log4j.xml 2008-10-28 19:14:33 UTC (rev 9456)
+++ trunk/bootstrap/log4j.xml 2008-10-28 19:17:24 UTC (rev 9457)
@@ -46,6 +46,12 @@
</category>
-->
+ <!-- Ajax4jsf is too noisy -->
+ <category name="org.ajax4jsf.cache">
+ <priority value="WARN"/>
+ </category>
+
+
<!-- ############### Seam logging ################### -->
<category name="org.jboss.seam">
<priority value="WARN"/>
16 years, 2 months