Author: evenisse
Date: Fri Dec 22 09:21:31 2006
New Revision: 489697

URL: http://svn.apache.org/viewvc?view=rev&rev=489697
Log:
Add support for images in getColumnElement()

Modified:
    
maven/shared/trunk/maven-web-ui-tests/src/main/java/org/apache/maven/shared/web/test/AbstractSeleniumTestCase.java
    
maven/shared/trunk/maven-web-ui-tests/src/main/java/org/apache/maven/shared/web/test/XPathExpressionUtil.java

Modified: 
maven/shared/trunk/maven-web-ui-tests/src/main/java/org/apache/maven/shared/web/test/AbstractSeleniumTestCase.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-web-ui-tests/src/main/java/org/apache/maven/shared/web/test/AbstractSeleniumTestCase.java?view=diff&rev=489697&r1=489696&r2=489697
==============================================================================
--- 
maven/shared/trunk/maven-web-ui-tests/src/main/java/org/apache/maven/shared/web/test/AbstractSeleniumTestCase.java
 (original)
+++ 
maven/shared/trunk/maven-web-ui-tests/src/main/java/org/apache/maven/shared/web/test/AbstractSeleniumTestCase.java
 Fri Dec 22 09:21:31 2006
@@ -276,6 +276,7 @@
 
     public void clickLinkWithLocator( String locator, boolean wait )
     {
+        assertElementPresent( locator );
         sel.click( locator );
         if ( wait )
         {

Modified: 
maven/shared/trunk/maven-web-ui-tests/src/main/java/org/apache/maven/shared/web/test/XPathExpressionUtil.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-web-ui-tests/src/main/java/org/apache/maven/shared/web/test/XPathExpressionUtil.java?view=diff&rev=489697&r1=489696&r2=489697
==============================================================================
--- 
maven/shared/trunk/maven-web-ui-tests/src/main/java/org/apache/maven/shared/web/test/XPathExpressionUtil.java
 (original)
+++ 
maven/shared/trunk/maven-web-ui-tests/src/main/java/org/apache/maven/shared/web/test/XPathExpressionUtil.java
 Fri Dec 22 09:21:31 2006
@@ -42,33 +42,35 @@
     public static final String END_NODE_TEST = "]";
 
     public static final String ANCHOR = "a";
-    
+
+    public static final String IMG = "img";
+
     public static final String LIST = "ul";
-    
+
     public static final String LINE = "li";
 
     public static String getList( String[] values )
     {
         String xpathExpression = "";
-        
+
         if ( values.length > 0 )
         {        
             xpathExpression += ELEMENT_ANY_LEVEL; 
             xpathExpression += LIST;
             xpathExpression += START_NODE_TEST;
-            
+
             for (int nIndex = 0; nIndex < values.length; nIndex++ )
             {
                 xpathExpression += ( ( nIndex > 0 ) ? AND : "" );              
  
                 xpathExpression += contains( LINE + position( nIndex + 1 ), 
values[nIndex] );
             }
-            
+
             xpathExpression += END_NODE_TEST;
         }    
-        
+
         return xpathExpression;
     }
-    
+
     /**
      * expression for acquiring an element in one of the table columns
      *
@@ -94,6 +96,36 @@
     public static String getColumnElement( String element, int elementIndex, 
String elementValue,
                                            String[] columnValues )
     {
+        return getColumnElement( element, elementIndex, elementValue, "TEXT", 
columnValues );
+    }
+
+    /**
+     * expression for acquiring an element in one of the table columns
+     *
+     * @param element      the node element
+     * @param elementIndex column index of the element, used for skipping
+     * @param imageName the matched image name
+     * @param columnValues the values to be matched in each column, element 
column is included
+     * @return
+     */
+    public static String getImgColumnElement( String element, int 
elementIndex, String imageName,
+                                           String[] columnValues )
+    {
+        return getColumnElement( element, elementIndex, imageName, IMG, 
columnValues );
+    }
+
+    /**
+     * expression for acquiring an element in one of the table columns
+     *
+     * @param element      the node element
+     * @param elementIndex column index of the element, used for skipping
+     * @param imageName the matched image name
+     * @param columnValues the values to be matched in each column, element 
column is included
+     * @return
+     */
+    private static String getColumnElement( String element, int elementIndex, 
String elementValue,
+                                            String elementValueType, String[] 
columnValues )
+    {
         String xpathExpression = null;
 
         if ( ( columnValues != null ) && ( columnValues.length > 0 ) )
@@ -103,7 +135,10 @@
 
             if ( elementValue != null )
             {
-                xpathExpression += contains( elementValue );
+                if ( "TEXT".equals( elementValueType ) )
+                {
+                    xpathExpression += contains( elementValue );
+                }
                 xpathExpression += ( columnValues.length > 0 ) ? AND : "";
             }
 
@@ -111,6 +146,11 @@
             xpathExpression += matchColumns( GRANDPARENT_NODE, columnValues, 
elementIndex );
 
             xpathExpression += END_NODE_TEST;
+        }
+
+        if ( IMG.equals( elementValueType ) )
+        {
+            xpathExpression += "/img[contains(@src, '" + elementValue + "')]";
         }
 
         return xpathExpression;


Reply via email to