Revision: 723
http://jwebunit.svn.sourceforge.net/jwebunit/?rev=723&view=rev
Author: henryju
Date: 2008-04-14 06:53:41 -0700 (Mon, 14 Apr 2008)
Log Message:
-----------
[1793818] Added setHiddenFieldValue method to WebTestCase
Modified Paths:
--------------
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/FormSubmissionTest.java
trunk/jwebunit-commons-tests/src/main/resources/testcases/FormSubmissionTest/SingleNamedButtonForm.html
trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/api/ITestingEngine.java
trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/junit/WebTester.java
trunk/jwebunit-htmlunit-plugin/src/main/java/net/sourceforge/jwebunit/htmlunit/HtmlUnitTestingEngineImpl.java
trunk/jwebunit-selenium-plugin/src/main/java/net/sourceforge/jwebunit/selenium/SeleniumTestingEngineImpl.java
trunk/src/changes/changes.xml
Modified:
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/FormSubmissionTest.java
===================================================================
---
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/FormSubmissionTest.java
2008-04-14 12:32:53 UTC (rev 722)
+++
trunk/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/FormSubmissionTest.java
2008-04-14 13:53:41 UTC (rev 723)
@@ -310,6 +310,14 @@
assertTextPresent("Submitted parameters");
assertTextPresent("color=blue");
}
+
+ public void testSetHiddenField() {
+ beginAt("/SingleNamedButtonForm.html");
+ assertHiddenFieldPresent("hidden", "foo");
+ setHiddenField("hidden", "bar");
+ submit();
+ assertTextPresent("hidden=bar");
+ }
}
Modified:
trunk/jwebunit-commons-tests/src/main/resources/testcases/FormSubmissionTest/SingleNamedButtonForm.html
===================================================================
---
trunk/jwebunit-commons-tests/src/main/resources/testcases/FormSubmissionTest/SingleNamedButtonForm.html
2008-04-14 12:32:53 UTC (rev 722)
+++
trunk/jwebunit-commons-tests/src/main/resources/testcases/FormSubmissionTest/SingleNamedButtonForm.html
2008-04-14 13:53:41 UTC (rev 723)
@@ -7,6 +7,7 @@
<input type="CHECKBOX" name="checkBox" />
<input type="submit" name="button" value="click me">
<input type="hidden" name="myReferer"
value="FormSubmissionTest/SingleNamedButtonForm.html">
+ <input type="hidden" name="hidden" value="foo">
</form>
</body>
</html>
\ No newline at end of file
Modified:
trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/api/ITestingEngine.java
===================================================================
---
trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/api/ITestingEngine.java
2008-04-14 12:32:53 UTC (rev 722)
+++
trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/api/ITestingEngine.java
2008-04-14 13:53:41 UTC (rev 723)
@@ -205,6 +205,14 @@
* @param text value to type in the field.
*/
void setTextField(String inputName, String text);
+
+ /**
+ * Fill hidden field with the provided text.
+ *
+ * @param inputName name of the hidden element
+ * @param text value to set in the hidden field.
+ */
+ void setHiddenField(String inputName, String text);
/**
* Return a string array of select box option values.
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
2008-04-14 12:32:53 UTC (rev 722)
+++
trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/junit/WebTester.java
2008-04-14 13:53:41 UTC (rev 723)
@@ -2115,6 +2115,18 @@
assertFormElementPresent(inputName);
getTestingEngine().setTextField(inputName, value);
}
+
+ /**
+ * Set the value of an hidden input field.
+ *
+ * @param inputName name of form element.
+ * @param value value to set.
+ */
+ public void setHiddenField(String inputName, String value) {
+ assertFormPresent();
+ assertFormElementPresent(inputName);
+ getTestingEngine().setHiddenField(inputName, value);
+ }
/**
* Select a specified checkbox. If the checkbox is already checked then
the checkbox will stay checked.
Modified:
trunk/jwebunit-htmlunit-plugin/src/main/java/net/sourceforge/jwebunit/htmlunit/HtmlUnitTestingEngineImpl.java
===================================================================
---
trunk/jwebunit-htmlunit-plugin/src/main/java/net/sourceforge/jwebunit/htmlunit/HtmlUnitTestingEngineImpl.java
2008-04-14 12:32:53 UTC (rev 722)
+++
trunk/jwebunit-htmlunit-plugin/src/main/java/net/sourceforge/jwebunit/htmlunit/HtmlUnitTestingEngineImpl.java
2008-04-14 13:53:41 UTC (rev 723)
@@ -496,6 +496,37 @@
throw new RuntimeException("No text field with name [" + fieldName
+ "] was found.");
}
+
+ /**
+ * Set a form hidden element to the provided value.
+ *
+ * @param fieldName name of the hidden input element
+ * @param paramValue parameter value to submit for the element.
+ */
+ public void setHiddenField(String fieldName, String text) {
+ List hiddenFieldElements = new LinkedList();
+ if (form != null) {
+ hiddenFieldElements.addAll(getForm().getInputsByName(fieldName));
+ } else {
+ for (Iterator i = getCurrentPage().getForms().iterator(); i
+ .hasNext();) {
+ HtmlForm f = (HtmlForm) i.next();
+ hiddenFieldElements.addAll(f.getInputsByName(fieldName));
+ }
+ }
+ for (Iterator i = hiddenFieldElements.iterator(); i.hasNext();) {
+ HtmlElement e = (HtmlElement) i.next();
+ if (e instanceof HtmlHiddenInput) {
+ ((HtmlHiddenInput) e).setValueAttribute(text);
+ if (form == null) {
+ form = e.getEnclosingFormOrDie();
+ }
+ return;
+ }
+ }
+ throw new RuntimeException("No hidden field with name [" + fieldName
+ + "] was found.");
+ }
/**
* Return a string array of select box option values.
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
2008-04-14 12:32:53 UTC (rev 722)
+++
trunk/jwebunit-selenium-plugin/src/main/java/net/sourceforge/jwebunit/selenium/SeleniumTestingEngineImpl.java
2008-04-14 13:53:41 UTC (rev 723)
@@ -427,6 +427,11 @@
String xpath2 = formSelector() + "//[EMAIL PROTECTED]'"+inputName+"']";
selenium.type("xpath=" + xpath1 + "|" + xpath2, text);
}
+
+ public void setHiddenField(String inputName, String text) {
+ String xpath = formSelector() + "//[EMAIL PROTECTED]'"+inputName+"'
and @type='hidden']";
+ selenium.type("xpath=" + xpath, text);
+ }
public void setWorkingForm(String nameOrId, int index) {
if (nameOrId != null)
Modified: trunk/src/changes/changes.xml
===================================================================
--- trunk/src/changes/changes.xml 2008-04-14 12:32:53 UTC (rev 722)
+++ trunk/src/changes/changes.xml 2008-04-14 13:53:41 UTC (rev 723)
@@ -8,6 +8,9 @@
</properties>
<body>
<release version="1.5" date="UNKNOW" description="The latest major
release before Java 1.5 migration">
+ <action type="add" dev="henryju" issue="1793818" due-to="Achim
Huegen">
+ Added setHiddenField method to WebTestCase.
+ </action>
<action type="fix" dev="henryju" issue="1747033" due-to="Carlo
Possati">
assertCheckbox[Not]Present now works if HTML type attribute
value is not lowercase (e.g.: type="CHECKBOX").
</action>
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 the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
JWebUnit-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jwebunit-development