[Webtest] Asynchronous requests: how to track?
Marc Guillemot
Marc Guillemot <mguillemot@yahoo.fr>
Thu, 30 Aug 2007 10:39:20 +0200
Hi Andrew,
can you try this (with a recent build containing HtmlUnit 1.13):
<groovy>
import com.gargoylesoftware.htmlunit.NicelyResynchronizingAjaxController
step.context.webClient.ajaxController = new
NicelyResynchronizingAjaxController()
</groovy>
this will be the default setting for WebTest... once I've found time for it.
More about the motivation of this resynchronization:
http://mguillem.wordpress.com/2007/07/24/htmlunit-re-synchronize-ajax-calls-for-simple-deterministic-test-automation/
Marc.
--
Blog: http://mguillem.wordpress.com
Andrew Sickorsky wrote:
> Hi!
>> I couldn't really try it, the app said that the Excel file was
>> invalid, even
>> the one that it generated! ;-(
>>
> As for me - all works fine (possibly connection problems, we'll
> investigate this). Recently I've sent a e-mail with 30 Kb excel, but it
> seems that this mail is on moderation. So, this is another attempt :)
>> Do you know how the asynchronous processing is performed? AJAX call,
>> setTimeout?
> Asynchronous processing is performed with AJAX call.
>
>
>> Marc.
>>
>>
>> Andrew Sickorsky wrote:
>>
>>> Hello, all!
>>> I've experiencing some problems with testing asynchronous jobs: in
>>> our sysiem under tests (SUT) user can choose file to upload, and than
>>> this file is uploaded in asynchronous manner. This process reflects
>>> on the float div and finishes with corresponded message. Is there any
>>> way to trac this process and track the finel message? For now I try
>>> to use <sleep > in a <retry> construction to wait proper message, but
>>> this makes no sence:
>>>
>>> <clickLink label="Import from Excel" description="Open dialog for
>>> additional Excel upload"/>
>>> <setFileField xpath="//div[@id='upload']//input[@type='file']"
>>> fileName="${analysis-test-web.dir}/testdata/${excel.name}"/>
>>> <clickElement
>>> xpath="//div[@id='upload']//input[@class='upload-button']"
>>> description="click on upload button"/>
>>> <sleep seconds = "3"/>
>>> <retry maxcount="25" description="wait while spreadsheet is importing">
>>> <not>
>>> <verifyText text="Please wait while your feed is being
>>> imported."/>
>>> </not>
>>> <sleep seconds="6"/>
>>> </retry>
>>>
>>> To clarify the problem you can look into http://demo.bitcut.com
>>> (pre-beta release, feel free to test it, nothing terrible happens)
>>> and try to upload excel with several columns
>>>