[JWebUnit-development] SF.net SVN: jwebunit:[963] trunk
Brought to you by:
henryju
|
From: <he...@us...> - 2012-11-27 15:39:53
|
Revision: 963
http://jwebunit.svn.sourceforge.net/jwebunit/?rev=963&view=rev
Author: henryju
Date: 2012-11-27 15:39:46 +0000 (Tue, 27 Nov 2012)
Log Message:
-----------
[3415400] Configure HtmlUnit to accept self-signed certificates
Modified Paths:
--------------
trunk/jwebunit-htmlunit-plugin/src/main/java/net/sourceforge/jwebunit/htmlunit/HtmlUnitTestingEngineImpl.java
trunk/src/changes/changes.xml
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 2012-11-22 11:21:47 UTC (rev 962)
+++ trunk/jwebunit-htmlunit-plugin/src/main/java/net/sourceforge/jwebunit/htmlunit/HtmlUnitTestingEngineImpl.java 2012-11-27 15:39:46 UTC (rev 963)
@@ -205,6 +205,7 @@
* @param context contains context information for the test client.
* @throws TestingEngineResponseException
*/
+ @Override
public void beginAt(URL initialURL, TestContext context)
throws TestingEngineResponseException {
this.setTestContext(context);
@@ -216,6 +217,7 @@
* Close the browser and check that all expected Javascript alerts, confirms and
* prompts have been taken care of.
*/
+ @Override
public void closeBrowser() throws ExpectedJavascriptAlertException,
ExpectedJavascriptConfirmException,
ExpectedJavascriptPromptException {
@@ -226,17 +228,17 @@
form = null; // reset current form
if (this.expectedJavascriptAlerts.size() > 0) {
throw new ExpectedJavascriptAlertException(
- ((JavascriptAlert) (expectedJavascriptAlerts.get(0)))
+ (expectedJavascriptAlerts.get(0))
.getMessage());
}
if (this.expectedJavascriptConfirms.size() > 0) {
throw new ExpectedJavascriptConfirmException(
- ((JavascriptConfirm) (expectedJavascriptConfirms.get(0)))
+ (expectedJavascriptConfirms.get(0))
.getMessage());
}
if (this.expectedJavascriptPrompts.size() > 0) {
throw new ExpectedJavascriptPromptException(
- ((JavascriptPrompt) (expectedJavascriptPrompts.get(0)))
+ (expectedJavascriptPrompts.get(0))
.getMessage());
}
@@ -248,6 +250,7 @@
* @throws TestingEngineResponseException if an error response code is encountered
* and ignoreFailingStatusCodes is not enabled.
*/
+ @Override
public void gotoPage(URL initialURL) throws TestingEngineResponseException {
try {
wc.getPage(initialURL);
@@ -264,6 +267,7 @@
/**
* @see net.sourceforge.jwebunit.api.IJWebUnitDialog#setScriptingEnabled(boolean)
*/
+ @Override
public void setScriptingEnabled(boolean value) {
// This variable is used to set Javascript before wc is instancied
jsEnabled = value;
@@ -272,6 +276,7 @@
}
}
+ @Override
public void setThrowExceptionOnScriptError(boolean value) {
throwExceptionOnScriptError = value;
if (wc != null) {
@@ -279,6 +284,7 @@
}
}
+ @Override
public List<javax.servlet.http.Cookie> getCookies() {
List<javax.servlet.http.Cookie> result = new LinkedList<javax.servlet.http.Cookie>();
Set<Cookie> cookies = wc.getCookieManager().getCookies();
@@ -304,6 +310,7 @@
return result;
}
+ @Override
public boolean hasWindow(String windowName) {
try {
getWindow(windowName);
@@ -313,6 +320,7 @@
return true;
}
+ @Override
public boolean hasWindowByTitle(String title) {
return getWindowByTitle(title) != null;
}
@@ -322,14 +330,17 @@
*
* @param windowName
*/
+ @Override
public void gotoWindow(String windowName) {
setMainWindow(getWindow(windowName));
}
+ @Override
public void gotoWindow(int windowID) {
- setMainWindow((WebWindow) wc.getWebWindows().get(windowID));
+ setMainWindow(wc.getWebWindows().get(windowID));
}
+ @Override
public int getWindowCount() {
return wc.getWebWindows().size();
}
@@ -339,6 +350,7 @@
*
* @param title
*/
+ @Override
public void gotoWindowByTitle(String title) {
WebWindow window = getWindowByTitle(title);
if (window != null) {
@@ -352,6 +364,7 @@
/**
* Close the current window.
*/
+ @Override
public void closeWindow() {
if (win != null) {
((TopLevelWindow) win.getTopWindow()).close();
@@ -364,6 +377,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public boolean hasFrame(String frameNameOrId) {
return getFrame(frameNameOrId) != null;
}
@@ -371,6 +385,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public void gotoFrame(String frameNameOrId) {
WebWindow frame = getFrame(frameNameOrId);
if (frame == null) {
@@ -382,6 +397,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public void setWorkingForm(int index) {
setWorkingForm(getForm(index));
}
@@ -389,6 +405,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public void setWorkingForm(String nameOrId, int index) {
setWorkingForm(getForm(nameOrId, index));
}
@@ -396,6 +413,7 @@
/**
* Return true if the current response contains a form.
*/
+ @Override
public boolean hasForm() {
return ((HtmlPage) win.getEnclosedPage()).getForms().size() > 0;
}
@@ -405,16 +423,19 @@
*
* @param nameOrID name of id of the form to check for.
*/
+ @Override
public boolean hasForm(String nameOrID) {
return getForm(nameOrID) != null;
}
+ @Override
public boolean hasFormParameterNamed(String paramName) {
for (HtmlElement e : getCurrentPage().getHtmlElementDescendants()) {
if (e.getAttribute("name").equals(paramName)) {
// set the working form if none has been set
- if (e.getEnclosingForm() != null && getWorkingForm() == null)
+ if (e.getEnclosingForm() != null && getWorkingForm() == null) {
setWorkingForm(e.getEnclosingForm());
+ }
return true;
}
}
@@ -427,6 +448,7 @@
* @param paramName name of the input element. TODO: Find a way to handle multiple text input element with same
* name.
*/
+ @Override
public String getTextFieldValue(String paramName) {
// first try the current form
if (form != null) {
@@ -447,14 +469,16 @@
if (outside_element != null) {
if (outside_element instanceof HtmlInput) {
// set current form if not null
- if (outside_element.getEnclosingForm() != null)
+ if (outside_element.getEnclosingForm() != null) {
form = outside_element.getEnclosingForm();
+ }
return ((HtmlInput) outside_element).getValueAttribute();
}
if (outside_element instanceof HtmlTextArea) {
// set current form if not null
- if (outside_element.getEnclosingForm() != null)
+ if (outside_element.getEnclosingForm() != null) {
form = outside_element.getEnclosingForm();
+ }
return ((HtmlTextArea) outside_element).getText();
}
}
@@ -471,6 +495,7 @@
* @param paramName name of the input element. TODO: Find a way to handle multiple hidden input element with same
* name.
*/
+ @Override
public String getHiddenFieldValue(String paramName) {
// first try the current form
if (form != null) {
@@ -487,8 +512,9 @@
if (outside_element != null) {
if (outside_element instanceof HtmlHiddenInput) {
// set current form if not null
- if (outside_element.getEnclosingForm() != null)
+ if (outside_element.getEnclosingForm() != null) {
form = outside_element.getEnclosingForm();
+ }
return ((HtmlHiddenInput) outside_element).getValueAttribute();
}
}
@@ -504,6 +530,7 @@
* @param fieldName name of the input element or textarea
* @param text parameter value to submit for the element.
*/
+ @Override
public void setTextField(String paramName, String text) {
// first try the current form
if (form != null) {
@@ -527,15 +554,17 @@
if (outside_element instanceof HtmlInput) {
((HtmlInput) outside_element).setValueAttribute(text);
// set current form if not null
- if (outside_element.getEnclosingForm() != null)
+ if (outside_element.getEnclosingForm() != null) {
form = outside_element.getEnclosingForm();
+ }
return;
}
if (outside_element instanceof HtmlTextArea) {
((HtmlTextArea) outside_element).setText(text);
// set current form if not null
- if (outside_element.getEnclosingForm() != null)
+ if (outside_element.getEnclosingForm() != null) {
form = outside_element.getEnclosingForm();
+ }
return;
}
}
@@ -551,6 +580,7 @@
* @param fieldName name of the hidden input element
* @param paramValue parameter value to submit for the element.
*/
+ @Override
public void setHiddenField(String fieldName, String text) {
// first try the current form
if (form != null) {
@@ -569,8 +599,9 @@
if (outside_element instanceof HtmlHiddenInput) {
((HtmlHiddenInput) outside_element).setValueAttribute(text);
// set current form if not null
- if (outside_element.getEnclosingForm() != null)
+ if (outside_element.getEnclosingForm() != null) {
form = outside_element.getEnclosingForm();
+ }
return;
}
}
@@ -585,6 +616,7 @@
*
* @param selectName name of the select box.
*/
+ @Override
public String[] getSelectOptionValues(String selectName) {
HtmlSelect sel = getForm().getSelectByName(selectName);
ArrayList<String> result = new ArrayList<String>();
@@ -601,6 +633,7 @@
* @param index the 0-based index when more than one
* select with the same name is expected.
*/
+ @Override
public String[] getSelectOptionValues(String selectName, int index) {
List<HtmlSelect> sels = getForm().getSelectsByName(selectName);
if (sels == null || sels.size() < index + 1) {
@@ -612,7 +645,7 @@
for (HtmlOption opt : sel.getOptions()) {
result.add(opt.getValueAttribute());
}
- return (String[]) result.toArray(new String[result.size()]);
+ return result.toArray(new String[result.size()]);
}
private String[] getSelectedOptions(HtmlSelect sel) {
@@ -624,11 +657,13 @@
return result;
}
+ @Override
public String[] getSelectedOptions(String selectName) {
HtmlSelect sel = getForm().getSelectByName(selectName);
return getSelectedOptions(sel);
}
+ @Override
public String[] getSelectedOptions(String selectName, int index) {
List<HtmlSelect> sels = getForm().getSelectsByName(selectName);
if (sels == null || sels.size() < index + 1) {
@@ -649,18 +684,20 @@
+ sel.getNameAttribute());
}
+ @Override
public String getSelectOptionValueForLabel(String selectName, String label) {
HtmlSelect sel = getForm().getSelectByName(selectName);
return getSelectOptionValueForLabel(sel, label);
}
+ @Override
public String getSelectOptionValueForLabel(String selectName, int index, String label) {
List<HtmlSelect> sels = getForm().getSelectsByName(selectName);
if (sels == null || sels.size() < index + 1) {
throw new RuntimeException("Did not find select with name [" + selectName
+ "] at index " + index);
}
- HtmlSelect sel = (HtmlSelect) sels.get(index);
+ HtmlSelect sel = sels.get(index);
return getSelectOptionValueForLabel(sel, label);
}
@@ -674,34 +711,40 @@
+ sel.getNameAttribute());
}
+ @Override
public String getSelectOptionLabelForValue(String selectName, String value) {
HtmlSelect sel = getForm().getSelectByName(selectName);
return getSelectOptionLabelForValue(sel, value);
}
+ @Override
public String getSelectOptionLabelForValue(String selectName, int index, String value) {
List<HtmlSelect> sels = getForm().getSelectsByName(selectName);
if (sels == null || sels.size() < index + 1) {
throw new RuntimeException("Did not find select with name [" + selectName
+ "] at index " + index);
}
- HtmlSelect sel = (HtmlSelect) sels.get(index);
+ HtmlSelect sel = sels.get(index);
return getSelectOptionLabelForValue(sel, value);
}
+ @Override
public URL getPageURL() {
return win.getEnclosedPage().getWebResponse().getWebRequest().getUrl();
}
+ @Override
public String getPageSource() {
return win.getEnclosedPage().getWebResponse()
.getContentAsString();
}
+ @Override
public String getPageTitle() {
return getCurrentPageTitle();
}
+ @Override
public String getPageText() {
Page page = win.getEnclosedPage();
if (page instanceof HtmlPage) {
@@ -724,6 +767,7 @@
"Unexpected error in getPageText(). This method need to be updated.");
}
+ @Override
public String getServerResponse() {
StringBuffer result = new StringBuffer();
WebResponse wr = wc.getCurrentWindow().getEnclosedPage()
@@ -740,6 +784,7 @@
return result.toString();
}
+ @Override
public InputStream getInputStream() {
try {
return wc.getCurrentWindow().getEnclosedPage().getWebResponse()
@@ -749,6 +794,7 @@
}
}
+ @Override
public InputStream getInputStream(URL resourceUrl)
throws TestingEngineResponseException {
WebWindow imageWindow = null;
@@ -815,6 +861,7 @@
wc.getOptions().setThrowExceptionOnFailingStatusCode(!ignoreFailingStatusCodes);
wc.getOptions().setThrowExceptionOnScriptError(throwExceptionOnScriptError);
wc.getOptions().setRedirectEnabled(true);
+ wc.getOptions().setUseInsecureSSL(true);
if (refreshHandler == null) {
wc.setRefreshHandler(new ImmediateRefreshHandler());
} else {
@@ -846,6 +893,7 @@
}
wc.setCredentialsProvider(creds);
wc.addWebWindowListener(new WebWindowListener() {
+ @Override
public void webWindowClosed(WebWindowEvent event) {
if (win == null || event.getOldPage().equals(win.getEnclosedPage())) {
win = wc.getCurrentWindow();
@@ -860,6 +908,7 @@
logger.debug("Window {} closed : {}", win, oldPageTitle);
}
+ @Override
public void webWindowContentChanged(WebWindowEvent event) {
form = null;
String winName = event.getWebWindow().getName();
@@ -876,6 +925,7 @@
logger.debug("Window \"{}\" changed : \"{}\" became \"{}", new Object[] {winName, oldPageTitle, newPageTitle});
}
+ @Override
public void webWindowOpened(WebWindowEvent event) {
String win = event.getWebWindow().getName();
Page newPage = event.getNewPage();
@@ -888,11 +938,12 @@
});
// Add Javascript Alert Handler
wc.setAlertHandler(new AlertHandler() {
+ @Override
public void handleAlert(Page page, String msg) {
if (expectedJavascriptAlerts.size() < 1) {
throw new UnexpectedJavascriptAlertException(msg);
} else {
- JavascriptAlert expected = (JavascriptAlert) expectedJavascriptAlerts
+ JavascriptAlert expected = expectedJavascriptAlerts
.remove(0);
if (!msg.equals(expected.getMessage())) {
throw new UnexpectedJavascriptAlertException(msg);
@@ -902,11 +953,12 @@
});
// Add Javascript Confirm Handler
wc.setConfirmHandler(new ConfirmHandler() {
+ @Override
public boolean handleConfirm(Page page, String msg) {
if (expectedJavascriptConfirms.size() < 1) {
throw new UnexpectedJavascriptConfirmException(msg);
} else {
- JavascriptConfirm expected = (JavascriptConfirm) expectedJavascriptConfirms
+ JavascriptConfirm expected = expectedJavascriptConfirms
.remove(0);
if (!msg.equals(expected.getMessage())) {
throw new UnexpectedJavascriptConfirmException(msg);
@@ -918,11 +970,12 @@
});
// Add Javascript Prompt Handler
wc.setPromptHandler(new PromptHandler() {
+ @Override
public String handlePrompt(Page page, String msg) {
if (expectedJavascriptPrompts.size() < 1) {
throw new UnexpectedJavascriptPromptException(msg);
} else {
- JavascriptPrompt expected = (JavascriptPrompt) expectedJavascriptPrompts
+ JavascriptPrompt expected = expectedJavascriptPrompts
.remove(0);
if (!msg.equals(expected.getMessage())) {
throw new UnexpectedJavascriptPromptException(msg);
@@ -995,6 +1048,7 @@
/**
* Get all the comments in a document, as a list of strings.
*/
+ @Override
public List<String> getComments() {
List<String> comments = new ArrayList<String>();
getComments(comments, ((HtmlPage) win.getEnclosedPage()));
@@ -1075,7 +1129,7 @@
}
private HtmlForm getForm(int formIndex) {
- return (HtmlForm) ((HtmlPage) win.getEnclosedPage()).getForms().get(
+ return ((HtmlPage) win.getEnclosedPage()).getForms().get(
formIndex);
}
@@ -1296,6 +1350,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public boolean hasSubmitButton() {
final HtmlForm htmlForm = getForm();
List<?> l = htmlForm.getByXPath("//input[@type='submit' or @type='image']");
@@ -1306,6 +1361,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public boolean hasSubmitButton(String buttonName) {
return getSubmitButton(buttonName) != null;
}
@@ -1313,6 +1369,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public boolean hasSubmitButton(String buttonName, String buttonValue) {
try {
return getSubmitButton(buttonName, buttonValue) != null;
@@ -1322,6 +1379,7 @@
}
+ @Override
public boolean hasResetButton() {
HtmlForm form = getForm();
List<?> l = form.getByXPath("//input[@type='reset']");
@@ -1329,6 +1387,7 @@
return (l.size() > 0 || l2.size() > 0);
}
+ @Override
public boolean hasResetButton(String buttonName) {
return getResetButton(buttonName) != null;
}
@@ -1366,6 +1425,7 @@
* or the value of the "value" attribute.
* @return <code>true</code> when the button with text could be found.
*/
+ @Override
public boolean hasButtonWithText(String text) {
return getButtonWithText(text) != null ? true : false;
}
@@ -1385,8 +1445,9 @@
* no such button is found.
*/
public HtmlElement getButtonWithText(String buttonValueText) {
- if (buttonValueText == null)
+ if (buttonValueText == null) {
throw new NullPointerException("Cannot search for button with null text");
+ }
List<? extends HtmlElement> l = ((HtmlPage) win.getEnclosedPage()).getDocumentElement()
.getHtmlElementsByTagNames(
@@ -1417,6 +1478,7 @@
* @param buttonId the id of the button
* @return <code>true</code> when the button was found.
*/
+ @Override
public boolean hasButton(String buttonId) {
try {
return getButton(buttonId) != null;
@@ -1425,11 +1487,13 @@
}
}
+ @Override
public boolean isCheckboxSelected(String checkBoxName) {
HtmlCheckBoxInput cb = getCheckbox(checkBoxName);
return cb.isChecked();
}
+ @Override
public boolean isCheckboxSelected(String checkBoxName, String checkBoxValue) {
HtmlCheckBoxInput cb = getCheckbox(checkBoxName, checkBoxValue);
return cb.isChecked();
@@ -1461,6 +1525,7 @@
return false;
}
+ @Override
public Table getTable(String tableSummaryNameOrId) {
HtmlTable table = getHtmlTable(tableSummaryNameOrId);
Table result = new Table();
@@ -1508,6 +1573,7 @@
return null;
}
+ @Override
public boolean hasTable(String tableSummaryNameOrId) {
return getHtmlTable(tableSummaryNameOrId) != null;
}
@@ -1516,6 +1582,7 @@
* Submit the current form with the default submit button. See {@link #getForm}for an explanation of how the
* current form is established.
*/
+ @Override
public void submit() {
try {
Object[] inpt = getForm().getHtmlElementsByTagName("input")
@@ -1555,6 +1622,7 @@
*
* @param buttonName name of the button to use for submission.
*/
+ @Override
public void submit(String buttonName) {
List<HtmlElement> l = new LinkedList<HtmlElement>();
l.addAll(getForm().getInputsByName(buttonName));
@@ -1596,6 +1664,7 @@
* @param buttonName name of the button to use for submission.
* @param buttonValue value/label of the button to use for submission
*/
+ @Override
public void submit(String buttonName, String buttonValue) {
List<HtmlElement> l = new LinkedList<HtmlElement>();
l.addAll(getForm().getInputsByName(buttonName));
@@ -1644,6 +1713,7 @@
/**
* Reset the current form. See {@link #getForm}for an explanation of how the current form is established.
*/
+ @Override
public void reset() {
getForm().reset();
}
@@ -1656,14 +1726,17 @@
* @param linkText text to check for in links on the response.
* @param index The 0-based index, when more than one link with the same text is expected.
*/
+ @Override
public boolean hasLinkWithText(String linkText, int index) {
return getLinkWithText(linkText, index) != null;
}
+ @Override
public boolean hasLinkWithExactText(String linkText, int index) {
return getLinkWithExactText(linkText, index) != null;
}
+ @Override
public boolean hasLinkWithImage(String imageFileName, int index) {
return getLinkWithImage(imageFileName, index) != null;
}
@@ -1673,6 +1746,7 @@
*
* @param anId link id to check for.
*/
+ @Override
public boolean hasLink(String anId) {
try {
((HtmlPage) win.getEnclosedPage()).getHtmlElementById(anId);
@@ -1682,6 +1756,7 @@
return true;
}
+ @Override
public void clickLinkWithText(String linkText, int index) {
HtmlAnchor link = getLinkWithText(linkText, index);
if (link == null) {
@@ -1695,6 +1770,7 @@
}
}
+ @Override
public void clickLinkWithExactText(String linkText, int index) {
HtmlAnchor link = getLinkWithExactText(linkText, index);
if (link == null) {
@@ -1737,6 +1813,7 @@
*
* @param checkBoxName name of checkbox to be deselected.
*/
+ @Override
public void checkCheckbox(String checkBoxName) {
HtmlCheckBoxInput cb = getCheckbox(checkBoxName);
if (!cb.isChecked()) {
@@ -1748,6 +1825,7 @@
}
}
+ @Override
public void checkCheckbox(String checkBoxName, String value) {
HtmlCheckBoxInput cb = getCheckbox(checkBoxName, value);
if (!cb.isChecked()) {
@@ -1765,6 +1843,7 @@
*
* @param checkBoxName name of checkbox to be deselected.
*/
+ @Override
public void uncheckCheckbox(String checkBoxName) {
HtmlCheckBoxInput cb = getCheckbox(checkBoxName);
if (cb.isChecked()) {
@@ -1777,6 +1856,7 @@
}
}
+ @Override
public void uncheckCheckbox(String checkBoxName, String value) {
HtmlCheckBoxInput cb = getCheckbox(checkBoxName, value);
if (cb.isChecked()) {
@@ -1807,6 +1887,7 @@
* @param radioGroup name of the radio group.
* @param radioOption value of the option to check for.
*/
+ @Override
public void clickRadioOption(String radioGroup, String radioOption) {
HtmlRadioButtonInput rb = getRadioOption(radioGroup, radioOption);
if (!rb.isChecked()) {
@@ -1825,6 +1906,7 @@
*
* @param anID id of link to be navigated.
*/
+ @Override
public void clickLink(String anID) {
clickElementByXPath("//a[@id=\"" + anID + "\"]");
}
@@ -1864,6 +1946,7 @@
* <tt>"images/my_icon.png"<tt>, you could just pass in
* <tt>"my_icon.png"<tt>.
*/
+ @Override
public void clickLinkWithImage(String imageFileName, int index) {
HtmlAnchor link = getLinkWithImage(imageFileName, index);
if (link == null) {
@@ -1877,14 +1960,17 @@
}
}
+ @Override
public boolean hasElement(String anID) {
return getHtmlElement(anID) != null;
}
+ @Override
public boolean hasElementByXPath(String xpath) {
return getHtmlElementByXPath(xpath) != null;
}
+ @Override
public void clickElementByXPath(String xpath) {
HtmlElement e = getHtmlElementByXPath(xpath);
if (e == null) {
@@ -1898,6 +1984,7 @@
}
}
+ @Override
public String getElementAttributByXPath(String xpath, String attribut) {
HtmlElement e = getHtmlElementByXPath(xpath);
if (e == null) {
@@ -1906,6 +1993,7 @@
return e.getAttribute(attribut);
}
+ @Override
public String getElementTextByXPath(String xpath) {
HtmlElement e = getHtmlElementByXPath(xpath);
if (e == null) {
@@ -1919,6 +2007,7 @@
*
* @param buttonId
*/
+ @Override
public void clickButton(String buttonId) {
HtmlElement btn = getButton(buttonId);
try {
@@ -1934,6 +2023,7 @@
* value attribute. For HTML button tags, this checks the element's
* content by converting it to text. or an HTML <button> tag.
*/
+ @Override
public void clickButtonWithText(String buttonValueText) {
HtmlElement b = getButtonWithText(buttonValueText);
if (b != null) {
@@ -1954,10 +2044,12 @@
* @param radioGroup name of the radio group.
* @param radioOption value of the option to check for.
*/
+ @Override
public boolean hasRadioOption(String radioGroup, String radioOption) {
return getRadioOption(radioGroup, radioOption) != null;
}
+ @Override
public String getSelectedRadio(String radioGroup) {
List<HtmlRadioButtonInput> radios = getForm().getRadioButtonsByName(radioGroup);
for (HtmlRadioButtonInput radio : radios) {
@@ -1974,6 +2066,7 @@
* @param selectName name of the select box.
* @param optionLabel label of the option.
*/
+ @Override
public boolean hasSelectOption(String selectName, String optionLabel) {
String[] opts = getSelectOptionValues(selectName);
for (int i = 0; i < opts.length; i++) {
@@ -1991,6 +2084,7 @@
* @param selectName name of the select box.
* @param optionValue value of the option.
*/
+ @Override
public boolean hasSelectOptionValue(String selectName, String optionValue) {
String[] opts = getSelectOptionValues(selectName);
for (int i = 0; i < opts.length; i++) {
@@ -2007,10 +2101,12 @@
* @param selectName name of the select box
* @param options set of options to select.
*/
+ @Override
public void selectOptions(String selectName, String[] options) {
HtmlSelect sel = getForm().getSelectByName(selectName);
- if (!sel.isMultipleSelectEnabled() && options.length > 1)
+ if (!sel.isMultipleSelectEnabled() && options.length > 1) {
throw new RuntimeException("Multiselect not enabled");
+ }
for (String option : options) {
boolean found = false;
for (HtmlOption opt : sel.getOptions()) {
@@ -2035,6 +2131,7 @@
* select elements are expected.
* @param optionLabel label of the option.
*/
+ @Override
public boolean hasSelectOption(String selectName, int index, String optionLabel) {
String[] opts = getSelectOptionValues(selectName, index);
for (int i = 0; i < opts.length; i++) {
@@ -2054,6 +2151,7 @@
* select elements are expected.
* @param optionValue value of the option.
*/
+ @Override
public boolean hasSelectOptionValue(String selectName, int index, String optionValue) {
String[] opts = getSelectOptionValues(selectName, index);
for (int i = 0; i < opts.length; i++) {
@@ -2072,13 +2170,14 @@
* select elements are expected.
* @param options set of options to select.
*/
+ @Override
public void selectOptions(String selectName, int index, String[] options) {
List<HtmlSelect> sels = getForm().getSelectsByName(selectName);
if (sels == null || sels.size() < index + 1) {
throw new RuntimeException("Did not find select with name [" + selectName
+ "] at index " + index);
}
- HtmlSelect sel = (HtmlSelect) sels.get(index);
+ HtmlSelect sel = sels.get(index);
if (!sel.isMultipleSelectEnabled() && options.length > 1) {
throw new RuntimeException("Multiselect not enabled");
}
@@ -2098,6 +2197,7 @@
}
}
+ @Override
public void unselectOptions(String selectName, String[] options) {
HtmlSelect sel = getForm().getSelectByName(selectName);
if (!sel.isMultipleSelectEnabled() && options.length > 1) {
@@ -2119,6 +2219,7 @@
}
}
+ @Override
public void unselectOptions(String selectName, int index, String[] options) {
List<HtmlSelect> sels = getForm().getSelectsByName(selectName);
if (sels == null || sels.size() < index + 1) {
@@ -2145,6 +2246,7 @@
}
}
+ @Override
public boolean isTextInElement(String elementID, String text) {
return isTextInElement(getHtmlElement(elementID), text);
}
@@ -2159,6 +2261,7 @@
return element.asText().indexOf(text) >= 0;
}
+ @Override
public boolean isMatchInElement(String elementID, String regexp) {
return isMatchInElement(getHtmlElement(elementID), regexp);
}
@@ -2185,6 +2288,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public void gotoRootWindow() {
win = win.getTopWindow();
}
@@ -2231,11 +2335,12 @@
return testContext;
}
+ @Override
public void setExpectedJavaScriptAlert(JavascriptAlert[] alerts)
throws ExpectedJavascriptAlertException {
if (this.expectedJavascriptAlerts.size() > 0) {
throw new ExpectedJavascriptAlertException(
- ((JavascriptAlert) (expectedJavascriptAlerts.get(0)))
+ (expectedJavascriptAlerts.get(0))
.getMessage());
}
for (int i = 0; i < alerts.length; i++) {
@@ -2243,11 +2348,12 @@
}
}
+ @Override
public void setExpectedJavaScriptConfirm(JavascriptConfirm[] confirms)
throws ExpectedJavascriptConfirmException {
if (this.expectedJavascriptConfirms.size() > 0) {
throw new ExpectedJavascriptConfirmException(
- ((JavascriptConfirm) (expectedJavascriptConfirms.get(0)))
+ (expectedJavascriptConfirms.get(0))
.getMessage());
}
for (int i = confirms.length - 1; i >= 0; i--) {
@@ -2255,11 +2361,12 @@
}
}
+ @Override
public void setExpectedJavaScriptPrompt(JavascriptPrompt[] prompts)
throws ExpectedJavascriptPromptException {
if (this.expectedJavascriptPrompts.size() > 0) {
throw new ExpectedJavascriptPromptException(
- ((JavascriptPrompt) (expectedJavascriptPrompts.get(0)))
+ (expectedJavascriptPrompts.get(0))
.getMessage());
}
for (int i = prompts.length - 1; i >= 0; i--) {
@@ -2272,10 +2379,12 @@
*
* @see net.sourceforge.jwebunit.api.ITestingEngine#getElementByXPath(java.lang.String)
*/
+ @Override
public IElement getElementByXPath(String xpath) {
HtmlElement element = this.getHtmlElementByXPath(xpath);
- if (element != null)
+ if (element != null) {
return new HtmlUnitElementImpl(element);
+ }
return null;
}
@@ -2284,10 +2393,12 @@
*
* @see net.sourceforge.jwebunit.api.ITestingEngine#getElementByID(java.lang.String)
*/
+ @Override
public IElement getElementByID(String id) {
HtmlElement element = this.getHtmlElement(id);
- if (element != null)
+ if (element != null) {
return new HtmlUnitElementImpl(element);
+ }
return null;
}
@@ -2296,11 +2407,13 @@
*
* @see net.sourceforge.jwebunit.api.ITestingEngine#getElementsByXPath(java.lang.String)
*/
+ @Override
public List<IElement> getElementsByXPath(String xpath) {
List<IElement> children = new ArrayList<IElement>();
for (Object child : getCurrentPage().getByXPath(xpath)) {
- if (child instanceof HtmlElement)
+ if (child instanceof HtmlElement) {
children.add(new HtmlUnitElementImpl((HtmlElement) child));
+ }
}
return children;
}
@@ -2310,6 +2423,7 @@
*
* @see net.sourceforge.jwebunit.api.ITestingEngine#getServerResponseCode()
*/
+ @Override
public int getServerResponseCode() {
return getWebResponse().getStatusCode();
}
@@ -2324,6 +2438,7 @@
/*
* @param ignoreFailingStatusCodes the ignoreFailingStatusCodes to set
*/
+ @Override
public void setIgnoreFailingStatusCodes(boolean ignore) {
ignoreFailingStatusCodes = ignore;
if (wc != null) {
@@ -2336,6 +2451,7 @@
*
* @see net.sourceforge.jwebunit.api.ITestingEngine#getHeader(java.lang.String)
*/
+ @Override
public String getHeader(String name) {
return getWebResponse().getResponseHeaderValue(name);
}
@@ -2345,6 +2461,7 @@
*
* @see net.sourceforge.jwebunit.api.ITestingEngine#getAllHeaders()
*/
+ @Override
@Deprecated
public Map<String, String> getAllHeaders() {
Map<String, String> map = new java.util.HashMap<String, String>();
@@ -2354,6 +2471,7 @@
return map;
}
+ @Override
public List<HttpHeader> getResponseHeaders() {
List<HttpHeader> result = new LinkedList<HttpHeader>();
for (NameValuePair header : getWebResponse().getResponseHeaders()) {
@@ -2384,6 +2502,7 @@
this.defaultBrowserVersion = defaultBrowserVersion;
}
+ @Override
public void setTimeout(int milliseconds) {
if (wc != null && wc.getWebConnection() != null) {
throw new IllegalArgumentException("Cannot set the timeout when the WebConnection has already been created.");
Modified: trunk/src/changes/changes.xml
===================================================================
--- trunk/src/changes/changes.xml 2012-11-22 11:21:47 UTC (rev 962)
+++ trunk/src/changes/changes.xml 2012-11-27 15:39:46 UTC (rev 963)
@@ -30,6 +30,11 @@
</author>
</properties>
<body>
+ <release version="3.2" date="UNKNOW" description="">
+ <action type="update" dev="henryju" issue="3415400" due-to="Alex">
+ Set useInsecureSSL to true by default for HtmlUnit plugin.
+ </action>
+ </release>
<release version="3.1" date="November 22, 2012" description="Cleanup for Webdriver integration. HtmlUnit 2.11.">
<action type="update" dev="henryju">
Updated to HtmlUnit 2.11. As a result JWebUnit now also require Java 1.6+.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|