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