Author: olamy
Date: Tue Jun 21 16:40:39 2011
New Revision: 1138081

URL: http://svn.apache.org/viewvc?rev=1138081&view=rev
Log:
push more work on selenium test using id rather than labels

Modified:
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/pom.xml
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/ArchivaAdminTest.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/SearchTest.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractSearchTest.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractSeleniumTest.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/decorators/default.jsp
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/quickSearch.jsp
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/upload.jsp
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/tags/currentWWUrl.tag

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/pom.xml
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/pom.xml?rev=1138081&r1=1138080&r2=1138081&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/pom.xml 
(original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/pom.xml Tue 
Jun 21 16:40:39 2011
@@ -38,7 +38,7 @@
     <cargo.install.dir>cargo-installs</cargo.install.dir>
     <maxWaitTimeInMs>60000</maxWaitTimeInMs>
     <!-- TODO: review how appropriate the memory settings are - should work 
with less -->
-    <cargo.jvm.args>-Xmx512m -XX:MaxPermSize=256m 
-Duser.language=en</cargo.jvm.args>
+    <cargo.jvm.args>-Xmx512m -XX:MaxPermSize=256m</cargo.jvm.args>
     <seleniumPluginVersion>2.0-SNAPSHOT</seleniumPluginVersion>
   </properties>
 
@@ -383,8 +383,6 @@
                 <systemProperties>
                   
<appserver.base>${project.build.directory}/appserver-base</appserver.base>
                   
<appserver.home>${project.build.directory}/appserver-base</appserver.home>
-                  <user.language>en</user.language>
-                  <user.region>US</user.region>
                 </systemProperties>
               </container>
               <configuration>
@@ -584,7 +582,7 @@
         <cargo.jvm.args>
           -Xdebug -Xnoagent -Djava.compiler=NONE
           
-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=${cargo.debug.port}
-          -Xmx512m -XX:MaxPermSize=256m  -Duser.language=en
+          -Xmx512m -XX:MaxPermSize=256m
         </cargo.jvm.args>
         <cargo.debug.port>8000</cargo.debug.port>
         <!-- wait an unusual amount of time (1hr) to allow debugging to occur 
-->

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/ArchivaAdminTest.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/ArchivaAdminTest.java?rev=1138081&r1=1138080&r2=1138081&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/ArchivaAdminTest.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/ArchivaAdminTest.java
 Tue Jun 21 16:40:39 2011
@@ -58,9 +58,8 @@ public class ArchivaAdminTest
 
         getSelenium().open( baseUrl );
         String title = getSelenium().getTitle();
-        //assertElementPresent( "adminCreateForm" );
+        // if not admin user created create one
         if (isElementPresent( "adminCreateForm" ))
-        //if ( title.endsWith( "Create Admin User" ) )
         {
             assertCreateAdmin();
             String fullname = getProperty( "ADMIN_FULLNAME" );
@@ -69,10 +68,10 @@ public class ArchivaAdminTest
             String password = getProperty( "ADMIN_PASSWORD" );
             submitAdminData( fullname, mail, password );
             assertUserLoggedIn( username );
-            //submit();
-            //clickLinkWithText( "Logout" );
             clickLinkWithLocator( "logoutLink" );
         }
+
+        // take care about repositories : internal
     }
 
 }
\ No newline at end of file

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/SearchTest.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/SearchTest.java?rev=1138081&r1=1138080&r2=1138081&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/SearchTest.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/SearchTest.java
 Tue Jun 21 16:40:39 2011
@@ -24,27 +24,32 @@ import java.io.File;
 import org.apache.archiva.web.test.parent.AbstractSearchTest;
 import org.testng.annotations.Test;
 
-@Test( groups = { "search" }, dependsOnMethods = { 
"testWithCorrectUsernamePassword" } )
+@Test( groups = { "search" }, dependsOnGroups = {"about"}, sequential = true)
 public class SearchTest
     extends AbstractSearchTest
 {
 
+    @Test(alwaysRun = true)
     public void testSearchNonExistingArtifact()
         throws Exception
     {
         searchForArtifact( getProperty( "SEARCH_BAD_ARTIFACT" ) );
-        assertTextPresent( "No results found" );
+        //assertTextPresent( "No results found" );
+        assertElementPresent( "//span[@class=\'errorMessage\']" );
     }
 
     // TODO: make search tests more robust especially when comparing/asserting 
number of hits
+    @Test(alwaysRun = true)
     public void testSearchExistingArtifact()
     {
         searchForArtifact( getProperty( "ARTIFACT_ARTIFACTID" ) );
-        assertTextPresent( "Results" );
-        assertTextPresent( "Hits: 1 to 1 of 1" );
+        //assertTextPresent( "Results" );
+        assertElementPresent( "resultsBox" );
+        assertTextPresent( "1 to 1 of 1" );
         assertLinkPresent( "test" );
     }
 
+    @Test(alwaysRun = true)
     public void testViewSearchedArtifact()
     {
         searchForArtifact( getProperty( "ARTIFACT_ARTIFACTID" ) );
@@ -54,7 +59,8 @@ public class SearchTest
         clickLinkWithText( getProperty( "ARTIFACT_VERSION" ) + "/" );
         assertPage( "Apache Archiva \\ Browse Repository" );
     }
-    
+
+    @Test(alwaysRun = true)
     public void testSearchWithMultipleKeywords()
     {
         String groupId = getProperty( "ADD_REMOVE_GROUPID" );
@@ -79,18 +85,21 @@ public class SearchTest
         assertTextPresent( "No results found" );
     }
 
+    @Test(alwaysRun = true)
     public void testSearchNonExistingArtifactInAdvancedSearch()
     {
         searchForArtifactAdvancedSearch( null, getProperty( 
"SEARCH_BAD_ARTIFACT" ), null, null, null, null );
         assertTextPresent( "No results found" );
     }
 
+    @Test(alwaysRun = true)
     public void testSearchNoSearchCriteriaSpecifiedInAdvancedSearch()
     {
         searchForArtifactAdvancedSearch( null, null, null, null, null, null );
         assertTextPresent( "Advanced Search - At least one search criteria 
must be provided." );
     }
 
+    @Test(alwaysRun = true)
     public void testSearchExistingArtifactUsingAdvancedSearchArtifactId()
     {
         searchForArtifactAdvancedSearch( null, getProperty( 
"ARTIFACT_ARTIFACTID" ), null,
@@ -100,6 +109,7 @@ public class SearchTest
         assertLinkPresent( "test" );
     }
 
+    @Test(alwaysRun = true)
     public void testSearchExistingArtifactUsingAdvancedSearchGroupId()
     {
         searchForArtifactAdvancedSearch( getProperty( "GROUPID" ), null, null, 
getProperty( "REPOSITORYID" ), null,
@@ -109,6 +119,7 @@ public class SearchTest
         assertLinkPresent( "test" );
     }
 
+    @Test(alwaysRun = true)
     public void 
testSearchExistingArtifactAllCriteriaSpecifiedInAdvancedSearch()
     {
         searchForArtifactAdvancedSearch( getProperty( "GROUPID" ), 
getProperty( "ARTIFACT_ARTIFACTID" ) , getProperty( "ARTIFACT_VERSION" ), 
@@ -118,6 +129,7 @@ public class SearchTest
         assertLinkPresent( "test" );
     }
 
+    @Test(alwaysRun = true)
     public void testSearchExistingArtifactUsingAdvancedSearchNotInRepository()
     {
         searchForArtifactAdvancedSearch( null, getProperty( 
"ARTIFACT_ARTIFACTID" ), null, "snapshots", null, null );

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java?rev=1138081&r1=1138080&r2=1138081&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java
 Tue Jun 21 16:40:39 2011
@@ -103,7 +103,6 @@ public abstract class AbstractArchivaTes
     public void goToLoginPage()
     {
         getSelenium().open( baseUrl );
-        //clickLinkWithText( "Login" );
         clickLinkWithLocator( "loginLink" );
         assertLoginPage();
     }
@@ -270,7 +269,7 @@ public abstract class AbstractArchivaTes
 
     public void login( String username, String password, boolean valid, String 
assertReturnPage )
     {
-        if ( isLinkPresent( "Login" ) )
+        if ( isElementPresent( "loginLink" ) )
         {
             goToLoginPage();
 
@@ -302,8 +301,8 @@ public abstract class AbstractArchivaTes
         {
             checkField( "rememberMe" );
         }
-        clickButtonWithValue( "Login" );
-
+        //clickButtonWithValue( "Login" );
+        clickButtonWithLocator( "loginSubmit" );
         if ( validUsernamePassword )
         {
             assertUserLoggedIn( username );
@@ -470,9 +469,14 @@ public abstract class AbstractArchivaTes
         clickButtonWithValue( "Save" );
     }
 
+    public void goToHomePage()
+    {
+         getSelenium().open( "");
+    }
     // Upload Artifact
     public void goToAddArtifactPage()
     {
+        // must be logged as admin
         getSelenium().open( "/archiva/upload.action" );
         assertAddArtifactPage();
     }
@@ -504,6 +508,7 @@ public abstract class AbstractArchivaTes
     public void addArtifact( String groupId, String artifactId, String 
version, String packaging, boolean generatePom,
                              String artifactFilePath, String repositoryId )
     {
+        login( getProperty( "ADMIN_USERNAME" ), getProperty( "ADMIN_PASSWORD" 
) );
         goToAddArtifactPage();
         setFieldValue( "groupId", groupId );
         setFieldValue( "artifactId", artifactId );
@@ -534,9 +539,10 @@ public abstract class AbstractArchivaTes
         }
 
         setFieldValue( "artifact", path );
-        selectValue( "repositoryId", repositoryId );
+        selectValue( "upload_repositoryId", repositoryId );
 
-        clickButtonWithValue( "Submit" );
+        //clickButtonWithValue( "Submit" );
+        clickButtonWithLocator( "uploadSubmit" );
     }
 
     public void goToRepositoriesPage()

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractSearchTest.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractSearchTest.java?rev=1138081&r1=1138080&r2=1138081&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractSearchTest.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractSearchTest.java
 Tue Jun 21 16:40:39 2011
@@ -25,12 +25,15 @@ public abstract class AbstractSearchTest
     // Search
     public void goToSearchPage()
     {
-        if ( !"Apache Archiva \\ Quick Search".equals( getTitle() ) )
+        goToHomePage();
+        //if ( !"Apache Archiva \\ Quick Search".equals( getTitle() ) )
+        if ( isElementPresent( "quickSearchBox" ) )
         {
-            clickLinkWithText( "Search" );
+            //clickLinkWithText( "Search" );
+            clickLinkWithLocator( "menuSearchLink" );
             getSelenium().waitForPageToLoad( maxWaitTimeInMs );
-
-            assertPage( "Apache Archiva \\ Quick Search" );
+            assertElementPresent( "quickSearchSubmit" );
+            //assertPage( "Apache Archiva \\ Quick Search" );
         }
     }
 
@@ -38,7 +41,7 @@ public abstract class AbstractSearchTest
     {
         assertPage( "Apache Archiva \\ Quick Search" );
         assertTextPresent( "Search for" );
-        assertElementPresent( "quickSearch_q" );
+        assertElementPresent( "quickSearchSubmit" );
         assertButtonWithValuePresent( "Search" );
         // assertLinkPresent( "Advanced Search" );
         assertTextPresent( "Enter your search terms. A variety of data will be 
searched for your keywords." );
@@ -50,11 +53,12 @@ public abstract class AbstractSearchTest
         goToSearchPage();
 
         getSelenium().type( "dom=document.forms[1].elements[0]", artifactId );
-        clickButtonWithValue( "Search" );
+        //clickButtonWithValue( "Search" );
+        clickButtonWithLocator( "quickSearchSubmit" );
     }
 
-    public void searchForArtifactAdvancedSearch( String groupId, String 
artifactId, String version,
-                                                 String repositoryId, String 
className, String rowCount )
+    public void searchForArtifactAdvancedSearch( String groupId, String 
artifactId, String version, String repositoryId,
+                                                 String className, String 
rowCount )
     {
         goToSearchPage();
 

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractSeleniumTest.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractSeleniumTest.java?rev=1138081&r1=1138080&r2=1138081&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractSeleniumTest.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractSeleniumTest.java
 Tue Jun 21 16:40:39 2011
@@ -72,8 +72,7 @@ public abstract class AbstractSeleniumTe
 
             if ( getSelenium() == null )
             {
-                DefaultSelenium s =
-                    new DefaultSelenium( seleniumHost, seleniumPort, browser, 
baseUrl );
+                DefaultSelenium s = new DefaultSelenium( seleniumHost, 
seleniumPort, browser, baseUrl );
                 s.start();
                 s.setTimeout( maxWaitTimeInMs );
                 selenium.set( s );
@@ -255,6 +254,7 @@ public abstract class AbstractSeleniumTe
         getSelenium().select( locator, "label=" + value );
     }
 
+
     public void assertOptionPresent( String selectField, String[] options )
     {
         assertElementPresent( selectField );
@@ -371,6 +371,21 @@ public abstract class AbstractSeleniumTe
         }
     }
 
+    public void clickButtonWithLocator( String locator )
+    {
+        clickButtonWithLocator( locator, true );
+    }
+
+    public void clickButtonWithLocator( String locator, boolean wait )
+    {
+        assertElementPresent( locator );
+        getSelenium().click( locator );
+        if ( wait )
+        {
+            waitPage();
+        }
+    }
+
     public void setFieldValues( Map<String, String> fieldMap )
     {
         Map.Entry<String, String> entry;

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/decorators/default.jsp
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/decorators/default.jsp?rev=1138081&r1=1138080&r2=1138081&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/decorators/default.jsp
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/decorators/default.jsp
 Tue Jun 21 16:40:39 2011
@@ -81,7 +81,7 @@
 
 <div id="topSearchBox">
     <s:form method="get" action="quickSearch" namespace="/" validate="true">
-        <s:textfield label="Search for" size="30" name="q"/>
+        <s:textfield id="quickSearchBox" label="Search for" size="30" 
name="q"/>
     </s:form>
 </div>
 
@@ -91,17 +91,17 @@
     <h5>Find</h5>
     <ul>
       <li class="none">
-        <my:currentWWUrl action="index" namespace="/">Search</my:currentWWUrl>
+        <my:currentWWUrl action="index" namespace="/" 
id="menuSearchLink">Search</my:currentWWUrl>
       </li>
 
       <s:if test="%{#application['uiOptions'].showFindArtifacts}">
         <li class="none">
-          <my:currentWWUrl action="findArtifact" namespace="/">Find 
Artifact</my:currentWWUrl>
+          <my:currentWWUrl action="findArtifact" namespace="/" 
id="menuFindArtifactLink">Find Artifact</my:currentWWUrl>
         </li>
       </s:if>
 
       <li class="none">
-        <my:currentWWUrl action="browse" namespace="/">Browse</my:currentWWUrl>
+        <my:currentWWUrl action="browse" namespace="/" 
id="menuBrowseLink">Browse</my:currentWWUrl>
       </li>
     </ul>
 

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/quickSearch.jsp
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/quickSearch.jsp?rev=1138081&r1=1138080&r2=1138081&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/quickSearch.jsp
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/quickSearch.jsp
 Tue Jun 21 16:40:39 2011
@@ -97,7 +97,7 @@
   <s:form method="get" id="quickSearch" action="quickSearch" validate="true">  
  
     <s:textfield label="Search for" size="50" name="q"/> 
     <s:hidden name="completeQueryString" value="%{completeQueryString}"/>  
-    <s:submit value="Search"/>         
+    <s:submit value="Search" id="quickSearchSubmit"/>
   </s:form>  
   <p>
     <s:actionerror/>

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/upload.jsp
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/upload.jsp?rev=1138081&r1=1138080&r2=1138081&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/upload.jsp
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/upload.jsp
 Tue Jun 21 16:40:39 2011
@@ -39,7 +39,7 @@
 
   <s:form action="upload!doUpload" method="post" enctype="multipart/form-data" 
validate="true">    
     <%@ include file="/WEB-INF/jsp/include/uploadForm.jspf" %>
-    <s:submit/>
+    <s:submit id="uploadSubmit"/>
   </s:form>
 </div>
 

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/tags/currentWWUrl.tag
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/tags/currentWWUrl.tag?rev=1138081&r1=1138080&r2=1138081&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/tags/currentWWUrl.tag
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/tags/currentWWUrl.tag
 Tue Jun 21 16:40:39 2011
@@ -21,6 +21,7 @@
 <%@ taglib uri="http://java.sun.com/jsp/jstl/core"; prefix="c" %>
 <%@ attribute name="action" %>
 <%@ attribute name="namespace" %>
+<%@ attribute name="id" %>
 <%@ attribute name="url" %>
 <%@ attribute name="useParams" required="false" %>
 
@@ -35,7 +36,7 @@
 </c:set>
 <c:if test="${!empty (action) && !empty (namespace)}">
   <c:set var="url">
-    <s:url action="%{#attr.action}" namespace="%{#attr.namespace}"/>
+    <s:url action="%{#attr.action}" namespace="%{#attr.namespace}" 
id="%{#attr.id}"/>
   </c:set>
 </c:if>
 <c:set var="text">
@@ -46,16 +47,12 @@ Current URL: <c:out value="${currentUrl}
 <c:choose>
   <c:when test="${currentUrl == url}">
     <b>
-
     ${text}
-
     </b>
   </c:when>
   <c:otherwise>
-    <a href="${url}">
-
+    <a href="${url}" id="${id}">
     ${text}
-
     </a>
   </c:otherwise>
 </c:choose>


Reply via email to