continuum-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From c...@apache.org
Subject svn commit: r834357 [1/7] - in /continuum/branches/continuum-1.3.x/continuum-webapp-test: ./ src/site/ src/site/apt/ src/test/it/org/apache/continuum/web/test/ src/test/resources/ src/test/testng/config/ src/test/testng/org/apache/continuum/web/test/ s...
Date Tue, 10 Nov 2009 05:38:03 GMT
Author: ctan
Date: Tue Nov 10 05:38:01 2009
New Revision: 834357

URL: http://svn.apache.org/viewvc?rev=834357&view=rev
Log:
merge -r 760765:830016 of continuum-webapp-test


Added:
    continuum/branches/continuum-1.3.x/continuum-webapp-test/junit-pom.xml
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/site/
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/site/apt/
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/site/apt/index.apt
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/config/testng-multienvironment.xml
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AntProjectTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildAgentsTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTemplateTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildEnvironmentTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ConfigurationTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/InstallationTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/LocalRepositoriesTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenOneProjectTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/PurgeTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/QueueTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ScheduleTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/SetupSelenium.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ShellProjectTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/UserRolesManagementTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/XPathExpressionUtil.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/listener/
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/listener/CaptureScreenShotsListener.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractBuildAgentsTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractBuildDefinitionTemplateTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractBuildEnvironmentTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractBuildQueueTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractConfigurationTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractContinuumTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractInstallationTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractLocalRepositoryTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractNotifierTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractPurgeTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractScheduleTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractSeleniumTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractUserRolesManagementTest.java
Modified:
    continuum/branches/continuum-1.3.x/continuum-webapp-test/Readme.txt
    continuum/branches/continuum-1.3.x/continuum-webapp-test/it-pom.xml
    continuum/branches/continuum-1.3.x/continuum-webapp-test/pom.xml
    continuum/branches/continuum-1.3.x/continuum-webapp-test/pom2.xml
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AbstractContinuumTestCase.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AbstractSeleniumTestCase.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AccountSecurityTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AddMavenOneProjectTestCase.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AddMavenTwoProjectTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AntTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/MyAccountTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/ProjectGroupTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/SchedulesPageTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/resources/it.properties
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/resources/testng.properties
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/config/testng.xml
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AboutTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AbstractContinuumTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AbstractSeleniumTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/LoginTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenTwoProjectTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MyAccountTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/NotifierTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ProjectGroupTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/tomcat5x/conf/catalina.policy
    continuum/branches/continuum-1.3.x/continuum-webapp-test/testng-pom.xml

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/Readme.txt
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/Readme.txt?rev=834357&r1=834356&r2=834357&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/Readme.txt (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/Readme.txt Tue Nov 10 05:38:01 2009
@@ -6,19 +6,34 @@
  * in Selenium IDE, modify the Base URL if necessary (for example, http://localhost:8080/continuum)
  * in Selenium IDE, click the 'Play entire test suite' icon
 
-Run Selenium tests in src/test/java with Maven and Cargo using support for multiple data sources
- * modify src/test/resources/it.properties as needed
+Run Selenium tests in src/test/testNG with Maven, TestNG and Cargo
+ * Start Continuum
+ * modify src/test/resources/testng.properties as needed
  * mvn clean install
 
-Run Selenium tests in src/test/it with Maven and Cargo with alternate configuration
+Run Selenium tests against an existing Continuum instance
+  * mvn clean install -DbaseUrl=http://localhost:9595/continuum
+
+  (This skips the Cargo plugin configuration that starts a container with the Continuum webapp deployed)
+
+Run Selenium tests in an alternate browser
+  * mvn clean install -Dbrowser=iexplore  (or -Dbrowser=safari or -Dbrowser=other -DbrowserPath=/path/to/browser)
+
+Change the port the embedded selenium runs on
+  * mvn clean install -DseleniumPort=4444
+
+Run Selenium tests in an running Selenium server or hub
+  * mvn clean install -DseleniumHost=localhost -DseleniumPort=4444
+
+Run Selenium tests in src/test/it with Maven, JUnit and Cargo
  * modify src/test/resources/it.properties as needed
- * mvn clean install -f it-pom.xml
- 
-Run Selenium tests in src/test/testNG with Maven and testNG
- * Start Continuum
- * Config admin user for continuum application
- * modify src/test/resources/testng.properties as needed
- * mvn clean install -f testng-pom.xml
+ * mvn clean install -f junit-pom.xml
+
+Run Selenium tests in src/test/java with Maven and JUnit
+ * modify src/test/resources/it.properties as needed
+ * edit pom.xml and remove <testSourceDirectory>
+ * for snapshot version of selenium(1.0-beta-SNAPSHOT), modify settings.xml/pom.xml to point to this repository http://nexus.openqa.org/content/repositories/snapshots 
+ * mvn clean install -f junit-pom.xml
 
  Note that this does not install anything, it simply runs through the lifecycle including the integration test phases.
  More properly it would be 'mvn clean post-integration-test', but install is much shorter to type. :)
@@ -26,11 +41,6 @@
  After you have run through the lifecycle once to set up the container and webapps, you can re-start it using:
  mvn cargo:start
 
-Run Selenium teests in src/test/pom2 with Maven
- * set TOMCAT_HOME environment variable to location of Tomcat 5.5.x installation
- * modify src/test/resources/it.properties as needed
- * mvn clean install -f pom2.xml
-
 ======= OLD INSTRUCTIONS FOR src/test/it BELOW =======
 
 Test Continuum with Tomcat 5.x and firefox

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/it-pom.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/it-pom.xml?rev=834357&r1=834356&r2=834357&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/it-pom.xml (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/it-pom.xml Tue Nov 10 05:38:01 2009
@@ -1,285 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.continuum</groupId>
-    <artifactId>continuum</artifactId>
-    <version>1.3.2-SNAPSHOT</version>
-  </parent>
-  <artifactId>continuum-webapp-test</artifactId>
-  <name>Continuum Webapp Test</name>
-  <packaging>pom</packaging>
-
-  <build>
-    <testSourceDirectory>src/test/it</testSourceDirectory>
-    <testResources>
-      <testResource>
-        <directory>src/test/it-resources</directory>
-      </testResource>
-    </testResources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <source>1.5</source>
-          <target>1.5</target>
-          <verbose>true</verbose>
-        </configuration>
-        <executions>
-          <execution>
-            <goals>
-              <goal>testCompile</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <artifactId>maven-resources-plugin</artifactId>
-        <executions>
-          <execution>
-            <goals>
-              <goal>testResources</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>selenium-maven-plugin</artifactId>
-        <executions>
-          <execution>
-            <phase>pre-integration-test</phase>
-            <goals>
-              <goal>start-server</goal>
-            </goals>
-            <configuration>
-              <background>true</background>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-
-      <plugin>
-        <groupId>org.codehaus.cargo</groupId>
-        <artifactId>cargo-maven2-plugin</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <executions>
-          <execution>
-            <id>start-container</id>
-            <phase>pre-integration-test</phase>
-            <goals>
-              <goal>start</goal>
-            </goals>
-            <configuration>
-              <wait>false</wait>
-            </configuration>
-          </execution>
-          <execution>
-            <id>stop-container</id>
-            <phase>post-integration-test</phase>
-            <goals>
-                <goal>stop</goal>
-            </goals>
-          </execution>
-        </executions>
-        <configuration>
-          <container>
-            <containerId>${container.name}</containerId>
-            <zipUrlInstaller>
-              <url>${container.url}</url>
-              <installDir>${project.build.directory}/installs</installDir>
-            </zipUrlInstaller>
-            <log>${project.build.directory}/logs/${container.name}.log</log>
-            <output>${project.build.directory}/logs/${container.name}.out</output>
-            <timeout>600000</timeout>
-            <systemProperties>
-              <appserver.base>${project.build.directory}</appserver.base>
-              <derby.system.home>${project.build.directory}</derby.system.home>
-            </systemProperties>
-          </container>
-          <configuration>
-            <home>${project.build.directory}/${install.dir}/</home>
-            <type>existing</type>
-          </configuration>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>dependency-maven-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>unzip-continuum-webapp</id>
-            <phase>generate-resources</phase>
-            <goals>
-              <goal>unpack</goal>
-            </goals>
-            <configuration>
-              <artifactItems>
-                <artifactItem>
-                  <groupId>${project.groupId}</groupId>
-                  <artifactId>continuum-webapp</artifactId>
-                  <version>${project.version}</version>
-                  <type>war</type>
-                </artifactItem>
-              </artifactItems>
-              <outputDirectory>${project.build.directory}/${install.dir}/webapps/continuum</outputDirectory>
-            </configuration>
-          </execution>
-          <execution>
-            <id>copy-container-dependencies</id>
-            <phase>generate-resources</phase>
-            <goals>
-              <goal>copy-dependencies</goal>
-            </goals>
-            <configuration>
-              <overWriteReleases>false</overWriteReleases>
-              <overWriteSnapshots>true</overWriteSnapshots>
-              <excludeTransitive>false</excludeTransitive>
-              <outputDirectory>${project.build.directory}/${install.dir}/common/lib</outputDirectory>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <artifactId>maven-antrun-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>copy-container-conf</id>
-            <phase>package</phase>
-            <configuration>
-              <tasks>
-                <copy todir="${project.build.directory}/${install.dir}/webapps/continuum/META-INF/"
-                       file="src/test/${container.name}/context.xml"/>
-              </tasks>
-            </configuration>
-            <goals>
-              <goal>run</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>integration-tests</id>
-            <phase>integration-test</phase>
-            <goals>
-              <goal>test</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-  <dependencies>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>3.8.1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.openqa.selenium.client-drivers</groupId>
-      <artifactId>selenium-java-client-driver</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.openqa.selenium.client-drivers</groupId>
-      <artifactId>selenium-java-client-driver</artifactId>
-      <version>0.8.1</version>
-      <scope>test</scope>
-    </dependency>
-
-    <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-utils</artifactId>
-      <version>1.4</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.openqa.selenium.server</groupId>
-      <artifactId>selenium-server</artifactId>
-      <version>0.8.1</version>
-      <scope>test</scope>
-    </dependency>
-
-    <!-- container dependencies -->
-    <dependency>
-      <groupId>org.apache.derby</groupId>
-       <artifactId>derby</artifactId>
-       <version>10.1.3.1</version>
-    </dependency>
-    <dependency>
-      <groupId>javax.mail</groupId>
-      <artifactId>mail</artifactId>
-      <version>1.4</version>
-    </dependency>
-    <dependency>
-      <groupId>javax.activation</groupId>
-      <artifactId>activation</artifactId>
-      <version>1.1</version>
-    </dependency>
-
-  </dependencies>
-
-  <profiles>
-    <profile>
-      <id>tomcat5x</id>
-      <activation>
-        <activeByDefault>true</activeByDefault>
-      </activation>
-      <properties>
-        <container.name>tomcat5x</container.name>
-        <container.url>http://apache.mirrors.redwire.net/tomcat/tomcat-5/v5.5.27/bin/apache-tomcat-5.5.27.zip</container.url>
-      </properties>
-    </profile>
-    <profile>
-      <id>firefox</id>
-      <activation>
-        <activeByDefault>true</activeByDefault>
-      </activation>
-      <properties>
-        <browser>*firefox</browser>
-      </properties>
-    </profile>
-    <profile>
-      <id>iexplore</id>
-      <properties>
-        <browser>*iexplore</browser>
-      </properties>
-    </profile>
-    <profile>
-      <id>otherbrowser</id>
-      <properties>
-        <browser>*custom ${browserPath}</browser>
-      </properties>
-    </profile>
-
-  </profiles>
-  
-  <properties>
-    <install.dir>installs/apache-tomcat-5.5.27/apache-tomcat-5.5.27</install.dir>
-  </properties>
-
-</project>

Added: continuum/branches/continuum-1.3.x/continuum-webapp-test/junit-pom.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/junit-pom.xml?rev=834357&view=auto
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/junit-pom.xml (added)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/junit-pom.xml Tue Nov 10 05:38:01 2009
@@ -0,0 +1,324 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.continuum</groupId>
+    <artifactId>continuum</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>continuum-webapp-test</artifactId>
+  <name>Continuum :: Webapp Tests</name>
+  <packaging>pom</packaging>
+
+  <repositories>
+    <repository>
+      <id>openqa-snapshots</id>
+      <url>http://nexus.openqa.org/content/repositories/snapshots</url>
+      <releases><enabled>false</enabled></releases>
+    </repository>
+  </repositories>
+
+  <build>
+    <testSourceDirectory>src/test/it</testSourceDirectory>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+          <verbose>true</verbose>
+        </configuration>
+        <executions>
+          <execution>
+            <goals>
+              <goal>testCompile</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <artifactId>maven-resources-plugin</artifactId>
+        <executions>
+          <execution>
+            <goals>
+              <goal>testResources</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>selenium-maven-plugin</artifactId>
+        <version>1.0-rc-1</version>
+        <executions>
+          <execution>
+            <phase>pre-integration-test</phase>
+            <goals>
+              <goal>start-server</goal>
+            </goals>
+            <configuration>
+              <background>true</background>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>integration-tests</id>
+            <phase>integration-test</phase>
+            <goals>
+              <goal>test</goal>
+            </goals>
+            <configuration>
+              <systemProperties>
+                <property>
+                  <name>browser</name>
+                  <value>${browser}</value>
+                </property>
+              </systemProperties>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <dependencies>
+    <dependency>
+      <groupId>org.openqa.selenium.client-drivers</groupId>
+      <artifactId>selenium-java-client-driver</artifactId>
+      <version>1.0-beta-SNAPSHOT</version>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>commons-logging</groupId>
+          <artifactId>commons-logging</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-utils</artifactId>
+      <version>1.4</version>
+      <scope>test</scope>
+    </dependency>
+    
+    <!-- deployables -->
+    <dependency>
+      <groupId>org.apache.continuum</groupId>
+      <artifactId>continuum-webapp</artifactId>
+      <type>war</type>
+    </dependency>
+
+    <!-- container dependencies -->
+    <dependency>
+      <groupId>org.apache.derby</groupId>
+      <artifactId>derby</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>javax.mail</groupId>
+      <artifactId>mail</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>javax.activation</groupId>
+      <artifactId>activation</artifactId>
+    </dependency>
+  </dependencies>
+
+  <profiles>
+    <profile>
+      <id>create-container</id>
+      <activation>
+        <property>
+          <name>!container</name>
+        </property>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.codehaus.cargo</groupId>
+            <artifactId>cargo-maven2-plugin</artifactId>
+            <version>1.0</version>
+            <executions>
+              <execution>
+                <id>start-container</id>
+                <phase>pre-integration-test</phase>
+                <goals>
+                  <goal>start</goal>
+                </goals>
+                <configuration>
+                  <wait>false</wait>
+                </configuration>
+              </execution>
+              <execution>
+                <id>stop-container</id>
+                <phase>post-integration-test</phase>
+                <goals>
+                  <goal>stop</goal>
+                </goals>
+              </execution>
+            </executions>
+            <configuration>
+              <container>
+                <containerId>${container.name}</containerId>
+                <zipUrlInstaller>
+                  <url>${container.url}</url>
+                  <installDir>${project.build.directory}/installs/${container.name}</installDir>
+                </zipUrlInstaller>
+                <log>${project.build.directory}/logs/${container.name}.log</log>
+                <output>${project.build.directory}/logs/${container.name}.out</output>
+                <timeout>600000</timeout>
+                <systemProperties>
+                  <appserver.base>${project.build.directory}</appserver.base>
+                  <derby.system.home>${project.build.directory}</derby.system.home>
+                </systemProperties>
+                <dependencies>
+                  <dependency>
+                    <groupId>org.apache.derby</groupId>
+                    <artifactId>derby</artifactId>
+                  </dependency>
+                  <dependency>
+                    <groupId>javax.mail</groupId>
+                    <artifactId>mail</artifactId>
+                  </dependency>
+                  <dependency>
+                    <groupId>javax.activation</groupId>
+                    <artifactId>activation</artifactId>
+                  </dependency>
+                </dependencies>
+              </container>
+              <configuration>
+                <home>${project.build.directory}/${container.name}</home>
+                <type>standalone</type>
+                <properties>
+                  <cargo.servlet.port>9595</cargo.servlet.port>
+                  <cargo.datasource.datasource.users>
+                    cargo.datasource.driver=org.apache.derby.jdbc.EmbeddedDriver|
+                    cargo.datasource.url=jdbc:derby:${project.build.directory}/databases/${container.name}/users;create=true|
+                    cargo.datasource.jndi=jdbc/users|
+                    cargo.datasource.username=sa
+                  </cargo.datasource.datasource.users>
+                  <cargo.datasource.datasource.builds>
+                    cargo.datasource.driver=org.apache.derby.jdbc.EmbeddedDriver|
+                    cargo.datasource.url=jdbc:derby:${project.build.directory}/databases/${container.name}/builds;create=true|
+                    cargo.datasource.jndi=jdbc/continuum|
+                    cargo.datasource.username=sa
+                  </cargo.datasource.datasource.builds>
+                  <cargo.resource.resource.mail>
+                    cargo.resource.name=mail/Session|
+                    cargo.resource.type=javax.mail.Session|
+                    cargo.resource.factory=org.apache.naming.factory.MailSessionFactory|
+                    cargo.resource.parameters=mail.smtp.host=localhost
+                  </cargo.resource.resource.mail>
+                </properties>
+                <deployables>
+                  <deployable>
+                    <groupId>${project.goupId}</groupId>
+                    <artifactId>continuum-webapp</artifactId>
+                    <type>war</type>
+                    <properties>
+                      <context>continuum</context>
+                    </properties>
+                  </deployable>
+                </deployables>
+              </configuration>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    <profile>
+      <id>tomcat5x</id>
+      <activation>
+        <property>
+          <name>!container</name>
+        </property>
+      </activation>
+      <properties>
+        <container.name>tomcat5x</container.name>
+        <container.url>http://apache.mirrors.redwire.net/tomcat/tomcat-5/v5.5.27/bin/apache-tomcat-5.5.27.zip
+        </container.url>
+      </properties>
+    </profile>
+    <profile>
+      <id>existing-container</id>
+      <activation>
+        <property>
+          <name>container</name>
+          <value>existing</value>
+        </property>
+      </activation>
+      <!-- edit src/test/resources/it.properties as needed -->
+    </profile>
+    <profile>
+      <id>firefox</id>
+      <activation>
+        <property>
+          <name>!browser</name>
+        </property>
+      </activation>
+      <properties>
+        <browser>*firefox</browser>
+      </properties>
+    </profile>
+    <profile>
+      <id>iexplore</id>
+      <activation>
+        <property>
+          <name>browser</name>
+          <value>iexplore</value>
+        </property>
+      </activation>
+      <properties>
+        <browser>*iexplore</browser>
+      </properties>
+    </profile>
+    <profile>
+      <id>safari</id>
+      <activation>
+        <property>
+          <name>browser</name>
+          <value>safari</value>
+        </property>
+      </activation>
+      <properties>
+        <browser>*safari</browser>
+      </properties>
+    </profile>
+    <profile>
+      <id>otherbrowser</id>
+      <activation>
+        <property>
+          <name>browser</name>
+          <value>other</value>
+        </property>
+      </activation>
+      <properties>
+        <browser>*custom ${browserPath}</browser>
+      </properties>
+    </profile>
+
+  </profiles>
+
+</project>

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/pom.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/pom.xml?rev=834357&r1=834356&r2=834357&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/pom.xml (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/pom.xml Tue Nov 10 05:38:01 2009
@@ -22,13 +22,23 @@
   <parent>
     <groupId>org.apache.continuum</groupId>
     <artifactId>continuum</artifactId>
-    <version>1.3.3-SNAPSHOT</version>
+    <version>1.3.5-SNAPSHOT</version>
   </parent>
   <artifactId>continuum-webapp-test</artifactId>
   <name>Continuum :: Webapp Tests</name>
   <packaging>pom</packaging>
 
   <build>
+    <testSourceDirectory>src/test/testng</testSourceDirectory>
+    <testResources>
+      <testResource>
+        <directory>src/test/resources</directory>
+        <filtering>true</filtering>
+        <includes>
+          <include>**/*</include>
+        </includes>
+      </testResource>
+    </testResources>
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
@@ -57,112 +67,13 @@
         </executions>
       </plugin>
       <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>selenium-maven-plugin</artifactId>
-        <executions>
-          <execution>
-            <phase>pre-integration-test</phase>
-            <goals>
-              <goal>start-server</goal>
-            </goals>
-            <configuration>
-              <background>true</background>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.codehaus.cargo</groupId>
-        <artifactId>cargo-maven2-plugin</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <executions>
-          <execution>
-            <id>start-container</id>
-            <phase>pre-integration-test</phase>
-            <goals>
-              <goal>start</goal>
-            </goals>
-            <configuration>
-              <wait>false</wait>
-            </configuration>
-          </execution>
-          <execution>
-            <id>stop-container</id>
-            <phase>post-integration-test</phase>
-            <goals>
-              <goal>stop</goal>
-            </goals>
-          </execution>
-        </executions>
-        <configuration>
-          <container>
-            <containerId>${container.name}</containerId>
-            <zipUrlInstaller>
-              <url>${container.url}</url>
-              <installDir>${project.build.directory}/installs/${container.name}</installDir>
-            </zipUrlInstaller>
-            <log>${project.build.directory}/logs/${container.name}.log</log>
-            <output>${project.build.directory}/logs/${container.name}.out</output>
-            <timeout>600000</timeout>
-            <systemProperties>
-              <appserver.base>${project.build.directory}</appserver.base>
-              <derby.system.home>${project.build.directory}</derby.system.home>
-            </systemProperties>
-            <dependencies>
-              <dependency>
-                <groupId>org.apache.derby</groupId>
-                <artifactId>derby</artifactId>
-              </dependency>
-              <dependency>
-                <groupId>javax.mail</groupId>
-                <artifactId>mail</artifactId>
-              </dependency>
-              <dependency>
-                <groupId>javax.activation</groupId>
-                <artifactId>activation</artifactId>
-              </dependency>
-            </dependencies>
-          </container>
-          <configuration>
-            <home>${project.build.directory}/${container.name}</home>
-            <type>standalone</type>
-            <properties>
-              <cargo.servlet.port>9595</cargo.servlet.port>
-              <cargo.datasource.datasource.users>
-                cargo.datasource.driver=org.apache.derby.jdbc.EmbeddedDriver|
-                cargo.datasource.url=jdbc:derby:${project.build.directory}/databases/${container.name}/users;create=true|
-                cargo.datasource.jndi=jdbc/users|
-                cargo.datasource.username=sa
-              </cargo.datasource.datasource.users>
-              <cargo.datasource.datasource.builds>
-                cargo.datasource.driver=org.apache.derby.jdbc.EmbeddedDriver|
-                cargo.datasource.url=jdbc:derby:${project.build.directory}/databases/${container.name}/builds;create=true|
-                cargo.datasource.jndi=jdbc/continuum|
-                cargo.datasource.username=sa
-              </cargo.datasource.datasource.builds>
-              <cargo.resource.resource.mail>
-                cargo.resource.name=mail/Session|
-                cargo.resource.type=javax.mail.Session|
-                cargo.resource.factory=org.apache.naming.factory.MailSessionFactory|
-                cargo.resource.parameters=mail.smtp.host=localhost
-              </cargo.resource.resource.mail>
-            </properties>
-            <deployables>
-              <deployable>
-                <groupId>${project.goupId}</groupId>
-                <artifactId>continuum-webapp</artifactId>
-                <type>war</type>
-                <properties>
-                  <context>continuum</context>
-                </properties>
-              </deployable>
-            </deployables>
-          </configuration>
-        </configuration>
-      </plugin>
-      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <suiteXmlFiles>
+            <suiteXmlFile>src/test/testng/config/testng.xml</suiteXmlFile>
+          </suiteXmlFiles>
+        </configuration>
         <executions>
           <execution>
             <id>integration-tests</id>
@@ -170,28 +81,52 @@
             <goals>
               <goal>test</goal>
             </goals>
+            <configuration>
+              <systemProperties>
+                <property>
+                  <name>baseUrl</name>
+                  <value>${baseUrl}</value>
+                </property>
+                <property>
+                  <name>browser</name>
+                  <value>${browser}</value>
+                </property>
+                <property>
+                  <name>seleniumHost</name>
+                  <value>${seleniumHost}</value>
+                </property>
+                <property>
+                  <name>seleniumPort</name>
+                  <value>${seleniumPort}</value>
+                </property>
+              </systemProperties>
+            </configuration>
           </execution>
         </executions>
       </plugin>
     </plugins>
   </build>
+
   <dependencies>
     <dependency>
-      <groupId>org.openqa.selenium.client-drivers</groupId>
-      <artifactId>selenium-java-client-driver</artifactId>
+      <groupId>org.testng</groupId>
+      <artifactId>testng</artifactId>
+      <version>5.8</version>
       <scope>test</scope>
+      <classifier>jdk15</classifier>
     </dependency>
+
     <dependency>
-      <groupId>org.openqa.selenium.client-drivers</groupId>
-      <artifactId>selenium-java-client-driver</artifactId>
-      <version>0.8.1</version>
-      <scope>test</scope>
+      <groupId>commons-io</groupId>
+      <artifactId>commons-io</artifactId>
+      <version>1.4</version>
     </dependency>
     
     <!-- deployables -->
     <dependency>
       <groupId>org.apache.continuum</groupId>
       <artifactId>continuum-webapp</artifactId>
+      <version>${project.version}</version>
       <type>war</type>
     </dependency>
 
@@ -199,33 +134,215 @@
     <dependency>
       <groupId>org.apache.derby</groupId>
       <artifactId>derby</artifactId>
+      <version>10.1.3.1</version>
     </dependency>
     <dependency>
       <groupId>javax.mail</groupId>
       <artifactId>mail</artifactId>
+      <version>1.4</version>
     </dependency>
     <dependency>
       <groupId>javax.activation</groupId>
       <artifactId>activation</artifactId>
+      <version>1.1</version>
+    </dependency>
+
+    <!-- dependencies below are for code in src/test/it -->
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-utils</artifactId>
+      <version>1.4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.seleniumhq.selenium.server</groupId>
+      <artifactId>selenium-server</artifactId>
+      <version>1.0.1</version>
+      <exclusions>
+        <exclusion>
+          <groupId>commons-logging</groupId>
+          <artifactId>commons-logging</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
+    <dependency>
+      <groupId>org.seleniumhq.selenium.client-drivers</groupId>
+      <artifactId>selenium-java-client-driver</artifactId>
+      <version>1.0.1</version>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>commons-logging</groupId>
+          <artifactId>commons-logging</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+
   </dependencies>
 
   <profiles>
     <profile>
+      <id>create-container</id>
+      <activation>
+        <property>
+          <name>!container</name>
+        </property>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.codehaus.cargo</groupId>
+            <artifactId>cargo-maven2-plugin</artifactId>
+            <version>1.0</version>
+            <executions>
+              <execution>
+                <id>start-container</id>
+                <phase>pre-integration-test</phase>
+                <goals>
+                  <goal>start</goal>
+                </goals>
+                <configuration>
+                  <wait>false</wait>
+                </configuration>
+              </execution>
+              <execution>
+                <id>stop-container</id>
+                <phase>post-integration-test</phase>
+                <goals>
+                  <goal>stop</goal>
+                </goals>
+              </execution>
+            </executions>
+            <configuration>
+              <container>
+                <containerId>${container.name}</containerId>
+                <zipUrlInstaller>
+                  <url>${container.url}</url>
+                  <installDir>${cargo.installs.directory}/${container.name}</installDir>
+                </zipUrlInstaller>
+                <log>${project.build.directory}/logs/${container.name}.log</log>
+                <output>${project.build.directory}/logs/${container.name}.out</output>
+                <timeout>600000</timeout>
+                <systemProperties>
+                  <appserver.base>${project.build.directory}</appserver.base>
+                  <derby.system.home>${project.build.directory}</derby.system.home>
+                </systemProperties>
+                <dependencies>
+                  <dependency>
+                    <groupId>org.apache.derby</groupId>
+                    <artifactId>derby</artifactId>
+                  </dependency>
+                  <dependency>
+                    <groupId>javax.mail</groupId>
+                    <artifactId>mail</artifactId>
+                  </dependency>
+                  <dependency>
+                    <groupId>javax.activation</groupId>
+                    <artifactId>activation</artifactId>
+                  </dependency>
+                </dependencies>
+              </container>
+              <configuration>
+                <home>${project.build.directory}/${container.name}</home>
+                <type>standalone</type>
+                <properties>
+                  <cargo.servlet.port>9595</cargo.servlet.port>
+                  <cargo.datasource.datasource.users>
+                    cargo.datasource.driver=org.apache.derby.jdbc.EmbeddedDriver|
+                    cargo.datasource.url=jdbc:derby:${project.build.directory}/databases/${container.name}/users;create=true|
+                    cargo.datasource.jndi=jdbc/users|
+                    cargo.datasource.username=sa
+                  </cargo.datasource.datasource.users>
+                  <cargo.datasource.datasource.builds>
+                    cargo.datasource.driver=org.apache.derby.jdbc.EmbeddedDriver|
+                    cargo.datasource.url=jdbc:derby:${project.build.directory}/databases/${container.name}/builds;create=true|
+                    cargo.datasource.jndi=jdbc/continuum|
+                    cargo.datasource.username=sa
+                  </cargo.datasource.datasource.builds>
+                  <cargo.resource.resource.mail>
+                    cargo.resource.name=mail/Session|
+                    cargo.resource.type=javax.mail.Session|
+                    cargo.resource.factory=org.apache.naming.factory.MailSessionFactory|
+                    cargo.resource.parameters=mail.smtp.host=localhost
+                  </cargo.resource.resource.mail>
+                </properties>
+                <deployables>
+                  <deployable>
+                    <groupId>${project.goupId}</groupId>
+                    <artifactId>continuum-webapp</artifactId>
+                    <type>war</type>
+                    <properties>
+                      <context>continuum</context>
+                    </properties>
+                  </deployable>
+                </deployables>
+              </configuration>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    <profile>
+      <id>start-selenium</id>
+      <activation>
+        <property>
+          <name>!seleniumHost</name>
+        </property>
+      </activation>
+      <properties>
+        <seleniumHost>localhost</seleniumHost>
+        <seleniumPort>4444</seleniumPort>
+      </properties>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>selenium-maven-plugin</artifactId>
+            <executions>
+              <execution>
+                <phase>pre-integration-test</phase>
+                <goals>
+                  <goal>start-server</goal>
+                </goals>
+                <configuration>
+                  <background>true</background>
+                  <port>${seleniumPort}</port>
+                  <logOutput>true</logOutput>      
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    <profile>
       <id>tomcat5x</id>
       <activation>
-        <activeByDefault>true</activeByDefault>
+        <property>
+          <name>!container</name>
+        </property>
       </activation>
       <properties>
         <container.name>tomcat5x</container.name>
-        <container.url>http://apache.mirrors.redwire.net/tomcat/tomcat-5/v5.5.27/bin/apache-tomcat-5.5.27.zip
-        </container.url>
+        <container.url>http://apache.mirrors.redwire.net/tomcat/tomcat-5/v5.5.27/bin/apache-tomcat-5.5.27.zip</container.url>
+      </properties>
+    </profile>
+    <profile>
+      <id>existing-container</id>
+      <activation>
+        <property>
+          <name>!baseUrl</name>
+        </property>
+      </activation>
+      <properties>
+        <baseUrl>http://localhost:9595/continuum/</baseUrl>
       </properties>
     </profile>
     <profile>
       <id>firefox</id>
       <activation>
-        <activeByDefault>true</activeByDefault>
+        <property>
+          <name>!browser</name>
+        </property>
       </activation>
       <properties>
         <browser>*firefox</browser>
@@ -233,17 +350,88 @@
     </profile>
     <profile>
       <id>iexplore</id>
+      <activation>
+        <property>
+          <name>browser</name>
+          <value>iexplore</value>
+        </property>
+      </activation>
       <properties>
         <browser>*iexplore</browser>
       </properties>
     </profile>
     <profile>
+      <id>safari</id>
+      <activation>
+        <property>
+          <name>browser</name>
+          <value>safari</value>
+        </property>
+      </activation>
+      <properties>
+        <browser>*safari</browser>
+      </properties>
+    </profile>
+    <profile>
       <id>otherbrowser</id>
+      <activation>
+        <property>
+          <name>browser</name>
+          <value>other</value>
+        </property>
+      </activation>
       <properties>
         <browser>*custom ${browserPath}</browser>
       </properties>
     </profile>
-
+    <profile>
+      <id>headless</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>selenium-maven-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>xvfb</id>
+                <phase>validate</phase>
+                <goals>
+                  <goal>xvfb</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  <profile>
+    <id>reporting</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <testFailureIgnore>true</testFailureIgnore>
+            </configuration>
+          </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-report-plugin</artifactId>
+          <executions>
+            <execution>
+              <id>report-only</id>
+              <goals>
+                <goal>report-only</goal>
+              </goals>
+            </execution>
+          </executions>
+        </plugin>
+      </plugins>
+    </build>
+  </profile>
   </profiles>
-
+  <properties>
+    <cargo.installs.directory>${basedir}/target/installs</cargo.installs.directory>
+  </properties>
 </project>

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/pom2.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/pom2.xml?rev=834357&r1=834356&r2=834357&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/pom2.xml (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/pom2.xml Tue Nov 10 05:38:01 2009
@@ -1,160 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.continuum</groupId>
-    <artifactId>continuum</artifactId>
-    <version>1.3.2-SNAPSHOT</version>
-  </parent>
-  <artifactId>continuum-webapp-test</artifactId>
-  <name>Continuum Webapp Test</name>
-  <packaging>pom</packaging>
-
-  <description>Selenium tests for Continuum Webapp using JUnit TestSetup class</description>
-
-  <build>
-    <testSourceDirectory>src/test/pom2</testSourceDirectory>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <source>1.5</source>
-          <target>1.5</target>
-          <verbose>true</verbose>
-        </configuration>
-        <executions>
-          <execution>
-            <goals>
-              <goal>testCompile</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <artifactId>maven-resources-plugin</artifactId>
-        <executions>
-          <execution>
-            <goals>
-              <goal>testResources</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>selenium-maven-plugin</artifactId>
-        <executions>
-          <execution>
-            <phase>pre-integration-test</phase>
-            <goals>
-              <goal>start-server</goal>
-            </goals>
-            <configuration>
-              <background>true</background>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>integration-tests</id>
-            <phase>integration-test</phase>
-            <goals>
-              <goal>test</goal>
-            </goals>
-          </execution>
-        </executions>
-        <configuration>
-          <systemProperties>
-            <property>
-              <name>url</name>
-              <value>http://localhost:8080/continuum-webapp-${project.version}</value>
-            </property>
-            <property>
-              <name>cargo.container.home</name>
-              <value>${cargo.container.home}</value>
-            </property>
-            <property>
-              <name>cargo.container.output</name>
-              <value>${basedir}/target/container.output</value>
-            </property>
-            <property>
-              <name>cargo.container.log</name>
-              <value>${basedir}/target/container.log</value>
-            </property>
-            <property>
-              <name>cargo.deployable</name>
-              <value>${basedir}/../continuum-webapp/target/continuum-webapp-1.3.2-SNAPSHOT.war</value>
-              <!--value>${settings.localRepository}/org/apache/continuum/continuum-webapp/1.3.2-SNAPSHOT/continuum-webapp-1.3.2-SNAPSHOT.war</value-->
-            </property>
-          </systemProperties>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-  <dependencies>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>3.8.1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.openqa.selenium.client-drivers</groupId>
-      <artifactId>selenium-java-client-driver</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.openqa.selenium.client-drivers</groupId>
-      <artifactId>selenium-java-client-driver</artifactId>
-      <version>0.8.1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.continuum</groupId>
-      <artifactId>continuum-webapp</artifactId>
-      <version>${project.version}</version>
-      <type>war</type>
-    </dependency>
-    <dependency>
-      <groupId>org.openqa.selenium.server</groupId>
-      <artifactId>selenium-server</artifactId>
-      <version>0.8.1</version>
-    </dependency>
-
-    <dependency>
-        <groupId>org.codehaus.cargo</groupId>
-        <artifactId>cargo-core-uberjar</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <optional>true</optional>
-    </dependency>
-    <dependency>
-        <groupId>org.codehaus.cargo</groupId>
-        <artifactId>cargo-ant</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <optional>true</optional>
-    </dependency>
-  </dependencies>
-</project>

Added: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/site/apt/index.apt
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/site/apt/index.apt?rev=834357&view=auto
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/site/apt/index.apt (added)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/site/apt/index.apt Tue Nov 10 05:38:01 2009
@@ -0,0 +1,503 @@
+  ----
+  Continuum Webapp Test
+  ----
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you under the Apache License, Version 2.0 (the
+~~ "License"); you may not use this file except in compliance
+~~ with the License.  You may obtain a copy of the License at
+~~
+~~   http://www.apache.org/licenses/LICENSE-2.0
+~~
+~~ Unless required by applicable law or agreed to in writing,
+~~ software distributed under the License is distributed on an
+~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+~~ KIND, either express or implied.  See the License for the
+~~ specific language governing permissions and limitations
+~~ under the License.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
+
+Continuum Webapp Test
+ 
+* Contents
+
+	* {{{About_the_Continuum_Webapp_Tests}About the Continuum Webapp Tests}}
+	
+	* {{Pre-requisites}}
+	
+	* {{{Getting_the_Source_from_the_Repository} Getting the Source from the Repository}}
+	
+	* {{{Running_the_Tests} Running the Tests}}
+	
+	* {{{Viewing_the_Test_Results} Viewing the Test Results}}
+	
+	* {{{Test_Coverage}Test Coverage}}
+	
+	* {{{Adding_New_Tests} Adding New Tests}}
+	
+	* {{{Improving_the_Existing_Tests} Improving the Existing Tests}}
+	
+	* {{{Creating_Patches} Creating Patches}}
+	
+	* {{{Submitting_Patches} Submitting Patches}}	
+	
+
+* {About the Continuum Webapp Tests}
+
+	{{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test}Continuum web app tests}} depends on {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp} continuum-webapp}} module of Continuum. It depends on a successful build result in {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x} continuum-1.3.x}}. 
+
+** Automation Tool
+	
+	The module makes use of the latest {{{http://seleniumhq.org/projects/remote-control/} Selenium Remote Control}} release (1.0.1)
+	
+		* {{{http://release.seleniumhq.org/selenium-remote-control/1.0-beta-2/doc/java/} selenium-java-client-driver}}
+		
+		* {{{http://release.seleniumhq.org/selenium-remote-control/1.0-beta-2/doc/server/} selenium-server}}
+		
+		<Note: Documents for 1.0.1 are not yet available for both selenium java client driver and selenium server. The above links direct to 1.0-beta-2 docs.>
+		
+** Maven Plugins
+	
+	The module makes use of the following maven plugins:
+	
+		* {{{http://cargo.codehaus.org/Maven2+plugin} cargo-maven2-plugin}} who is in-charge on the start-up of the container {{{http://apache.mirrors.redwire.net/tomcat/tomcat-5/v5.5.27/bin/apache-tomcat-5.5.27.zip]} tomcat5x}}, deployment of the application to the container and stopping the container. 
+		
+		* {{{http://mojo.codehaus.org/selenium-maven-plugin/} selenium-maven-plugin}} who is in-charge on starting/stopping the selenium server, running a suite of HTML Selenese tests and starting an Xvfb instance suitable for handling X11 displays for headless systems.
+		
+		*{{{http://maven.apache.org/plugins/maven-surefire-plugin/} maven-surefire-plugin}} and {{{http://maven.apache.org/plugins/maven-surefire-report-plugin/} maven-surefire-report-plugin}} for reporting.
+		
+** Testing Framework
+
+	Continuum web app tests module uses TestNG for the following reasons:
+
+		* flexibility (coding convention), 
+		
+		* dependency testing (skipping not failing), 
+		
+		* fail and rerun (handy in large test suite) and 
+		
+		* parametric testing ( reusing generic test) features. 
+		
+		More on TestNG {{{http://testng.org/doc/documentation-main.html}here}}.
+
+	View the module's pom.xml {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/pom.xml}here}}
+
+* {Pre-requisites}
+
+		* {{{http://java.sun.com/javase/downloads/index.jsp}JDK 1.5 or higher}}
+
+		* {{{http://maven.apache.org/download.html}Maven 2.0.9 or higher}}
+
+		* {{{http://subversion.tigris.org/}Subversion}}
+
+	Installation instructions for Windows and Unix-based systems can be found {{{http://maven.apache.org/download.html}here}}
+
+* {Getting the Source from the Repository}
+
+	Checkout continuum 1.3.x branch {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x}here}}.
+
++-----------------------------------------------------------------------------+
+svn co https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x continuum-1.3.x
+or
+svn co http://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x continuum-1.3.x
++-----------------------------------------------------------------------------+
+
+* {Running the Tests}
+
+	Getting started with the tests:
+
+	After getting the source from the repository, execute the following:
+	
++-----------------------------------------------------------------------------+
+cd /path/to/continuum-1.3.x/
+mvn clean install
++-----------------------------------------------------------------------------+
+
+
+	<<Reminder: continuum-1.3.x must have a successful build or else there's no way to run continuum-webapp-test successfully.>>	
+
+	
++-----------------------------------------------------------------------------+
+cd /path/to/continuum-1.3.x/continuum-webapp-test/
++-----------------------------------------------------------------------------+
+
+	Default configuration (i.e. App's Base URL, Selenium Host, Selenium Port's values, etc.) are stored in a property file that can be found in <</path/to/continuum-1.3.x/continuum-webapp-test/src/test/resources/testng.properties>> (or {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/resources/testng.properties}here}}). You may change the values in it before executing the next command.
+
++-----------------------------------------------------------------------------+
+mvn clean install
++-----------------------------------------------------------------------------+
+
+	This command will:
+
+		* build the application from source
+	
+		* deploy the packaged application to a container and start it
+	
+		*  start the selenium server
+
+		*  start the selenium tests by launching the selenium test runner and the application under test (AUT)
+		
+		For every test failure encountered, {{{http://testng.org/doc/documentation-main.html#logging-listeners}TestNG Listeners}} will call selenium's windowMaximize and captureEntirePageScreenshot commands. This will maximize the application-under-test (AUT) browser then do a screen capture of the page and saves it as an image file with .png extension.
+		
+		View the code {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/listener/CaptureScreenShotsListener.java}here}} 
+		
+		* kill the selenium server after the tests are done
+		
+		* stop the app server (container)
+		
+		* return the results of the build (summary, reports, screen shots)
+
+[]
+
+** {Running selected tests by editing testng.xml}
+
+	Continuum web app tests is invoked with a {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/config/testng.xml}testng.xml}} file. The contents of that xml file is displayed below and/or this could be found in <</path/to/continuum-1.3.x/continuum-webapp-test/src/test/testng/config/>> directory.
+
++---------------------------------------------------------+
+<suite name="ContinuumTest" verbose="1">
+   <test name="BasicTest" enabled="true">
+     <groups>
+	<run>
+	   <include name="about" />
+	</run>
+     </groups>
+     <packages>
+	<package name="org.apache.continuum.web.test" />
+     </packages>
+   </test>
+   <test name="AdminTest" enabled="true">
+     <groups>
+	<run>
+	   <include name="login" />
+	   <include name="mavenTwoProject"/>								
+	   <include name="projectGroup" />				
+      	   <include name="mavenOneProject" />
+      	   <include name="antProject" />
+      	   <include name="shellProject" />
+           <include name="buildDefinition" />
+           <include name="notifier" />
+	   <include name="schedule" />
+	   <include name="myAccount" />
+	   <include name="queue" />
+	   <include name="purge" />
+	   <include name="repository" />
+	   <include name="configuration" />
+	   <include name="installation" />
+	   <include name="buildEnvironment" />
+	   <include name="buildDefinitionTemplate" />
+	   <include name="userroles"/>
+	   <include name="agent"/>
+	</run>
+     </groups>
+     <packages>
+	<package name="org.apache.continuum.web.test" />
+     </packages>
+   </test>
+</suite>
++---------------------------------------------------------+
+
+	The order of the build when running the tests is defined in the annotations of each test. Groups are divided into unit tests. If want to run a specific test, you may edit the testng.xml file and exclude the undesired tests to be ran.
+
++---------------------------------------------------------+
+Example:
+
+<test name="AdminTest" enabled="true">
+     <groups>
+	<run>
+	   <include name="login" />
+	   <exclude name="mavenTwoProject"/>								
+	   <exclude name="projectGroup" />				
+      	   <exclude name="mavenOneProject" />
+      	   <include name="antProject" />
+      	   <exclude name="shellProject" />
+           ...
+           ...
+           ...
+	</run>
+     </groups>
+     <packages>
+	<package name="org.apache.continuum.web.test" />
+     </packages>
+   </test>
++---------------------------------------------------------+
+
+	More information about testng.xml {{{http://testng.org/doc/documentation-main.html#testng-xml}here}}.
+
+
+** Running the tests with different container and/or browsers
+
+*** Running Selenium tests in an alternate browser
+
+	Modify src/test/resources/testng.properties as needed then execute:
+	
++---------------------------------------------------------+
+mvn clean install -Dbrowser=iexplore  (or -Dbrowser=safari or -Dbrowser=other -DbrowserPath=/path/to/browser)
++---------------------------------------------------------+
+
+*** Running Selenium tests against an existing Continuum instance
+
+	Modify src/test/resources/testng.properties as needed, then execute:
+	
++---------------------------------------------------------+
+mvn clean install -Dexisting-container
++---------------------------------------------------------+
+
+	(This skips the Cargo plugin configuration that starts a container with the Continuum webapp deployed)
+
+*** Test with Firefox and Selenium IDE
+
+	continuum-webapp-test also has Selenium IDE scripts. Here's how you should run it:
+
+		* Start Continuum
+		
+		* Open Firefox and navigate to Continuum (it should be on the "Create Admin User" page.)
+		
+		* in Firefox, Tools -> Selenium IDE 
+		
+		* in Selenium IDE, File -> Open Test Suite and choose src/test/selenium-ide/continuum_test_suite.html
+		
+		* in Selenium IDE, modify the Base URL if necessary (for example, http://localhost:8080/continuum)
+		
+		* in Selenium IDE, click the 'Play entire test suite' icon
+
+* {Viewing the Test Results}
+
+** Surefire-reports
+
+	After running the continuum webapp tests, cd to <</path/to/continuum-1.3.x/continuum-webapp-test/target/surefire-reports/>> and open the index.html file.
+	
+	Click the 'ContinuumTest' suite link
+	
+	Click the 'Results' link to view the summary of the tests. (Passed/Failed/Skipped)
+	
+** Screenshots
+
+	If there are test failures, cd to <</path/to/continuum-1.3.x/continuum-webapp-test/target/screenshots/>> to view the captured image files.
+	
+	Screen shots are saved with the format "methodName(className.java_lineNumber)-time.png" in order to easily debug the error encountered.
+
+* {Test Coverage}
+
+	Test scripts available {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/}here}} automate the various {{{http://continuum.apache.org/features.html}features}} of Continuum. Listed below are the existing scripts with which you can help improve the testing process or you may contribute on any areas you see not covered.
+
+	* {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AboutTest.java}About}}
+
+	* {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/LoginTest.java}Login}}
+
+	* {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MyAccountTest.java}My Account}}
+
+	* {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ProjectGroupTest.java}Project Groups}}
+	
+	* {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenOneProjectTest.java}Maven 1.0.X Projects}}
+	
+	* {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenTwoProjectTest.java}Maven 2.0.X Projects}}
+	
+	* {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AntProjectTest.java}Ant Projects}}
+	
+	* {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ShellProjectTest.java}Shell Projects}}
+	
+	* {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/LocalRepositoriesTest.java}Local Repository}}
+	
+	* {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/InstallationTest.java}Installation}}
+	
+	* {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/PurgeTest.java}Purge Configurations}}
+	
+	* {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ScheduleTest.java}Schedules}}
+	
+	* {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ConfigurationTest.java}Configurations}}
+	
+	* {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/UserRolesManagementTest.java}User Roles Management}}
+	
+	* {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildEnvironmentTest.java}Build Environments}}
+	
+	* {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/QueueTest.java}Queues}}
+	
+	* {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTest.java}Build Definition}}
+	
+	* {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTemplateTest.java}Build Definition Templates}}
+	
+	* {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildAgentsTest.java}Distributed Builds}}
+	
+	* {{{https://svn.apache.org/repos/asf/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/NotifierTest.java}Build Notification}}
+	
+	[]
+
+** Continuum Feature/s for development:
+
+	* Release Projects
+	
+[]
+	
+	If you would like to be involved, start by reading the Continuum {{{http://continuum.apache.org/docs/}documentation}} to familiarize yourself with the features of the application. 
+
+
+* {Adding New Tests}
+
+	This section will guide you on how to contribute new script/s to run with the existing ones.
+
+	You can find out what features already have tests by looking at the source code of the scripts on the {{{Test_Coverage} Test Coverage}} section. If you look at the scripts, you can see which features have lots of tests and which need more. But note that even if the coverage looks good, there may be more interesting tests to write.
+
+** Directory where to add new tests
+
+	Once you have written a good test scenario, the script must be placed in this directory:
+
++---------------------------------------------------------+
+/path/to/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/
++---------------------------------------------------------+
+
+	Put your abstract classes in this directory:
+	
++---------------------------------------------------------+
+/path/to/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/
++---------------------------------------------------------+
+
+~~** Order where to put the new class
+** Editing the testng.xml file to include the new class / group
+
+	* Edit the testng.xml (refer to {{{Running_selected_tests_by_editing_testng.xml} Editing testng.xml}}) to include the newly created script. 
+	
+	* Run the test suite (refer to {{{Running_the_Tests} Running the Tests}}) to check if it will build successfully. 
+
+	[]
+	Once you have a successful build in continuum-webapp-test, you are now ready to create a patch and submit your work to the community. Just follow the guidelines on the {{{Creating_Patches} Creating Patches}} and {{{Submitting_Patches} Submitting Patches}} section.
+
+* {Improving the Existing Tests}
+
+	The listed items on continuum-webapp-test Test Coverage are not yet complete. Releasing Projects is one of the features listed for development but basically, the existing scripts still have missing scenarios that need to be completed, such as:
+
+	[[1]] Functions of Continuum Features to Projects
+	
+	* Wide use of Continuum features to different projects (i.e. the use of different build definitions, schedules, queues, agent, etc. ) --ant, shell, maven1, maven2.
+	
+	
+	[]
+	
+	[[2]] User Roles Test
+	
+	* User roles tests only have scripts for assertion of elements on the specific roles. Tests for user roles should include its specific function on Continuum.
+	
+	[]
+	
+	[[3]]Logo / Headers / Footers
+	
+	* Assertion of Logo / Headers / Footers on each page (or scenarios) are not yet implemented.
+	
+	[]
+	
+	[[4]]Optimization of the Automation Tool and Test Framework
+	
+	* Selenium and TestNG have lots of capabilities that will help improve the existing tests. Discussed below are the items that are not yet implemented on the existing tests:
+For reporting, the generated report of surefire for TestNG has a text and html file. Improving the html file that would link to the screenshots of the failed tests would help a lot.
+	
+	* The wide use of TestNG, i.e. The use or @Parameters for values to be used on that specific test class. It will help developers not to be confused with regards to values that are placed in the property files (lots of values on that file) and those values will also be placed on the TestNG report. 
+
+[]
+
+	As listed above, those are just examples on how to improve Continuum's existing tests. As you go along with the scripts, you may encounter scenarios that need to be modified so that it will be easily read by fellow developers. Tests contributions are welcome in this community. See {{{Adding_New_Tests} Adding New Tests}} section on how.
+
+
+
+* {Creating Patches}
+
+	After adding new tests or improving existing tests, the next step is to create a patch.
+
+	Below are the steps needed for creating patches:
+
+	* Update the version of the project's source. 
+	
++---------------------------------------------------------+
+svn up
++---------------------------------------------------------+
+
+	* Ensure that the project will build successfully (from 1.3.x branch) and that your modification will not break anything
+	
++---------------------------------------------------------+
+mvn clean install
++---------------------------------------------------------+
+	
+	* Go to the directory where the modifications are done. Verify if the module's build is working. (i.e. /path/to/continuum-1.3.x/continuum-webapp-test/)
+	
++---------------------------------------------------------+
+mvn clean install
++---------------------------------------------------------+
+
+	* After a successful build, add the new tests to version control.
+	
+
+		Directory:
+	
++---------------------------------------------------------+
+svn add /path/to/the/new_module/
++---------------------------------------------------------+
+
+		
+		File:
+	
++---------------------------------------------------------+
+svn add /path/to/the/new_module/file.extension
++---------------------------------------------------------+
+
+	Note: If the modifications are made to the existing files which are already under version control, there is no need to do "svn add".
+	
+	* Create the patch from the 1.3.x branch
+	
++---------------------------------------------------------+
+cd /path/to/continuum-1.3.x/
++---------------------------------------------------------+
+
++---------------------------------------------------------+
+svn diff > PatchName.patch
++---------------------------------------------------------+
+
+	* Verify the content of the generated patch by viewing the file using any text editor. It should display all the intended changes.
+
+* {Submitting Patches}
+
+	After creating the patch, the next step is to contribute by sending the patch to the community!
+	
+	* If you don't have a codehaus jira account yet, sign up {{{http://jira.codehaus.org/secure/Signup!default.jspa} here}}
+	
+	* Login using your account
+	
+	* Go to {{{http://jira.codehaus.org/browse/CONTINUUM}Continuum}} project
+	
+	* Create a new issue with the appropriate issue type (bug, improvement, feature, test, etc)
+	
+	* Provide a good summary
+	
++---------------------------------------------------------+
+New Tests for X Feature
+or 
+Improve Tests for an Existing X Feature
++---------------------------------------------------------+
+
+	* Provide the environment details
+	
++---------------------------------------------------------+
+Windows/Linux/Mac
+Maven version
+Java version
++---------------------------------------------------------+
+
+	* Provide the description
+	
++---------------------------------------------------------+
+Describe what the patch is for. (changes made to the existing version)
+Post the results of the build (test runs, failures, errors etc)
++---------------------------------------------------------+
+
+	* Don't forget to add your patch as an attachment. Tick the 'Patch Submitted' box then click the 'Create' button.
+
+
+	<<If nothing happens in a few days, write to the {{{mailto:dev@continuum.apache.org}dev list}} and nudge the developers to review your patch.>>
+
+		
+
+
+

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AbstractContinuumTestCase.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AbstractContinuumTestCase.java?rev=834357&r1=834356&r2=834357&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AbstractContinuumTestCase.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AbstractContinuumTestCase.java Tue Nov 10 05:38:01 2009
@@ -64,7 +64,7 @@
 
     public void assertHeader()
     {
-        assertElementPresent( "xpath=//img[@alt='Continuum']" );
+        assertImgWithAlt( "Continuum" );
         assertLinkPresent( "Continuum" );
         assertLinkPresent( "Maven" );
         assertLinkPresent( "Apache" );
@@ -90,7 +90,7 @@
         assertPage( "Continuum - About" );
         assertTextPresent( "About Continuum" );
         assertTextPresent( "Version:" );
-        assertTextPresent( "1.3.2-SNAPSHOT" );
+        assertTextPresent( "1.4.0-SNAPSHOT" );
         assertTextPresent( "Build Number:" );
     }
 
@@ -123,9 +123,8 @@
     //////////////////////////////////////
     public void assertAddProjectPage( String type )
     {
-        String title = type.substring( 0, 1 ).toUpperCase() + type.substring( 1 ).toLowerCase();
-        assertPage( "Continuum - Add" + title + " Project" );
-        assertTextPresent( "Add " + title + " Project" );
+        assertPage( "Continuum - Add " + type + " Project" );
+        assertTextPresent( "Add " + type + " Project" );
         assertTextPresent( "Project Name*:" );
         assertElementPresent( "projectName" );
         assertTextPresent( "Description:" );
@@ -149,12 +148,12 @@
 
     public void assertAddAntProjectPage()
     {
-        assertAddProjectPage( "ant" );
+        assertAddProjectPage( "Ant" );
     }
 
     public void assertAddShellProjectPage()
     {
-        assertAddProjectPage( "shell" );
+        assertAddProjectPage( "Shell" );
     }
     
     //////////////////////////////////////
@@ -659,15 +658,15 @@
         	assertCellValueFromTable( "", tableElement, 0, 6 );
         	assertCellValueFromTable( "", tableElement, 0, 7 );
         	assertCellValueFromTable( "Total", tableElement, 0, 8 );
-        	assertCellValueFromTable( "Default Project Group", tableElement, 1, 0 );
-        	assertCellValueFromTable( "default", tableElement, 1, 1 );
+        	/*assertCellValueFromTable( "Default Project Group", tableElement, 1, 0 );
+        	assertCellValueFromTable( "default", tableElement, 1, 1 );*/
         	assertImgWithAlt( "Build all projects" );
         	assertImgWithAlt( "Release Group" );
         	assertImgWithAlt( "Delete Group" );
-        	assertCellValueFromTable( "0", tableElement, 1, 5 );
+        	/*assertCellValueFromTable( "0", tableElement, 1, 5 );
         	assertCellValueFromTable( "0", tableElement, 1, 6 );
         	assertCellValueFromTable( "0", tableElement, 1, 7 );
-        	assertCellValueFromTable( "0", tableElement, 1, 8 );
+        	assertCellValueFromTable( "0", tableElement, 1, 8 );*/
             
         }
     }
@@ -710,8 +709,8 @@
         assertElementPresent( "release" );
         assertElementPresent( "preferredExecutor" );
         assertButtonWithValuePresent("Add");
-        assertElementPresent( "remove" );
-        assertElementPresent( "cancel" );
+        assertButtonWithValuePresent("Delete Group");
+        assertButtonWithValuePresent("Cancel Group Build");
 
         if ( isTextPresent( "Member Projects" ) )
         {
@@ -940,7 +939,7 @@
         assertTextPresent( "Send on Failure" );
         assertTextPresent( "Send on Error" );
         assertTextPresent( "Send on Warning" );
-        assertTextPresent( "Send On SCM Failure" ); 
+        assertTextPresent( "Send on SCM Failure" ); 
         assertElementPresent( "Cancel" );
     }
 
@@ -1348,18 +1347,18 @@
 
     public void assertAddMavenTwoProjectPage()
     {
-        assertTextPresent( "POM Url*:" );
+        assertTextPresent( "POM Url" );
         assertElementPresent( "m2PomUrl" );
-        assertTextPresent( "Username:" );
+        assertTextPresent( "Username" );
         assertElementPresent( "scmUsername" );
-        assertTextPresent( "Password:" );
+        assertTextPresent( "Password" );
         assertElementPresent( "scmPassword" );
         assertElementPresent( "scmUseCache" );
-        assertTextPresent( "Upload POM:" );
+        assertTextPresent( "Upload POM" );
         assertElementPresent( "m2PomFile" );
-        assertTextPresent( "Project Group:" );
+        assertTextPresent( "Project Group" );
         assertElementPresent( "selectedProjectGroup" );
-        assertTextPresent( "Build Definition Template:" );
+        assertTextPresent( "Build Definition Template" );
         assertElementPresent( "buildDefinitionTemplateId" );
     }
 
@@ -1431,18 +1430,19 @@
 
     public void assertAddMavenOneProjectPage()
     {
-        assertTextPresent( "M1 POM Url:" );
+	assertPage( "Continuum - Add Maven 1 Project" );
+        assertTextPresent( "M1 POM Url" );
         assertElementPresent( "m1PomUrl" );
-        assertTextPresent( "Username:" );
+        assertTextPresent( "Username" );
         assertElementPresent( "scmUsername" );
-        assertTextPresent( "Password:" );
+        assertTextPresent( "Password" );
         assertElementPresent( "scmPassword" );
         assertElementPresent( "scmUseCache" );
-        assertTextPresent( "Upload POM:" );
+        assertTextPresent( "Upload POM" );
         assertElementPresent( "m1PomFile" );
-        assertTextPresent( "Project Group:" );
+        assertTextPresent( "Project Group" );
         assertElementPresent( "selectedProjectGroup" );
-        assertTextPresent( "Build Definition Template:" );
+        assertTextPresent( "Build Definition Template" );
         assertElementPresent( "buildDefinitionTemplateId" );
     }
 
@@ -1461,8 +1461,9 @@
             selectValue( "addMavenOneProject_selectedProjectGroup", projectGroup );
         }
 
-        //submit();
         clickButtonWithValue( "Add" );
+	assertTextPresent( "Adding your project is in progress. Please wait .." );
+	waitPage( 100000 );        
 
         if ( validProject )
         {
@@ -1471,7 +1472,7 @@
         else
         {
             assertAddMavenOneProjectPage();
-        }
+	}
     }
 
     //TODO: problem with input type="file", selenium.type(..) does not work,
@@ -1511,7 +1512,7 @@
         assertElementPresent( "edit" );
         clickButtonWithValue( "Edit" );
 
-        assertTextPresent( "Move to Group" );
+        //assertTextPresent( "Move to Group" );
         selectValue( "//select", newProjectGroup );
 
         assertElementPresent( "saveProjectGroup_" );
@@ -1521,32 +1522,6 @@
     public void tearDown()
         throws Exception
     {
-        /* TODO: This causes the browser not closing after each tests. Will repair this one too.
-         * 
-         * login( adminUsername, adminPassword );
-
-        goToProjectGroupsSummaryPage();
-
-        if ( isLinkPresent( TEST_PROJ_GRP_NAME ) )
-        {
-            removeProjectGroup( TEST_PROJ_GRP_NAME, TEST_PROJ_GRP_ID, TEST_PROJ_GRP_DESCRIPTION );
-        }
-        // TODO: clean this up
-        if ( isLinkPresent( "Apache Maven" ) )
-        {
-            removeProjectGroup( "Apache Maven", "org.apache.maven", "Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information." );
-        }
-        if ( isLinkPresent( "Maven One Project" ) )
-        {
-            removeProjectGroup( "Maven One Project", "maven-one-project", "This is a sample Maven One Project." );
-        }
-        if ( isLinkPresent( DEFAULT_PROJ_GRP_NAME ) &&
-            "0".equals( getCellValueFromTable( "ec_table", 1, 2 ) ) == false )
-        {
-            removeProjectGroup( DEFAULT_PROJ_GRP_NAME, DEFAULT_PROJ_GRP_ID, DEFAULT_PROJ_GRP_DESCRIPTION );
-            addProjectGroup( DEFAULT_PROJ_GRP_NAME, DEFAULT_PROJ_GRP_ID, DEFAULT_PROJ_GRP_DESCRIPTION );
-        }*/
-
         super.tearDown();
     }
 



Mime
View raw message