Customise settings so that you can debug the cargo instance, and show tests to output as they progress

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1053778 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Brett Porter 2010-12-30 01:05:58 +00:00
parent 201306c679
commit 8c5de76d3b
4 changed files with 35 additions and 20 deletions

View File

@ -148,6 +148,7 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<redirectTestOutputToFile>false</redirectTestOutputToFile>
<properties>
<!--
Use this instead of suiteXmlFiles so that we can add the exclusion, as it is only accepted without suiteXmlFiles
@ -180,6 +181,10 @@
<name>baseUrl</name>
<value>${baseUrl}</value>
</property>
<property>
<name>maxWaitTimeInMs</name>
<value>${maxWaitTimeInMs}</value>
</property>
</systemProperties>
</configuration>
</execution>
@ -344,6 +349,7 @@
<type>existing</type>
<properties>
<cargo.servlet.port>9696</cargo.servlet.port>
<cargo.jvmargs>${cargo.jvm.args}</cargo.jvmargs>
</properties>
</configuration>
</configuration>
@ -498,10 +504,23 @@
</plugins>
</build>
</profile>
<profile>
<id>debug</id>
<properties>
<cargo.jvm.args>
-Xdebug -Xnoagent -Djava.compiler=NONE
-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=${cargo.debug.port}
</cargo.jvm.args>
<cargo.debug.port>8000</cargo.debug.port>
<!-- wait an unusual amount of time (1hr) to allow debugging to occur -->
<maxWaitTimeInMs>3600000</maxWaitTimeInMs>
</properties>
</profile>
</profiles>
<properties>
<tomcat5x.version>5.5.27</tomcat5x.version>
<cargo.wait>false</cargo.wait>
<cargo.install.dir>cargo-installs</cargo.install.dir>
<maxWaitTimeInMs>60000</maxWaitTimeInMs>
</properties>
</project>

View File

@ -1,7 +1,5 @@
# properties for integration tests
MAX_WAIT_TIME_IN_MS=60000
ADMIN_USERNAME=admin
ADMIN_FULLNAME=Administrator
ADMIN_EMAIL=admin@localhost

View File

@ -27,7 +27,7 @@ import org.testng.annotations.Optional;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
@Test( groups = { "about" }, alwaysRun = true )
@Test( groups = {"about"}, alwaysRun = true )
public class ArchivaAdminTest
extends AbstractArchivaTest
{
@ -49,12 +49,12 @@ public class ArchivaAdminTest
}
@BeforeTest
@Parameters( { "baseUrl", "browser", "seleniumHost", "seleniumPort" } )
public void initializeArchiva( String baseUrl, String browser, @Optional( "localhost" ) String seleniumHost,
@Optional( "4444" ) int seleniumPort )
@Parameters( {"baseUrl", "browser", "maxWaitTimeInMs", "seleniumHost", "seleniumPort"} )
public void initializeArchiva( String baseUrl, String browser, int maxWaitTimeInMs,
@Optional( "localhost" ) String seleniumHost, @Optional( "4444" ) int seleniumPort )
throws Exception
{
super.open( baseUrl, browser, seleniumHost, seleniumPort );
super.open( baseUrl, browser, seleniumHost, seleniumPort, Integer.toString( maxWaitTimeInMs ) );
getSelenium().open( baseUrl );
String title = getSelenium().getTitle();
if ( title.endsWith( "Create Admin User" ) )

View File

@ -19,6 +19,11 @@ package org.apache.archiva.web.test.parent;
* under the License.
*/
import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;
import org.apache.commons.io.IOUtils;
import org.testng.Assert;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
@ -29,11 +34,6 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.Properties;
import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;
import org.apache.commons.io.IOUtils;
import org.testng.Assert;
/**
* @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
* @version $Id: AbstractSeleniumTestCase.java 761154 2009-04-02 03:31:19Z wsmoak $
@ -57,18 +57,16 @@ public abstract class AbstractSeleniumTest
{
p = new Properties();
p.load( this.getClass().getClassLoader().getResourceAsStream( "testng.properties" ) );
// baseUrl = getProperty( "BASE_URL" );
maxWaitTimeInMs = getProperty( "MAX_WAIT_TIME_IN_MS" );
}
/**
* Initialize selenium
*/
public void open( String baseUrl, String browser, String seleniumHost, int seleniumPort )
public void open( String baseUrl, String browser, String seleniumHost, int seleniumPort, String maxWaitTimeInMs )
throws Exception
{
this.baseUrl = baseUrl;
AbstractSeleniumTest.baseUrl = baseUrl;
AbstractSeleniumTest.maxWaitTimeInMs = maxWaitTimeInMs;
if ( getSelenium() == null )
{
@ -285,8 +283,8 @@ public abstract class AbstractSeleniumTest
public boolean isButtonWithValuePresent( String text )
{
return isElementPresent( "//button[@value='" + text + "']" )
|| isElementPresent( "//input[@value='" + text + "']" );
return isElementPresent( "//button[@value='" + text + "']" ) || isElementPresent(
"//input[@value='" + text + "']" );
}
public boolean isButtonWithIdPresent( String text )