Revision: 708
http://svn.sourceforge.net/jwebunit/?rev=708&view=rev
Author: henryju
Date: 2007-05-20 10:50:40 -0700 (Sun, 20 May 2007)
Log Message:
-----------
Improve Selenium plugin.
Modified Paths:
--------------
trunk/jwebunit-core/pom.xml
trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/junit/WebTester.java
trunk/jwebunit-htmlunit-plugin/pom.xml
trunk/jwebunit-selenium-plugin/src/main/java/net/sourceforge/jwebunit/selenium/SeleniumTestingEngineImpl.java
trunk/pom.xml
Modified: trunk/jwebunit-core/pom.xml
===================================================================
--- trunk/jwebunit-core/pom.xml 2007-05-06 11:22:58 UTC (rev 707)
+++ trunk/jwebunit-core/pom.xml 2007-05-20 17:50:40 UTC (rev 708)
@@ -15,7 +15,6 @@
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <scope>test</scope>
</dependency>
<dependency>
<groupId>regexp</groupId>
Modified:
trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/junit/WebTester.java
===================================================================
---
trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/junit/WebTester.java
2007-05-06 11:22:58 UTC (rev 707)
+++
trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/junit/WebTester.java
2007-05-20 17:50:40 UTC (rev 708)
@@ -1786,6 +1786,7 @@
* @param nameOrId name or id of the form to work with.
*/
public void setWorkingForm(String nameOrId) {
+ assertFormPresent(nameOrId);
getTestingEngine().setWorkingForm(nameOrId, 0);
}
Modified: trunk/jwebunit-htmlunit-plugin/pom.xml
===================================================================
--- trunk/jwebunit-htmlunit-plugin/pom.xml 2007-05-06 11:22:58 UTC (rev
707)
+++ trunk/jwebunit-htmlunit-plugin/pom.xml 2007-05-20 17:50:40 UTC (rev
708)
@@ -34,7 +34,7 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>htmlunit</groupId>
+ <groupId>net.sourceforge.htmlunit</groupId>
<artifactId>htmlunit</artifactId>
</dependency>
<dependency>
Modified:
trunk/jwebunit-selenium-plugin/src/main/java/net/sourceforge/jwebunit/selenium/SeleniumTestingEngineImpl.java
===================================================================
---
trunk/jwebunit-selenium-plugin/src/main/java/net/sourceforge/jwebunit/selenium/SeleniumTestingEngineImpl.java
2007-05-06 11:22:58 UTC (rev 707)
+++
trunk/jwebunit-selenium-plugin/src/main/java/net/sourceforge/jwebunit/selenium/SeleniumTestingEngineImpl.java
2007-05-20 17:50:40 UTC (rev 708)
@@ -107,7 +107,7 @@
}
public void clickLinkWithImage(String imageFileName, int index) {
- selenium.click("xpath=//a[contains(img/@src,'" + imageFileName +
"')]");
+ selenium.click("xpath=//a[contains(img/@src,'" + imageFileName +
"')][" + index + 1 + "]");
selenium.waitForPageToLoad(timeout);
}
@@ -118,7 +118,7 @@
}
public void clickRadioOption(String radioGroup, String radioOptionValue) {
- selenium.click("xpath=" + formSelector() + "//[EMAIL PROTECTED]'" +
radioGroup + "' and @value='"
+ selenium.click("xpath=" + formSelector() + "//[EMAIL PROTECTED]'radio'
and @name='" + radioGroup + "' and @value='"
+ radioOptionValue + "']");
}
@@ -260,7 +260,7 @@
public boolean hasLinkWithImage(String imageFileName, int index) {
return selenium.isElementPresent("xpath=//a[contains(img/@src,'"
- + imageFileName + "')]");
+ + imageFileName + "')][" + index + 1 + "]");
}
public boolean hasLinkWithText(String linkText, int index) {
@@ -292,26 +292,32 @@
}
public boolean hasSubmitButton() {
+ String xpath1 = formSelector() + "//[EMAIL PROTECTED]'submit' or
@type='image']";
+ String xpath2 = formSelector() + "//[EMAIL PROTECTED]'submit']";
return selenium
- .isElementPresent("xpath=" + formSelector() + "(//[EMAIL
PROTECTED]'submit' or @type='image']|//[EMAIL PROTECTED]'submit'])");
+ .isElementPresent("xpath=" + xpath1 + "|" + xpath2);
}
public boolean hasSubmitButton(String nameOrID, String value) {
+ String xpath1 = formSelector() + "//input[(@type='submit' or
@type='image') and (@id='"
+ + nameOrID + "' or @name='" + nameOrID
+ + "') and @value='" + value + "']";
+ String xpath2 = formSelector() + "//[EMAIL PROTECTED]'submit' and
(@id='"
+ + nameOrID + "' or @name='" + nameOrID
+ + "') and @value='" + value + "']";
return selenium
- .isElementPresent("xpath=" + formSelector() +
"(//input[(@type='submit' or @type='image') and (@id='"
- + nameOrID + "' or @name='" + nameOrID
- + "') and @value='" + value + "']|//[EMAIL
PROTECTED]'submit' and (@id='"
- + nameOrID + "' or @name='" + nameOrID
- + "') and @value='" + value + "'])");
+ .isElementPresent("xpath=" + xpath1 + "|" + xpath2);
}
public boolean hasSubmitButton(String nameOrID) {
+ String xpath1 = formSelector() + "//input[(@type='submit' or
@type='image') and (@id='"
+ + nameOrID + "' or @name='" + nameOrID
+ + "')]";
+ String xpath2 = formSelector() + "//[EMAIL PROTECTED]'submit' and
(@id='"
+ + nameOrID + "' or @name='" + nameOrID
+ + "')]";
return selenium
- .isElementPresent("xpath=" + formSelector() +
"(//input[(@type='submit' or @type='image') and (@id='"
- + nameOrID + "' or @name='" + nameOrID
- + "')]|//[EMAIL PROTECTED]'submit' and (@id='"
- + nameOrID + "' or @name='" + nameOrID
- + "')])");
+ .isElementPresent("xpath=" + xpath1 + "|" + xpath2);
}
public boolean hasResetButton() {
@@ -385,36 +391,44 @@
}
public void setTextField(String inputName, String text) {
- selenium.type("xpath=" + formSelector() + "(//[EMAIL
PROTECTED]'"+inputName+"' and (@type='text' or @type='password' or
@type='file')]|//[EMAIL PROTECTED]'"+inputName+"'])", text);
+ String xpath1 = formSelector() + "//[EMAIL PROTECTED]'"+inputName+"'
and (@type='text' or @type='password' or @type='file')]";
+ String xpath2 = formSelector() + "//[EMAIL PROTECTED]'"+inputName+"']";
+ selenium.type("xpath=" + xpath1 + "|" + xpath2, text);
}
public void setWorkingForm(String nameOrId, int index) {
if (nameOrId != null)
- formIdent="(@name='"+nameOrId+"' or @id='"+nameOrId+"') and
position()="+index;
+ formIdent="(@name='"+nameOrId+"' or @id='"+nameOrId+"')][
position()="+(index+1);
else
formIdent=null;
}
public void submit() {
- selenium.click("xpath=" + formSelector() + "(//[EMAIL
PROTECTED]'submit' or @type='image']|//[EMAIL PROTECTED]'submit'])");
+ String xpath1 = formSelector() + "//[EMAIL PROTECTED]'submit' or
@type='image']";
+ String xpath2 = formSelector() + "//[EMAIL PROTECTED]'submit']";
+ selenium.click("xpath=" + xpath1 + "|" + xpath2);
selenium.waitForPageToLoad(timeout);
}
- public void submit(String buttonName, String buttonValue) {
- selenium.click("xpath=" + formSelector() + "(//input[(@type='submit'
or @type='image') and (@id='"
- + buttonName + "' or @name='" + buttonName
- + "') and @value='" + buttonValue + "']|//[EMAIL
PROTECTED]'submit' and (@id='"
- + buttonName + "' or @name='" + buttonName
- + "') and @value='" + buttonValue + "'])");
+ public void submit(String nameOrID, String value) {
+ String xpath1 = formSelector() + "//input[(@type='submit' or
@type='image') and (@id='"
+ + nameOrID + "' or @name='" + nameOrID
+ + "') and @value='" + value + "']";
+ String xpath2 = formSelector() + "//[EMAIL PROTECTED]'submit' and
(@id='"
+ + nameOrID + "' or @name='" + nameOrID
+ + "') and @value='" + value + "']";
+ selenium.click("xpath=" + xpath1 + "|" + xpath2);
selenium.waitForPageToLoad(timeout);
}
- public void submit(String buttonName) {
- selenium.click("xpath=" + formSelector() + "(//input[(@type='submit'
or @type='image') and (@id='"
- + buttonName + "' or @name='" + buttonName
- + "')]|//[EMAIL PROTECTED]'submit' and (@id='"
- + buttonName + "' or @name='" + buttonName
- + "')])");
+ public void submit(String nameOrID) {
+ String xpath1 = formSelector() + "//input[(@type='submit' or
@type='image') and (@id='"
+ + nameOrID + "' or @name='" + nameOrID
+ + "')]";
+ String xpath2 = formSelector() + "//[EMAIL PROTECTED]'submit' and
(@id='"
+ + nameOrID + "' or @name='" + nameOrID
+ + "')]";
+ selenium.click("xpath=" + xpath1 + "|" + xpath2);
selenium.waitForPageToLoad(timeout);
}
@@ -525,8 +539,23 @@
* @see
net.sourceforge.jwebunit.api.ITestingEngine#getSelectedRadio(java.lang.String)
*/
public String getSelectedRadio(String radioGroup) {
- throw new UnsupportedOperationException("getSelectedRadio");
+ int count = 0;
+ while (selenium.isElementPresent("xpath=" + formSelector() + "//[EMAIL
PROTECTED]'radio' and @name='"+radioGroup+"']["+(count+1)+"]")) {
+ if ("on".equals(selenium.getValue("xpath=" + formSelector() +
"//[EMAIL PROTECTED]'radio' and @name='"+radioGroup+"']["+(count+1)+"]"))) {
+ return selenium.getAttribute("xpath=" + formSelector() +
"//[EMAIL PROTECTED]'radio' and @name='"+radioGroup+"']["+(count+1)+"[EMAIL
PROTECTED]");
+ }
+ count++;
+ }
+ return null;
}
+
+ protected int getRadioCount(String radioGroup) {
+ int count = 0;
+ while (selenium.isElementPresent("xpath=" + formSelector() + "//[EMAIL
PROTECTED]'radio' and @name='"+radioGroup+"']["+(count+1)+"]")) {
+ count++;
+ }
+ return count;
+ }
/* (non-Javadoc)
* @see
net.sourceforge.jwebunit.api.ITestingEngine#setExpectedJavaScriptAlert(net.sourceforge.jwebunit.javascript.JavascriptAlert[])
@@ -558,8 +587,7 @@
* @see net.sourceforge.jwebunit.api.ITestingEngine#setWorkingForm(int)
*/
public void setWorkingForm(int index) {
- // TODO Auto-generated method stub
- throw new UnsupportedOperationException("setWorkingForm");
+ formIdent="position()="+(index+1);
}
}
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2007-05-06 11:22:58 UTC (rev 707)
+++ trunk/pom.xml 2007-05-20 17:50:40 UTC (rev 708)
@@ -162,7 +162,7 @@
<repository>
<id>Codehaus</id>
<name>Mojo Codehaus Repository</name>
- <url>http://repository.codehaus.org/org/codehaus/mojo/</url>
+ <url>http://repository.codehaus.org/</url>
</repository>
</repositories>
<build>
@@ -269,7 +269,7 @@
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
- <version>6.1.2rc2</version>
+ <version>6.1.3</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
@@ -282,9 +282,9 @@
<version>1.3.1</version>
</dependency>
<dependency>
- <groupId>htmlunit</groupId>
+ <groupId>net.sourceforge.htmlunit</groupId>
<artifactId>htmlunit</artifactId>
- <version>1.11</version>
+ <version>1.12-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>regexp</groupId>
@@ -305,7 +305,7 @@
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.3.0</version>
- <scope>test</scope>
+ <scope>optional</scope>
</dependency>
</dependencies>
</dependencyManagement>
@@ -447,7 +447,7 @@
<site>
<id>jwebunit-website</id>
<name>JWebUnit WebSite - Sourceforge</name>
-
<url>scp://shell.sourceforge.net/home/groups/j/jw/jwebunit/htdocs</url>
+ <url>file:///home/julien/site-jwebunit</url>
</site>
<repository>
<id>jwebunit-m2-repo</id>
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
JWebUnit-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jwebunit-development