Revision: 927
          http://jwebunit.svn.sourceforge.net/jwebunit/?rev=927&view=rev
Author:   henryju
Date:     2011-09-23 15:35:23 +0000 (Fri, 23 Sep 2011)
Log Message:
-----------
Fix xpath expressions and getParent()

Modified Paths:
--------------
    
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/IElementTest.java
    
trunk/jwebunit-webdriver-plugin/src/main/java/net/sourceforge/jwebunit/webdriver/WebDriverElementImpl.java
    
trunk/jwebunit-webdriver-plugin/src/main/java/net/sourceforge/jwebunit/webdriver/WebDriverTestingEngineImpl.java

Modified: 
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/IElementTest.java
===================================================================
--- 
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/IElementTest.java
 2011-09-23 15:05:27 UTC (rev 926)
+++ 
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/IElementTest.java
 2011-09-23 15:35:23 UTC (rev 927)
@@ -78,7 +78,7 @@
     /**
      * Test parent, child methods
      */
-    @Test public void testChildren() {
+    @Test public void testChildrenAndParent() {
        assertElementPresent("first");
        IElement element = getElementById("first");
        assertEquals(element.getName(), "li");

Modified: 
trunk/jwebunit-webdriver-plugin/src/main/java/net/sourceforge/jwebunit/webdriver/WebDriverElementImpl.java
===================================================================
--- 
trunk/jwebunit-webdriver-plugin/src/main/java/net/sourceforge/jwebunit/webdriver/WebDriverElementImpl.java
  2011-09-23 15:05:27 UTC (rev 926)
+++ 
trunk/jwebunit-webdriver-plugin/src/main/java/net/sourceforge/jwebunit/webdriver/WebDriverElementImpl.java
  2011-09-23 15:35:23 UTC (rev 927)
@@ -95,7 +95,7 @@
      * @see net.sourceforge.jwebunit.api.IElement#getParent()
      */
     public IElement getParent() {
-        return new 
WebDriverElementImpl(element.findElement(By.xpath("//parent::*")));
+        return new 
WebDriverElementImpl(element.findElement(By.xpath("parent::*")));
     }
 
     /*

Modified: 
trunk/jwebunit-webdriver-plugin/src/main/java/net/sourceforge/jwebunit/webdriver/WebDriverTestingEngineImpl.java
===================================================================
--- 
trunk/jwebunit-webdriver-plugin/src/main/java/net/sourceforge/jwebunit/webdriver/WebDriverTestingEngineImpl.java
    2011-09-23 15:05:27 UTC (rev 926)
+++ 
trunk/jwebunit-webdriver-plugin/src/main/java/net/sourceforge/jwebunit/webdriver/WebDriverTestingEngineImpl.java
    2011-09-23 15:35:23 UTC (rev 927)
@@ -540,7 +540,7 @@
     }
 
     public String[] getSelectOptionValues(String selectName, int index) {
-        Select select = new Select(getWebElementByXPath("//select[@name=" + 
escapeQuotes(selectName) + " and position()=" + (index + 1) + "]", true, true));
+        Select select = new Select(getWebElementByXPath("//select[@name=" + 
escapeQuotes(selectName) + "][" + (index + 1) + "]", true, true));
         ArrayList<String> result = new ArrayList<String>();
         for (WebElement opt : select.getOptions()) {
             result.add(opt.getAttribute("value"));
@@ -563,7 +563,7 @@
     }
 
     public String[] getSelectedOptions(String selectName, int index) {
-        Select select = new Select(getWebElementByXPath("//select[@name='" + 
selectName + "' and position()=" + (index + 1) + "]", true, true));
+        Select select = new Select(getWebElementByXPath("//select[@name=" + 
escapeQuotes(selectName) + "][" + (index + 1) + "]", true, true));
         return getSelectedOptions(select);
     }
 
@@ -586,22 +586,22 @@
     }
 
     public String getSelectOptionLabelForValue(String selectName, String 
optionValue) {
-        Select select = new Select(getWebElementByXPath("//select[@name='" + 
selectName + "']", true, true));
+        Select select = new Select(getWebElementByXPath("//select[@name=" + 
escapeQuotes(selectName) + "]", true, true));
         return getSelectOptionLabelForValue(select, optionValue);
     }
 
     public String getSelectOptionLabelForValue(String selectName, int index, 
String optionValue) {
-        Select select = new Select(getWebElementByXPath("//select[@name='" + 
selectName + "' and position()=" + (index + 1) + "]", true, true));
+        Select select = new Select(getWebElementByXPath("//select[@name=" + 
escapeQuotes(selectName) + "][" + (index + 1) + "]", true, true));
         return getSelectOptionLabelForValue(select, optionValue);
     }
 
     public String getSelectOptionValueForLabel(String selectName, String 
optionLabel) {
-        Select select = new Select(getWebElementByXPath("//select[@name='" + 
selectName + "']", true, true));
+        Select select = new Select(getWebElementByXPath("//select[@name=" + 
escapeQuotes(selectName) + "]", true, true));
         return getSelectOptionValueForLabel(select, optionLabel);
     }
 
     public String getSelectOptionValueForLabel(String selectName, int index, 
String optionLabel) {
-        Select select = new Select(getWebElementByXPath("//select[@name='" + 
selectName + "' and position()=" + (index + 1) + "]", true, true));
+        Select select = new Select(getWebElementByXPath("//select[@name=" + 
escapeQuotes(selectName) + "][" + (index + 1) + "]", true, true));
         return getSelectOptionValueForLabel(select, optionLabel);
     }
 
@@ -610,7 +610,7 @@
     }
 
     public void selectOptions(String selectName, int index, String[] 
optionValues) {
-        Select select = new Select(getWebElementByXPath("//select[@name='" + 
selectName + "' and position()=" + (index + 1) + "]", true, true));
+        Select select = new Select(getWebElementByXPath("//select[@name=" + 
escapeQuotes(selectName) + "][" + (index + 1) + "]", true, true));
         if (!select.isMultiple() && optionValues.length > 1)
             throw new RuntimeException("Multiselect not enabled");
         for (String option : optionValues) {
@@ -634,7 +634,7 @@
     }
 
     public void unselectOptions(String selectName, int index, String[] 
optionValues) {
-        Select select = new Select(getWebElementByXPath("//select[@name='" + 
selectName + "' and position()=" + (index + 1) + "]", true, true));
+        Select select = new Select(getWebElementByXPath("//select[@name=" + 
escapeQuotes(selectName) + "][" + (index + 1) + "]", true, true));
         if (!select.isMultiple() && optionValues.length > 1)
             throw new RuntimeException("Multiselect not enabled");
         for (String option : optionValues) {
@@ -662,7 +662,7 @@
     }
 
     public boolean hasSelectOption(String selectName, int index, String 
optionLabel) {
-        Select select = new Select(getWebElementByXPath("//select[@name=" + 
escapeQuotes(selectName) + " and position()=" + (index + 1) + "]", true, true));
+        Select select = new Select(getWebElementByXPath("//select[@name=" + 
escapeQuotes(selectName) + "][" + (index + 1) + "]", true, true));
         for (WebElement opt : select.getOptions()) {
             if (opt.getText().equals(optionLabel)) {
                 return true;
@@ -672,7 +672,7 @@
     }
 
     public boolean hasSelectOptionValue(String selectName, int index, String 
optionValue) {
-        Select select = new Select(getWebElementByXPath("//select[@name=" + 
escapeQuotes(selectName) + " and position()=" + (index + 1) + "]", true, true));
+        Select select = new Select(getWebElementByXPath("//select[@name=" + 
escapeQuotes(selectName) + "][" + (index + 1) + "]", true, true));
         for (WebElement opt : select.getOptions()) {
             if (opt.getAttribute("value").equals(optionValue)) {
                 return true;

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2dcopy2
_______________________________________________
JWebUnit-development mailing list
JWebUnit-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jwebunit-development

Reply via email to