I accidentally sent this from the wrong email address, so it's sitting in
someone's inbox waiting for approval. sorry bout that... *
Hi all - moving forward slowly but surely. Was hoping to get some input on my
latest stumbling block.
I have a drop-down list who's value I want to change for a test. In my xhtml,
it looks like this:
<select id='listForm:idDataTable:idItemsPerPage'
name='listForm:idDataTable:idItemsPerPage'
size='1'
onchange='A4J.AJAX.Submit('_id12','listForm',event,{'parameters':{'listForm:idDataTable:_id49':'listForm:idDataTable:_id49'}
,'actionUrl':'/cims/locations/locationList.xhtml'} )'>
My webtest tags for changing the value look like this:
<setSelectField name='listForm:idDataTable:idItemsPerPage' value='10' />
According to the debug statements, the form, field & options are found, and it
appears that the change is made:
[setSelectField] DEBUG (com.canoo.webtest.steps.form.SetSelectField) - Selected
option: HtmlOption[<option value='10' selected='selected'>]
And then, I see the statements:
[setSelectField] DEBUG (com.canoo.webtest.steps.Step) - Finished setSelectField
(10/14)
[setSelectField] DEBUG (com.canoo.webtest.steps.Step) - Completed Step:
setSelectField (10/14)
[setSelectField] DEBUG (com.canoo.webtest.steps.AbstractBrowserAction) -
Current response didn't change during step execution
[setSelectField] DEBUG (com.canoo.webtest.steps.Step) - Step didn't produce
results, no need to notifying listeners
[setSelectField] DEBUG (com.canoo.webtest.steps.Step) - <<<< Successful Step:
setSelectField (10/14)
My test fails because events that should happen after the drop-down value is
changed do not happen, and when I check my webtestResults.html, the last page
given clearly shows my drop-down still set at it's default value, even though
the step itself passes.
I've attached the relevant portion of my debug to this mail, and I'm really
hoping for any insight or ideas? And what is meant by, "Step didn't produce
results, no need to notifying listeners"? I'm now seeing the same issue with
clickButton tag. Same results.
Thanks in advance,
Suzanne
_________________________________________________________________
Share life as it happens with the new Windows Live.Download today it's FREE!
http://www.windowslive.com/share.html?ocid=TXT_TAGLM_Wave2_sharelife_112007DEBUG (com.canoo.webtest.ant.TestStepSequence) - Executing step setSelectField
[EMAIL PROTECTED]
[setSelectField] DEBUG (com.canoo.webtest.reporting.StepExecutionListener) -
isToIgnore: [EMAIL PROTECTED], test
[setSelectField] DEBUG (com.canoo.webtest.reporting.StepResult) - In
retrieveNestedText
[setSelectField] INFO (com.canoo.webtest.steps.Step) - >>>> Start Step:
setSelectField (10/14)
[setSelectField] DEBUG (com.canoo.webtest.steps.Step) - Executing
setSelectField (10/14)
[setSelectField] DEBUG (com.canoo.webtest.util.FormUtil) - Looking for form
with select field null named "listForm:idDataTable:idItemsPerPage"
[setSelectField] DEBUG (com.canoo.webtest.util.FormUtil) - No given form or
given form not suitable, trying others
[setSelectField] DEBUG (com.canoo.webtest.util.FormUtil) - Form 'listForm' has
suitable field, using it
[setSelectField] DEBUG (com.canoo.webtest.steps.form.AbstractSetFieldStep) -
Found matching form HtmlForm[<form id="listForm" name="listForm" method="post"
action="/cims/locations/locationList.xhtml" target="">]
[setSelectField] DEBUG (com.canoo.webtest.steps.form.AbstractSetFieldStep) -
Considering element HtmlSelect[<select id="listForm:idDataTable:idItemsPerPage"
name="listForm:idDataTable:idItemsPerPage" size="1"
onchange="A4J.AJAX.Submit('_id12','listForm',event,{'parameters':{'listForm:idDataTable:_id49':'listForm:idDataTable:_id49'}
,'actionUrl':'/cims/locations/locationList.xhtml'} )">]
[setSelectField] DEBUG (com.canoo.webtest.steps.form.AbstractSetFieldStep) -
Found 1 field(s)
[setSelectField] INFO (com.canoo.webtest.steps.form.AbstractSetFieldStep) -
Found 1 suitable fields, considering only the first one
[setSelectField] DEBUG (com.canoo.webtest.steps.form.SetSelectField) -
Searching for the right option in HtmlSelect[<select
id="listForm:idDataTable:idItemsPerPage"
name="listForm:idDataTable:idItemsPerPage" size="1"
onchange="A4J.AJAX.Submit('_id12','listForm',event,{'parameters':{'listForm:idDataTable:_id49':'listForm:idDataTable:_id49'}
,'actionUrl':'/cims/locations/locationList.xhtml'} )">]
[setSelectField] DEBUG (com.canoo.webtest.steps.form.SetSelectField) -
Searching option with value: 10
[setSelectField] DEBUG (com.gargoylesoftware.htmlunit.html.HtmlSelect) - Firing
Event change (Current Target: HTMLElement for HtmlSelect[<select
id="listForm:idDataTable:idItemsPerPage"
name="listForm:idDataTable:idItemsPerPage" size="1"
onchange="A4J.AJAX.Submit('_id12','listForm',event,{'parameters':{'listForm:idDataTable:_id49':'listForm:idDataTable:_id49'}
,'actionUrl':'/cims/locations/locationList.xhtml'} )">]);
[setSelectField] DEBUG
(com.gargoylesoftware.htmlunit.javascript.host.EventListenersContainer) -
Executing change handler for HtmlSelect[<select
id="listForm:idDataTable:idItemsPerPage"
name="listForm:idDataTable:idItemsPerPage" size="1"
onchange="A4J.AJAX.Submit('_id12','listForm',event,{'parameters':{'listForm:idDataTable:_id49':'listForm:idDataTable:_id49'}
,'actionUrl':'/cims/locations/locationList.xhtml'} )">]
[setSelectField] DEBUG
(com.gargoylesoftware.htmlunit.DefaultCredentialsProvider) - Flushed marked
answers
[setSelectField] DEBUG
(com.gargoylesoftware.htmlunit.javascript.host.XMLHttpRequest) - Calling
onreadystatechange handler for state 1
[setSelectField] DEBUG
(com.gargoylesoftware.htmlunit.javascript.host.XMLHttpRequest) -
onreadystatechange handler:
[setSelectField] function () {
[setSelectField] if (window.document.documentElement !=
_this._documentElement) {
[setSelectField] LOG.warn("Page for current request have been
unloaded - abort processing");
[setSelectField] _this.abort();
[setSelectField] return;
[setSelectField] }
[setSelectField] if (_this._aborted) {
[setSelectField] return;
[setSelectField] }
[setSelectField] LOG.debug("Reqest state : " +
_this._request.readyState);
[setSelectField] if (_this._request.readyState == 4) {
[setSelectField] LOG.debug("Reqest end with state 4");
[setSelectField] if (_this._timeoutID) {
[setSelectField] window.clearTimeout(_this._timeoutID);
[setSelectField] }
[setSelectField] var requestStatus;
[setSelectField] var requestStatusText;
[setSelectField] try {
[setSelectField] requestStatus = _this._request.status;
[setSelectField] requestStatusText = _this._request.statusText;
[setSelectField] }
[setSelectField] catch (e) {
[setSelectField] LOG.error("request don't have status code -
network problem, " + e.message);
[setSelectField] requestStatus = 599;
[setSelectField] requestStatusText = "Network error";
[setSelectField] }
[setSelectField] if (requestStatus == 200) {
[setSelectField] try {
[setSelectField] LOG.debug("Response with content-type: "
+ _this.getResponseHeader("Content-Type"));
[setSelectField] LOG.debug("Full response content: ",
_this.getResponseText());
[setSelectField] }
[setSelectField] catch (e) {
[setSelectField] }
[setSelectField] if (_this._request.responseXML) {
[setSelectField] _this._parsingStatus =
Sarissa.getParseErrorText(_this._request.responseXML);
[setSelectField] if (_this._parsingStatus ==
Sarissa.PARSED_OK && Sarissa.setXpathNamespaces) {
[setSelectField]
Sarissa.setXpathNamespaces(_this._request.responseXML,
"xmlns='http://www.w3.org/1999/xhtml'");
[setSelectField] }
[setSelectField] }
[setSelectField] if (_this.onready) {
[setSelectField] _this.onready(_this);
[setSelectField] }
[setSelectField] } else {
[setSelectField] _this._errorMessage = "Reqest error, status :
" + requestStatus + " " + requestStatusText;
[setSelectField] LOG.error(_this._errorMessage);
[setSelectField] if (typeof (_this._onerror) == "function") {
[setSelectField] _this._onerror(_this, requestStatus,
_this._errorMessage);
[setSelectField] }
[setSelectField] }
[setSelectField] if (_this.onfinish) {
[setSelectField] _this.onfinish(_this);
[setSelectField] }
[setSelectField] _this = undefined;
[setSelectField] }
[setSelectField] }
[setSelectField] DEBUG
(com.gargoylesoftware.htmlunit.javascript.host.XMLHttpRequest) - Calling
onreadystatechange handler for state 1. Done.
[setSelectField] DEBUG
(com.gargoylesoftware.htmlunit.javascript.host.XMLHttpRequest) - Calling
onreadystatechange handler for state 1
[setSelectField] DEBUG
(com.gargoylesoftware.htmlunit.javascript.host.XMLHttpRequest) -
onreadystatechange handler:
[setSelectField] function () {
[setSelectField] if (window.document.documentElement !=
_this._documentElement) {
[setSelectField] LOG.warn("Page for current request have been
unloaded - abort processing");
[setSelectField] _this.abort();
[setSelectField] return;
[setSelectField] }
[setSelectField] if (_this._aborted) {
[setSelectField] return;
[setSelectField] }
[setSelectField] LOG.debug("Reqest state : " +
_this._request.readyState);
[setSelectField] if (_this._request.readyState == 4) {
[setSelectField] LOG.debug("Reqest end with state 4");
[setSelectField] if (_this._timeoutID) {
[setSelectField] window.clearTimeout(_this._timeoutID);
[setSelectField] }
[setSelectField] var requestStatus;
[setSelectField] var requestStatusText;
[setSelectField] try {
[setSelectField] requestStatus = _this._request.status;
[setSelectField] requestStatusText = _this._request.statusText;
[setSelectField] }
[setSelectField] catch (e) {
[setSelectField] LOG.error("request don't have status code -
network problem, " + e.message);
[setSelectField] requestStatus = 599;
[setSelectField] requestStatusText = "Network error";
[setSelectField] }
[setSelectField] if (requestStatus == 200) {
[setSelectField] try {
[setSelectField] LOG.debug("Response with content-type: "
+ _this.getResponseHeader("Content-Type"));
[setSelectField] LOG.debug("Full response content: ",
_this.getResponseText());
[setSelectField] }
[setSelectField] catch (e) {
[setSelectField] }
[setSelectField] if (_this._request.responseXML) {
[setSelectField] _this._parsingStatus =
Sarissa.getParseErrorText(_this._request.responseXML);
[setSelectField] if (_this._parsingStatus ==
Sarissa.PARSED_OK && Sarissa.setXpathNamespaces) {
[setSelectField]
Sarissa.setXpathNamespaces(_this._request.responseXML,
"xmlns='http://www.w3.org/1999/xhtml'");
[setSelectField] }
[setSelectField] }
[setSelectField] if (_this.onready) {
[setSelectField] _this.onready(_this);
[setSelectField] }
[setSelectField] } else {
[setSelectField] _this._errorMessage = "Reqest error, status :
" + requestStatus + " " + requestStatusText;
[setSelectField] LOG.error(_this._errorMessage);
[setSelectField] if (typeof (_this._onerror) == "function") {
[setSelectField] _this._onerror(_this, requestStatus,
_this._errorMessage);
[setSelectField] }
[setSelectField] }
[setSelectField] if (_this.onfinish) {
[setSelectField] _this.onfinish(_this);
[setSelectField] }
[setSelectField] _this = undefined;
[setSelectField] }
[setSelectField] }
[setSelectField] DEBUG
(com.gargoylesoftware.htmlunit.javascript.host.XMLHttpRequest) - Calling
onreadystatechange handler for state 1. Done.
[setSelectField] DEBUG
(com.gargoylesoftware.htmlunit.javascript.host.XMLHttpRequest) - Setting
request body to:
listForm%3aidDataTable%3a_id49=listForm%3aidDataTable%3a_id49&listForm%3a_idcl=&listForm%3aidDataTable%3aidAscending=true&autoScroll=&javax.faces.ViewState=rO0ABXVyABNbTGphdmEubGFuZy5PYmplY3Q7kM5YnxBzKWwCAAB4cAAAAAN0AAZfaWQzOTJwdAAdL2xvY2F0aW9ucy9sb2NhdGlvbkxpc3QueGh0bWw%3d&AJAXREQUEST=_id12&sort=&listForm%3a_link_hidden_=&listForm%3aidDataTable%3aidItemsPerPage=10&listForm=listForm&listForm%3aidDataTable%3aidSortField=name&listForm%3asearchField=&
[setSelectField] DEBUG
(com.gargoylesoftware.htmlunit.javascript.host.XMLHttpRequest) - Starting
XMLHttpRequest thread for asynchronous request
[setSelectField] DEBUG (com.canoo.webtest.steps.form.SetSelectField) - Selected
option: HtmlOption[<option value="10" selected="selected">]
[setSelectField] DEBUG (com.canoo.webtest.steps.Step) - Finished setSelectField
(10/14)
[setSelectField] DEBUG (com.canoo.webtest.steps.Step) - Completed Step:
setSelectField (10/14)
[setSelectField] DEBUG (com.canoo.webtest.steps.AbstractBrowserAction) -
Current response didn't change during step execution
[setSelectField] DEBUG (com.canoo.webtest.steps.Step) - Step didn't produce
results, no need to notifying listeners
[setSelectField] DEBUG (com.canoo.webtest.steps.Step) - <<<< Successful Step:
setSelectField (10/14)