merge fixes to Selenium tests from trunk

git-svn-id: https://svn.apache.org/repos/asf/archiva/branches/archiva-1.3.x@918814 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Brett Porter 2010-03-04 02:00:16 +00:00
parent 6426da90b4
commit 3c0d48098b
15 changed files with 199 additions and 216 deletions

View File

@ -13,7 +13,9 @@ The Cargo installations are stored outside of target to avoid multiple downloads
To remove the Cargo installations and re-download them next run, use:
- mvn -Pclean-cargo clean
For the default values in the scripts, to pass all the tests, you need to add an artifact in internal repository.
Internet Explorer and Safari users must disable their popup blockers. Using *iexplore as
the browser requires running as an Administrator on Windows 7/Vista, or alternatively you
can use *iexploreproxy.
Run Selenium tests in src/test/it with Maven and JUnit
- mvn clean install -f junit-pom.xml

View File

@ -148,9 +148,20 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>src/test/testng/config/testng.xml</suiteXmlFile>
</suiteXmlFiles>
<properties>
<!--
Use this instead of suiteXmlFiles so that we can add the exclusion, as it is only accepted without suiteXmlFiles
-->
<property>
<name>listener</name>
<value>org.apache.archiva.web.test.listener.CaptureScreenShotsListener</value>
</property>
<property>
<name>excludegroups</name>
<!-- Exclude on all browsers but Firefox, as it is the only one that Selenium supports file uploads on -->
<value>${excluded.groups}</value>
</property>
</properties>
</configuration>
<executions>
<execution>
@ -165,7 +176,7 @@
<name>browser</name>
<value>${selenium.browser}</value>
</property>
<property>
<property>
<name>baseUrl</name>
<value>${baseUrl}</value>
</property>
@ -404,6 +415,7 @@
</activation>
<properties>
<selenium.browser>*firefox</selenium.browser>
<excluded.groups />
</properties>
</profile>
<profile>
@ -416,6 +428,7 @@
</activation>
<properties>
<selenium.browser>*iexplore</selenium.browser>
<excluded.groups>requiresUpload</excluded.groups>
</properties>
</profile>
<profile>
@ -428,6 +441,7 @@
</activation>
<properties>
<selenium.browser>*safari</selenium.browser>
<excluded.groups>requiresUpload</excluded.groups>
</properties>
</profile>
<profile>
@ -440,6 +454,7 @@
</activation>
<properties>
<selenium.browser>*custom ${browserPath}</selenium.browser>
<excluded.groups>requiresUpload</excluded.groups>
</properties>
</profile>
<profile>

View File

@ -1,3 +1,8 @@
<configuration>
<localRepository></localRepository>
<webapp>
<ui>
<appletFindEnabled>false</appletFindEnabled>
</ui>
</webapp>
</configuration>

View File

@ -81,7 +81,7 @@ SNAPSHOT_GROUPID=org.apache.archiva
SNAPSHOT_ARTIFACTID=archiva-test
SNAPSHOT_VERSION=1.0-SNAPSHOT
SNAPSHOT_PACKAGING=jar
SNAPSHOT_ARTIFACTFILEPATH=test
SNAPSHOT_ARTIFACTFILEPATH=src/test/it-resources/snapshots/org/apache/maven/archiva/web/test/foo-bar/1.0-SNAPSHOT/foo-bar-1.0-SNAPSHOT.jar
SNAPSHOT_REPOSITORYID=snapshots
# REPOSITORIES

View File

@ -1,52 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<!--
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.
-->
<suite name="ArchivaTest" verbose="1">
<listeners>
<listener class-name="org.apache.archiva.web.test.listener.CaptureScreenShotsListener"/>
</listeners>
<test name="AdminTest" enabled="true">
<groups>
<run>
<include name="about" />
<include name= "login" />
<include name= "userroles" />
<include name= "reposcan" />
<include name= "artifactmanagement" />
<include name= "search" />
<include name= "auditlogsreport" />
<include name= "browse" />
<include name= "reports" />
<include name= "virtualrepository" />
<include name= "networkproxies" />
<include name= "repository" />
<include name= "appearance" />
<include name= "findartifact" />
<include name= "legacysupport" />
<include name= "database" />
</run>
</groups>
<packages>
<package name="org.apache.archiva.web.test" />
</packages>
</test>
</suite>

View File

@ -62,8 +62,8 @@ public void initializeArchiva( String baseUrl, String browser, @Optional( "local
String username = getProperty( "ADMIN_USERNAME" );
String mail = getProperty( "ADMIN_EMAIL" );
String password = getProperty( "ADMIN_PASSWORD" );
submitAdminData( fullname, mail, password );
assertAuthenticatedPage( username );
submitAdminData( fullname, mail, password );
assertUserLoggedIn( username );
submit();
clickLinkWithText( "Logout" );
}

View File

@ -83,24 +83,22 @@ public void testAddArtifactNoFilePath()
assertTextPresent( "Please add a file to upload." );
}
@Test( enabled = false )
@Test(groups = "requiresUpload")
public void testAddArtifactValidValues()
{
// TODO: disable test on non *chrome browsers, there is no way to do file uploads (SEL-63)
addArtifact( getGroupId() , "testAddArtifactValidValues", getVersion(), getPackaging() , getArtifactFilePath(), getRepositoryId() );
assertTextPresent( "Artifact 'test:test:1.0' was successfully deployed to repository 'internal'" );
assertTextPresent( "Artifact 'test:testAddArtifactValidValues:1.0' was successfully deployed to repository 'internal'" );
}
//MRM-747
@Test( enabled = false )
@Test(groups = "requiresUpload")
public void testAddArtifactBlockRedeployments()
{
// TODO: disable test on non *chrome browsers, there is no way to do file uploads (SEL-63)
addArtifact( getGroupId() , getArtifactId(), getVersion(), getPackaging() , getArtifactFilePath(), getRepositoryId() );
assertTextPresent( "Overwriting released artifacts in repository '" + getRepositoryId() + "' is not allowed." );
}
@Test( enabled = false )
@Test(groups = "requiresUpload")
public void testDeleteArtifact()
{
//prep

View File

@ -68,8 +68,7 @@ public void testViewAuditLogsNoDataFound()
}
// TODO: add test for adding via WebDAV
// TODO: disable if not running on *chrome
@Test (dependsOnMethods = { "testAddArtifactValidValues" }, enabled = false )
@Test (dependsOnMethods = { "testAddArtifactValidValues" }, groups = "requiresUpload")
public void testViewAuditLogsDataFound()
{
goToAuditLogReports();
@ -82,15 +81,14 @@ public void testViewAuditLogsDataFound()
assertAuditLogsReportPage();
assertTextPresent( "Results" );
assertTextNotPresent( "No audit logs found." );
assertTextPresent( "test-1.0.jar" );
assertTextPresent( "testAddArtifactValidValues-1.0.jar" );
assertTextPresent( "Uploaded File" );
assertTextPresent( "internal" );
assertTextPresent( "admin" );
}
// TODO: add test for adding via WebDAV
// TODO: disable if not running on *chrome
@Test (dependsOnMethods = { "testAddArtifactValidValues" }, enabled = false )
@Test (dependsOnMethods = { "testAddArtifactValidValues" }, groups = "requiresUpload")
public void testViewAuditLogsOnlyArtifactIdIsSpecified()
{
goToAuditLogReports();
@ -101,17 +99,15 @@ public void testViewAuditLogsOnlyArtifactIdIsSpecified()
submit();
assertAuditLogsReportPage();
assertTextPresent( "Results" );
assertTextPresent( "If you specify an artifact ID, you must specify a group ID" );
assertTextNotPresent( "Results" );
assertTextNotPresent( "No audit logs found." );
assertTextPresent( "test-1.0.jar" );
assertTextPresent( "Uploaded File" );
assertTextPresent( "internal" );
assertTextPresent( "admin" );
assertTextNotPresent( "testAddArtifactValidValues-1.0.jar" );
assertTextNotPresent( "Uploaded File" );
}
// TODO: add test for adding via WebDAV
// TODO: disable if not running on *chrome
@Test (dependsOnMethods = { "testAddArtifactValidValues" }, enabled = false )
@Test (dependsOnMethods = { "testAddArtifactValidValues" }, groups = "requiresUpload")
public void testViewAuditLogsForAllRepositories()
{
goToAuditLogReports();
@ -123,13 +119,13 @@ public void testViewAuditLogsForAllRepositories()
assertAuditLogsReportPage();
assertTextPresent( "Results" );
assertTextNotPresent( "No audit logs found." );
assertTextPresent( "test-1.0.jar" );
assertTextPresent( "testAddArtifactValidValues-1.0.jar" );
assertTextPresent( "Uploaded File" );
assertTextPresent( "internal" );
assertTextPresent( "admin" );
}
@Test (dependsOnMethods = { "testAddArtifactValidValues", "testUserWithRepoManagerInternalRole" }, enabled = false )
@Test (dependsOnMethods = { "testAddArtifactValidValues", "testUserWithRepoManagerInternalRole" }, groups = "requiresUpload")
public void testViewAuditLogsViewAuditEventsForManageableRepositoriesOnly()
{
String groupId = getProperty( "SNAPSHOT_GROUPID" );
@ -144,23 +140,23 @@ public void testViewAuditLogsViewAuditEventsForManageableRepositoriesOnly()
clickLinkWithText( "Logout" );
login( getProperty( "REPOMANAGER_INTERNAL_USERNAME" ), getUserRolePassword() );
goToAuditLogReports();
login( getProperty( "REPOMANAGER_INTERNAL_USERNAME" ), getUserRoleNewPassword() );
goToAuditLogReports();
assertAuditLogsReportPage();
selectValue( "repository", "all" );
submit();
assertAuditLogsReportPage();
assertTextPresent( "Results" );
assertTextNotPresent( "No audit logs found." );
assertTextPresent( "test-1.0.jar" );
assertTextPresent( "testAddArtifactValidValues-1.0.jar" );
assertTextPresent( "Uploaded File" );
assertTextPresent( "internal" );
assertTextPresent( "admin" );
assertTextNotPresent( artifactId + "-" + version + "." + packaging );
clickLinkWithText( "Logout" );
login( getProperty( "ADMIN_USERNAME" ), getProperty( "ADMIN_PASSWORD" ) );
}

View File

@ -45,13 +45,9 @@ public void testClickArtifactFromBrowse()
}
// MRM-1278
@Test( enabled = false )
@Test(groups = {"requiresUpload"})
public void testCorrectRepositoryInBrowse()
{
File artifact =
new File( getBasedir(),
"/src/test/it-resources/snapshots/org/apache/maven/archiva/web/test/foo-bar/1.0-SNAPSHOT/foo-bar-1.0-SNAPSHOT.jar" );
String releasesRepo = getProperty( "RELEASES_REPOSITORY" );
// create releases repository first
@ -64,10 +60,10 @@ public void testCorrectRepositoryInBrowse()
String snapshotsRepo = getProperty( "SNAPSHOTS_REPOSITORY" );
String path = "src/test/it-resources/snapshots/org/apache/maven/archiva/web/test/foo-bar/1.0-SNAPSHOT/foo-bar-1.0-SNAPSHOT.jar";
// TODO: do this differently as uploading doesn't work on browsers other than *chrome (below as well)
// upload a snapshot artifact to repository 'releases'
addArtifact( "archiva", "archiva-webapp", "1.0-SNAPSHOT", "jar", artifact.getPath(),
releasesRepo );
addArtifact( "archiva", "archiva-webapp", "1.0-SNAPSHOT", "jar", path, releasesRepo );
assertTextPresent( "Artifact 'archiva:archiva-webapp:1.0-SNAPSHOT' was successfully deployed to repository '" + releasesRepo + "'" );
goToBrowsePage();
@ -77,8 +73,7 @@ public void testCorrectRepositoryInBrowse()
assertArtifactInfoPage( "1.0-SNAPSHOT/", releasesRepo, "archiva", "archiva-webapp", "1.0-SNAPSHOT", "jar" );
// upload a snapshot artifact to repository 'snapshots'
addArtifact( "continuum", "continuum-core", "1.0-SNAPSHOT", "jar", artifact.getPath(),
snapshotsRepo );
addArtifact( "continuum", "continuum-core", "1.0-SNAPSHOT", "jar", path, snapshotsRepo );
assertTextPresent( "Artifact 'continuum:continuum-core:1.0-SNAPSHOT' was successfully deployed to repository '" + snapshotsRepo + "'" );
goToBrowsePage();

View File

@ -40,4 +40,6 @@ public void testFindArtifactUsingChecksum()
clickButtonWithValue( "Search" );
assertTextPresent( "No results found" );
}
// TODO: test using file upload on Firefox versions that support getAsBinary (ie, no applet)
}

View File

@ -34,8 +34,8 @@ public void testBasicAddDeleteUser()
createUser( username, fullname, getUserEmail(), getUserRolePassword(), true);
deleteUser( username, fullname, getUserEmail() );
clickLinkWithText( "Logout" );
login( getAdminUsername() , getAdminPassword() );
logout();
login( getAdminUsername() , getAdminPassword() );
}
@Test (dependsOnMethods = { "testBasicAddDeleteUser" } )
@ -49,20 +49,20 @@ public void testUserWithGuestRole()
clickLinkWithText( "Edit Roles" );
checkUserRoleWithValue( fullname );
clickButtonWithValue( "Submit" );
clickLinkWithText("Logout");
login(username, getUserRolePassword());
logout();
login(username, getUserRolePassword());
changePassword( getUserRolePassword(), getUserRoleNewPassword());
// this section will be removed if issue from redback after changing password will be fixed.
getSelenium().goBack();
clickLinkWithText("Logout");
//assertTextPresent("You are already logged in.");
logout();
//assertTextPresent("You are already logged in.");
login(username, getUserRoleNewPassword());
assertLeftNavMenuWithRole( fullname );
clickLinkWithText("Logout");
login( getAdminUsername() , getAdminPassword() );
logout();
login( getAdminUsername() , getAdminPassword() );
}
@Test (dependsOnMethods = { "testUserWithGuestRole" } )
@ -76,20 +76,20 @@ public void testUserWithRegisteredUserRole()
clickLinkWithText( "Edit Roles" );
checkUserRoleWithValue( fullname );
clickButtonWithValue( "Submit" );
clickLinkWithText("Logout");
login(username, getUserRolePassword());
logout();
login(username, getUserRolePassword());
changePassword( getUserRolePassword(), getUserRoleNewPassword());
// this section will be removed if issue from redback after changing password will be fixed.
getSelenium().goBack();
clickLinkWithText("Logout");
//assertTextPresent("You are already logged in.");
logout();
//assertTextPresent("You are already logged in.");
login(username, getUserRoleNewPassword());
assertLeftNavMenuWithRole( fullname );
clickLinkWithText("Logout");
login( getAdminUsername() , getAdminPassword() );
logout();
login( getAdminUsername() , getAdminPassword() );
}
@Test (dependsOnMethods = { "testUserWithRegisteredUserRole" } )
@ -103,20 +103,20 @@ public void testUserWithSysAdminUserRole()
clickLinkWithText( "Edit Roles" );
checkUserRoleWithValue( fullname );
clickButtonWithValue( "Submit" );
clickLinkWithText("Logout");
login(username, getUserRolePassword());
logout();
login(username, getUserRolePassword());
changePassword( getUserRolePassword(), getUserRoleNewPassword());
// this section will be removed if issue from redback after changing password will be fixed.
getSelenium().goBack();
clickLinkWithText("Logout");
//assertTextPresent("You are already logged in.");
logout();
//assertTextPresent("You are already logged in.");
login(username, getUserRoleNewPassword());
assertLeftNavMenuWithRole( fullname );
clickLinkWithText("Logout");
login( getAdminUsername() , getAdminPassword() );
logout();
login( getAdminUsername() , getAdminPassword() );
}
@Test (dependsOnMethods = { "testUserWithSysAdminUserRole" } )
@ -130,20 +130,20 @@ public void testUserWithUserAdminUserRole()
clickLinkWithText( "Edit Roles" );
checkUserRoleWithValue( fullname );
clickButtonWithValue( "Submit" );
clickLinkWithText("Logout");
login(username, getUserRolePassword());
logout();
login(username, getUserRolePassword());
changePassword( getUserRolePassword(), getUserRoleNewPassword());
// this section will be removed if issue from redback after changing password will be fixed.
getSelenium().goBack();
clickLinkWithText("Logout");
//assertTextPresent("You are already logged in.");
logout();
//assertTextPresent("You are already logged in.");
login(username, getUserRoleNewPassword());
assertLeftNavMenuWithRole( fullname );
clickLinkWithText("Logout");
login( getAdminUsername() , getAdminPassword() );
logout();
login( getAdminUsername() , getAdminPassword() );
}
@Test (dependsOnMethods = { "testUserWithUserAdminUserRole" } )
@ -157,20 +157,20 @@ public void testUserWithGlobalRepoManagerRole()
clickLinkWithText( "Edit Roles" );
checkUserRoleWithValue( fullname );
clickButtonWithValue( "Submit" );
clickLinkWithText("Logout");
login(username, getUserRolePassword());
logout();
login(username, getUserRolePassword());
changePassword( getUserRolePassword(), getUserRoleNewPassword());
// this section will be removed if issue from redback after changing password will be fixed.
getSelenium().goBack();
clickLinkWithText("Logout");
//assertTextPresent("You are already logged in.");
logout();
//assertTextPresent("You are already logged in.");
login(username, getUserRoleNewPassword());
assertLeftNavMenuWithRole( fullname );
clickLinkWithText("Logout");
login( getAdminUsername() , getAdminPassword() );
logout();
login( getAdminUsername() , getAdminPassword() );
}
@Test (dependsOnMethods = { "testUserWithGlobalRepoManagerRole" } )
@ -184,20 +184,20 @@ public void testUserWithGlobalRepoObserverRole()
clickLinkWithText( "Edit Roles" );
checkUserRoleWithValue( fullname );
clickButtonWithValue( "Submit" );
clickLinkWithText("Logout");
login(username, getUserRolePassword());
logout();
login(username, getUserRolePassword());
changePassword( getUserRolePassword(), getUserRoleNewPassword());
// this section will be removed if issue from redback after changing password will be fixed.
getSelenium().goBack();
clickLinkWithText("Logout");
//assertTextPresent("You are already logged in.");
logout();
//assertTextPresent("You are already logged in.");
login(username, getUserRoleNewPassword());
assertLeftNavMenuWithRole( fullname );
clickLinkWithText("Logout");
login( getAdminUsername() , getAdminPassword() );
logout();
login( getAdminUsername() , getAdminPassword() );
}
@Test (dependsOnMethods = { "testUserWithGlobalRepoObserverRole" } )
@ -211,20 +211,20 @@ public void testUserWithRepoManagerInternalRole()
clickLinkWithText( "Edit Roles" );
checkResourceRoleWithValue( fullname );
clickButtonWithValue( "Submit" );
clickLinkWithText("Logout");
login(username, getUserRolePassword());
logout();
login(username, getUserRolePassword());
changePassword( getUserRolePassword(), getUserRoleNewPassword());
// this section will be removed if issue from redback after changing password will be fixed.
getSelenium().goBack();
clickLinkWithText("Logout");
//assertTextPresent("You are already logged in.");
logout();
//assertTextPresent("You are already logged in.");
login(username, getUserRoleNewPassword());
assertLeftNavMenuWithRole( fullname );
clickLinkWithText("Logout");
login( getAdminUsername() , getAdminPassword() );
logout();
login( getAdminUsername() , getAdminPassword() );
}
/*@Test (dependsOnMethods = { "testUserWithRepoManagerInternalRole" } )
@ -265,46 +265,46 @@ public void testUserWithRepoObserverInternalRole()
clickLinkWithText( "Edit Roles" );
checkResourceRoleWithValue( fullname );
clickButtonWithValue( "Submit" );
clickLinkWithText("Logout");
login(username, getUserRolePassword());
logout();
login(username, getUserRolePassword());
changePassword( getUserRolePassword(), getUserRoleNewPassword());
// this section will be removed if issue from redback after changing password will be fixed.
getSelenium().goBack();
clickLinkWithText("Logout");
//assertTextPresent("You are already logged in.");
logout();
//assertTextPresent("You are already logged in.");
login(username, getUserRoleNewPassword());
assertLeftNavMenuWithRole( fullname );
clickLinkWithText("Logout");
login( getAdminUsername() , getAdminPassword() );
logout();
login( getAdminUsername() , getAdminPassword() );
}
/*@Test (dependsOnMethods = { "testUserWithRepoObserverInternalRole" } )
public void testUserWithRepoObserverSnapshotsRole()
{
username = getProperty( "REPOOBSERVER_SNAPSHOTS_USERNAME" );
fullname = getProperty( "REPOOBSERVER_SNAPSHOTS_FULLNAME" );
createUser(username, fullname, getUserEmail(), getUserRolePassword(), true);
clickLinkWithText( username );
clickLinkWithText( "Edit Roles" );
checkResourceRoleWithValue( fullname );
clickButtonWithValue( "Submit" );
clickLinkWithText("Logout");
login(username, getUserRolePassword());
changePassword( getUserRolePassword(), getUserRoleNewPassword());
// this section will be removed if issue from redback after changing password will be fixed.
getSelenium().goBack();
clickLinkWithText("Logout");
//assertTextPresent("You are already logged in.");
login(username, getUserRoleNewPassword());
assertLeftNavMenuWithRole( fullname );
clickLinkWithText("Logout");
login( getAdminUsername() , getAdminPassword() );
}*/
/*@Test (dependsOnMethods = { "testUserWithRepoObserverInternalRole" } )
public void testUserWithRepoObserverSnapshotsRole()
{
username = getProperty( "REPOOBSERVER_SNAPSHOTS_USERNAME" );
fullname = getProperty( "REPOOBSERVER_SNAPSHOTS_FULLNAME" );
createUser(username, fullname, getUserEmail(), getUserRolePassword(), true);
clickLinkWithText( username );
clickLinkWithText( "Edit Roles" );
checkResourceRoleWithValue( fullname );
clickButtonWithValue( "Submit" );
clickLinkWithText("Logout");
login(username, getUserRolePassword());
changePassword( getUserRolePassword(), getUserRoleNewPassword());
// this section will be removed if issue from redback after changing password will be fixed.
getSelenium().goBack();
clickLinkWithText("Logout");
//assertTextPresent("You are already logged in.");
login(username, getUserRoleNewPassword());
assertLeftNavMenuWithRole( fullname );
clickLinkWithText("Logout");
login( getAdminUsername() , getAdminPassword() );
}*/
}

View File

@ -75,7 +75,7 @@ private void captureError( ITestResult tr )
{
selenium.windowMaximize();
File fileName = new File( targetPath, fileBaseName + ".png" );
selenium.captureEntirePageScreenshot( fileName.getAbsolutePath(), "" );
selenium.captureEntirePageScreenshot( fileName.getAbsolutePath(), "background=#FFFFFF" );
}
catch ( RuntimeException e )
{

View File

@ -1,6 +1,7 @@
package org.apache.archiva.web.test.parent;
import java.io.File;
import java.io.IOException;
import org.apache.archiva.web.test.XPathExpressionUtil;
@ -117,8 +118,8 @@ public void submitUserData( String username, String password, boolean rememberme
submit();
if ( success )
{
assertAuthenticatedPage( username );
}
assertUserLoggedIn( username );
}
else
{
assertLoginPage();
@ -141,18 +142,8 @@ public void assertLoginPage()
assertTextPresent( "Need an Account? Register!" );
assertTextPresent( "Forgot your Password? Request a password reset." );
}
public void assertAuthenticatedPage( String username )
{
assertTextPresent( "Current User" );
assertTextPresent( "Edit Details" );
assertTextPresent( "Logout" );
assertTextNotPresent( "Login" );
assertTextPresent( username );
}
//User Management
//User Management
public void goToUserManagementPage()
{
clickLinkWithText( "User Management" );
@ -277,6 +268,10 @@ public void login( String username, String password, boolean valid, String asser
submitLoginPage( username, password, false, valid, assertReturnPage );
}
if ( valid )
{
assertUserLoggedIn( username );
}
}
public void submitLoginPage( String username, String password )
@ -303,10 +298,7 @@ public void submitLoginPage( String username, String password, boolean rememberM
if ( validUsernamePassword )
{
assertTextPresent( "Current User:" );
assertTextPresent( username );
assertLinkPresent( "Edit Details" );
assertLinkPresent( "Logout" );
assertUserLoggedIn( username );
}
else
{
@ -320,8 +312,17 @@ public void submitLoginPage( String username, String password, boolean rememberM
}
}
}
// User Roles
protected void assertUserLoggedIn( String username )
{
assertTextPresent( "Current User:" );
assertTextPresent( username );
assertLinkPresent( "Edit Details" );
assertLinkPresent( "Logout" );
assertTextNotPresent( "Login" );
}
// User Roles
public void assertUserRoleCheckBoxPresent(String value)
{
getSelenium() .isElementPresent("xpath=//input[@id='addRolesToUser_addNDSelectedRoles' and @name='addNDSelectedRoles' and @value='" + value + "']");
@ -417,11 +418,9 @@ public void assertFindArtifactPage()
assertPage( "Apache Archiva \\ Find Artifact" );
assertTextPresent( "Find Artifact" );
assertTextPresent( "Search for:" );
assertElementPresent( "f" );
assertTextPresent( "Checksum:" );
assertElementPresent( "q" );
assertButtonWithValuePresent( "Search" );
assertTextPresent( "This allows you to search the repository using the checksum of an artifact that you are trying to identify. You can either specify the checksum to look for directly, or scan a local artifact file." );
}
//Appearance
@ -495,7 +494,25 @@ public void addArtifact( String groupId, String artifactId, String version, Stri
checkField( "generatePom" );
}
setFieldValue( "artifact", artifactFilePath );
String path;
if ( artifactFilePath != null && artifactFilePath.trim().length() > 0 )
{
File f = new File( artifactFilePath );
try
{
path = f.getCanonicalPath();
}
catch ( IOException e )
{
path = f.getAbsolutePath();
}
}
else
{
path = artifactFilePath;
}
setFieldValue( "artifact", path );
setFieldValue( "repositoryId", repositoryId );
clickButtonWithValue( "Submit" );
@ -534,4 +551,13 @@ public void addManagedRepository( String identifier, String name, String directo
//TODO
clickButtonWithValue( "Add Repository" );
}
protected void logout()
{
clickLinkWithText("Logout");
assertTextNotPresent( "Current User:" );
assertLinkNotPresent( "Edit Details" );
assertLinkNotPresent( "Logout" );
assertLinkPresent( "Login" );
}
}

View File

@ -1,8 +1,6 @@
package org.apache.archiva.web.test.parent;
import java.io.File;
public abstract class AbstractArtifactManagementTest
public abstract class AbstractArtifactManagementTest
extends AbstractArchivaTest
{
@ -32,9 +30,7 @@ public String getPackaging()
public String getArtifactFilePath()
{
File f = new File( "" );
String artifactFilePath = f.getAbsolutePath();
return artifactFilePath + "/src/test/it-resources/snapshots/org/apache/maven/archiva/web/test/foo-bar/1.0-SNAPSHOT/foo-bar-1.0-SNAPSHOT.jar" ;
return "src/test/it-resources/snapshots/org/apache/maven/archiva/web/test/foo-bar/1.0-SNAPSHOT/foo-bar-1.0-SNAPSHOT.jar";
}
public String getRepositoryId()
@ -45,6 +41,7 @@ public String getRepositoryId()
public void goToDeleteArtifactPage()
{
login( getProperty( "ADMIN_USERNAME" ), getProperty( "ADMIN_PASSWORD" ) );
clickLinkWithText( "Delete Artifact" );
assertDeleteArtifactPage();
}

View File

@ -26,14 +26,13 @@
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Map.Entry;
import org.apache.commons.io.IOUtils;
import org.testng.Assert;
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>
@ -176,7 +175,7 @@ public void assertElementNotPresent( String elementLocator )
public void assertLinkPresent( String text )
{
Assert.assertTrue( isElementPresent( "link=" + text ), "The link '" + text + "' isî't present." );
Assert.assertTrue( isElementPresent( "link=" + text ), "The link '" + text + "' isn't present." );
}
public void assertLinkNotPresent( String text )