[Webtest] AJAX Support

Michal Michal <uhmm@1234.sk>
Tue, 10 Apr 2007 13:13:33 +0200


Any news on this topic?

Michal wrote:
> Sorry missed some stuff...
>
> Relevant test case:
>                <invoke url="test2.php"/>                  <setSelectField
>                    description="Select role"
>                    htmlid="role"
>                    text="Role 2"
>                />
>                           <sleep description="5s pause" seconds="5" />
>                <setSelectField
>                    description="Select person"
>                    htmlid="person"
>                    value="Manager"
>                />
>
>
> Here is the error:
>
>   [invoke]  INFO (com.canoo.webtest.steps.Step) - >>>> Start Step: 
> invoke (5/8)
>   [invoke]  INFO 
> (com.canoo.webtest.steps.request.AbstractTargetAction) - -> gotoTarget 
> by URL: test2.php
>   [invoke]  INFO (com.canoo.webtest.steps.request.TargetHelper) - 
> getting response for url: http://host/wert/test2.php
>   [invoke]  INFO (com.canoo.webtest.engine.WebClientContext) - Content 
> of window changed to http://host/wert/test2.php (text/html)
>   [invoke]  INFO (com.canoo.webtest.engine.WebClientContext) - Content 
> of current window changed, it will become current response
>   [invoke]  INFO (com.canoo.webtest.engine.WebClientContext) - Current 
> form set to none
>   [invoke]  INFO (com.canoo.webtest.engine.WebClientContext) - Current 
> response now: http://host/wert/test2.php
> [setSelectField]  INFO (com.canoo.webtest.steps.Step) - >>>> Start 
> Step: setSelectField "Select role" (6/8)
>    [sleep] java.lang.NullPointerException
>    [sleep]     at 
> com.gargoylesoftware.htmlunit.javascript.OptionsArray.get(OptionsArray.java:97) 
>
>    [sleep]     at 
> org.mozilla.javascript.ScriptableObject.getProperty(ScriptableObject.java:1343) 
>
>    [sleep]     at 
> org.mozilla.javascript.ScriptRuntime.getObjectElem(ScriptRuntime.java:1304) 
>
>    [sleep]     at 
> org.mozilla.javascript.ScriptRuntime.getObjectElem(ScriptRuntime.java:1288) 
>
>    [sleep]     at 
> org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:2846)
>    [sleep]     at 
> org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2251)
>    [sleep]     at 
> org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:161) 
>
>    [sleep]     at 
> org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:340)
>    [sleep]     at 
> com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory.doTopCall(HtmlUnitContextFactory.java:151) 
>
>    [sleep]     at 
> org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2758)
>    [sleep]     at 
> org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:159) 
>
>    [sleep]     at 
> com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaScriptEngine.java:363) 
>
>    [sleep]     at 
> com.gargoylesoftware.htmlunit.javascript.host.XMLHttpRequest.setState(XMLHttpRequest.java:145) 
>
>    [sleep]     at 
> com.gargoylesoftware.htmlunit.javascript.host.XMLHttpRequest.doSend(XMLHttpRequest.java:375) 
>
>    [sleep]     at 
> com.gargoylesoftware.htmlunit.javascript.host.XMLHttpRequest.access$000(XMLHttpRequest.java:72) 
>
>    [sleep]     at 
> com.gargoylesoftware.htmlunit.javascript.host.XMLHttpRequest$1.run(XMLHttpRequest.java:328) 
>
>    [sleep]     at java.lang.Thread.run(Thread.java:570)
>    [sleep]     at 
> com.gargoylesoftware.htmlunit.ThreadManager$1.run(ThreadManager.java:118)
> [setSelectField]  INFO (com.canoo.webtest.steps.Step) - >>>> Start 
> Step: setSelectField "Select person" (8/8)
> [setSelectField]  INFO (com.canoo.webtest.steps.Step) - Running with: 
> Canoo Webtest: R_1537.
> [setSelectField]  INFO (com.canoo.webtest.steps.Step) - Exception 
> thrown from this class: com.canoo.webtest.engine.StepFailedException
> [setSelectField]  INFO (com.canoo.webtest.steps.Step) - Message was: 
> No option found matching criteria in select HtmlSelect[<select 
> name="person" id="person">]
> INFO (com.canoo.webtest.steps.Step) - Running with: Canoo Webtest: 
> R_1537.
> INFO (com.canoo.webtest.steps.Step) - Exception thrown from this 
> class: com.canoo.webtest.engine.StepFailedException
> INFO (com.canoo.webtest.steps.Step) - Message was: No option found 
> matching criteria in select HtmlSelect[<select name="person" 
> id="person">]
> INFO (com.canoo.webtest.ant.WebtestTask) - Finished executing webtest 
> "My description" (/home/kralik/apps/test/tests/wert/tasks/form0.xml:11: )
> INFO (com.canoo.webtest.ant.WebtestTask) - Test report successfully 
> created.
>
> As you can see, this throws the NullPointerException and doesn't work 
> with ajax :/
>
>
>
> Marc Guillemot wrote:
>> really strange.
>>
>> Can you provide the smallest html+js file allowing to reproduce your 
>> error?
>>
>> Marc.
>>
>> uhmm wrote:
>>  
>>> I searched using find / -iname "*htmlunit*" and I found only one on
>>> the whole disk. Version 1.11
>>>
>>>
>>> Thursday, April 5, 2007, 9:01:13 AM, you wrote:
>>>
>>> MG> Have you searched on your whole disk for htmlunit*.jar?
>>>
>>> MG> Marc.
>>>
>>> MG> uhmm@1234.sk wrote:
>>>    
>>>>> How can I find out if it is a classpath problem? There so no
>>>>> other htmlunit code on the machine.
>>>>>
>>>>>
>>>>> ----- Original Message -----
>>>>> From: Marc Guillemot <mguillemot@yahoo.fr>
>>>>> To: webtest@lists.canoo.com
>>>>> Subject: Re: [Webtest] AJAX Support
>>>>> Date: Wed, 4 Apr 2007 06:05:56 -0700 (PDT)
>>>>>
>>>>>        
>>>>>> Hi,
>>>>>>
>>>>>> I think that you have some classpath problem and that an
>>>>>> older version of htmlunit is used because in htmlunit 1.11
>>>>>> (the one now provided with WebTest) no
>>>>>> NullPointerException can occur at line 102 of
>>>>>> OptionsArray.
>>>>>>
>>>>>> Marc.
>>>>>>
>>>>>>
>>>>>> uhmm@1234.sk wrote:
>>>>>>          
>>>>>>> Hey there,
>>>>>>> I've been looking around internet for ajax support in
>>>>>>> webtest, but
>>>>>>> haven't found anything what would help me. Hope people
>>>>>>> here can...
>>>>>>>
>>>>>>> I have school example of ajax usage. 2 dropdowns, first
>>>>>>> one is
>>>>>>> changed, second one is updated. How shall I create test
>>>>>>> steps?
>>>>>>>
>>>>>>> Easy it may seem, but it's not. Here is my try:
>>>>>>>
>>>>>>> <setSelectField
>>>>>>>        description="Select offering type"
>>>>>>>        htmlid="fOfferingType"
>>>>>>>        text="Application Support"
>>>>>>> />
>>>>>>> <sleep description="12s pause" seconds="12" />
>>>>>>> <setSelectField
>>>>>>>        description="Select offering subtype"
>>>>>>>        htmlid="fOfferingSubtype"
>>>>>>>        value="Other"
>>>>>>> />
>>>>>>>
>>>>>>> Errors I'm getting:
>>>>>>> [setSelectField]  INFO (com.canoo.webtest.steps.Step) -
>>>>>>>            
>>>>>>>>>>> Start
>>>>>>>>>>>                     
>>>>>>> Step: setSelectField "Select offering type" (13/15)
>>>>>>>    [sleep] java.lang.NullPointerException
>>>>>>>    [sleep]     at
>>>>>>>
>>>>>>>             
>>>>>> com.gargoylesoftware.htmlunit.javascript.OptionsArray.get(
>>>>>>          
>>>>>>>    OptionsArray.java:102) [sleep]     at
>>>>>>>
>>>>>>>             
>>>>>> org.mozilla.javascript.ScriptableObject.getProperty(Script
>>>>>>          
>>>>>>>    ableObject.java:1343) [sleep]     at
>>>>>>>
>>>>>>>             
>>>>>> org.mozilla.javascript.ScriptRuntime.getObjectElem(ScriptR
>>>>>>          
>>>>>>>    untime.java:1304) [sleep]     at
>>>>>>>
>>>>>>>             
>>>>>> org.mozilla.javascript.ScriptRuntime.getObjectElem(ScriptR
>>>>>>          
>>>>>>>    untime.java:1288) [sleep]     at
>>>>>>>
>>>>>>>             
>>>>>> org.mozilla.javascript.Interpreter.interpretLoop(Interpret
>>>>>>          
>>>>>>> er.java(Compiled Code))
>>>>>>>    [sleep]     at
>>>>>>>
>>>>>>>             
>>>>>> org.mozilla.javascript.Interpreter.interpret(Interpreter.j
>>>>>>          
>>>>>>>    ava:2251) [sleep]     at
>>>>>>>
>>>>>>>             
>>>>>> org.mozilla.javascript.InterpretedFunction.call(Interprete
>>>>>>          
>>>>>>>    dFunction.java:161) [sleep]     at
>>>>>>>
>>>>>>>             
>>>>>> org.mozilla.javascript.ContextFactory.doTopCall(ContextFac
>>>>>>          
>>>>>>>    tory.java:340) [sleep]     at
>>>>>>>
>>>>>>>             
>>>>>> com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFa
>>>>>>          
>>>>>>>    ctory.doTopCall(HtmlUnitContextFactory.java:151)
>>>>>>> [sleep]     at
>>>>>>>             
>>>>>> org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRunti
>>>>>>          
>>>>>>>    me.java:2758) [sleep]     at
>>>>>>>
>>>>>>>             
>>>>>> org.mozilla.javascript.InterpretedFunction.call(Interprete
>>>>>>          
>>>>>>>    dFunction.java:159) [sleep]     at
>>>>>>>
>>>>>>>             
>>>>>> com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.
>>>>>>          
>>>>>>>    callFunction(JavaScriptEngine.java:363) [sleep]    at
>>>>>>>             
>>>>>> com.gargoylesoftware.htmlunit.javascript.host.XMLHttpReque
>>>>>>          
>>>>>>>    st.setState(XMLHttpRequest.java:145) [sleep]     at
>>>>>>>
>>>>>>>             
>>>>>> com.gargoylesoftware.htmlunit.javascript.host.XMLHttpReque
>>>>>>          
>>>>>>>    st.doSend(XMLHttpRequest.java:375) [sleep]     at
>>>>>>>
>>>>>>>             
>>>>>> com.gargoylesoftware.htmlunit.javascript.host.XMLHttpReque
>>>>>>          
>>>>>>>    st.access$000(XMLHttpRequest.java:72) [sleep]     at
>>>>>>>
>>>>>>>             
>>>>>> com.gargoylesoftware.htmlunit.javascript.host.XMLHttpReque
>>>>>>          
>>>>>>>    st$1.run(XMLHttpRequest.java:328) [sleep]     at
>>>>>>>    java.lang.Thread.run(Thread.java:570) [sleep]     at
>>>>>>>
>>>>>>>             
>>>>>> com.gargoylesoftware.htmlunit.ThreadManager$1.run(ThreadMa
>>>>>>          
>>>>>>> nager.java:118) [setSelectField]  INFO
>>>>>>> (com.canoo.webtest.steps.Step) - >>>> Start
>>>>>>> Step: setSelectField "Select offering subtype" (15/15)
>>>>>>> [setSelectField]  INFO (com.canoo.webtest.steps.Step) -
>>>>>>> Running with:
>>>>>>> Canoo Webtest: R_1537.
>>>>>>> [setSelectField]  INFO (com.canoo.webtest.steps.Step) -
>>>>>>> Exception
>>>>>>> thrown from this class:
>>>>>>> com.canoo.webtest.engine.StepFailedException
>>>>>>> [setSelectField]  INFO (com.canoo.webtest.steps.Step) -
>>>>>>> Message was:
>>>>>>> No option found matching criteria in select
>>>>>>> HtmlSelect[<select
>>>>>>> name="fOfferingSubtype" id="fOfferingSubtype"
>>>>>>> class="body-text-small "
>>>>>>> onchange="showRelevantCountries();">]
>>>>>>>  INFO (com.canoo.webtest.steps.Step) - Running with:
>>>>>>> Canoo Webtest: R_1537.
>>>>>>>  INFO (com.canoo.webtest.steps.Step) - Exception thrown
>>>>>>> from this
>>>>>>> class: com.canoo.webtest.engine.StepFailedException
>>>>>>>  INFO (com.canoo.webtest.steps.Step) - Message was: No
>>>>>>> option found
>>>>>>> matching criteria in select HtmlSelect[<select
>>>>>>> name="fOfferingSubtype"
>>>>>>> id="fOfferingSubtype" class="body-text-small "
>>>>>>> onchange="showRelevantCountries();">]
>>>>>>>
>>>>>>>
>>>>>>> What is wrong? As you can see I have the latest Webtest
>>>>>>> revision with
>>>>>>> latest HtmlUnit...
>>>>>>> Exception coming out of sleep?
>>>>>>>
>>>>>>> Your help is very appreciated!
>>>>>>> _______________________________________________
>>>>>>> WebTest mailing list
>>>>>>> WebTest@lists.canoo.com
>>>>>>> http://lists.canoo.com/mailman/listinfo/webtest
>>>>>>>
>>>>>>>
>>>>>>>             
>>>>>> -- 
>>>>>> View this message in context:
>>>>>> http://www.nabble.com/AJAX-Support-tf3525274.html#a9836506
>>>>>> Sent from the WebTest mailing list archive at Nabble.com.
>>>>>>
>>>>>> _______________________________________________
>>>>>> WebTest mailing list
>>>>>> WebTest@lists.canoo.com
>>>>>> http://lists.canoo.com/mailman/listinfo/webtest
>>>>>>           
>>>>> _______________________________________________
>>>>> WebTest mailing list
>>>>> WebTest@lists.canoo.com
>>>>> http://lists.canoo.com/mailman/listinfo/webtest
>>>>>
>>>>>         
>>> MG> _______________________________________________
>>> MG> WebTest mailing list
>>> MG> WebTest@lists.canoo.com
>>> MG> http://lists.canoo.com/mailman/listinfo/webtest
>>>
>>>
>>> _______________________________________________
>>> WebTest mailing list
>>> WebTest@lists.canoo.com
>>> http://lists.canoo.com/mailman/listinfo/webtest
>>>
>>>     
>>
>> _______________________________________________
>> WebTest mailing list
>> WebTest@lists.canoo.com
>> http://lists.canoo.com/mailman/listinfo/webtest
>>
>>
>>
>>   
>
>
> _______________________________________________
> WebTest mailing list
> WebTest@lists.canoo.com
> http://lists.canoo.com/mailman/listinfo/webtest
>
>
>