Hello,

yes Marc, to validate the original response is exactly what i want. Thanks
for the answer, but i allways get the error message:

Exception
groovy.lang.MissingMethodException
Message
No signature of method
com.gargoylesoftware.htmlunit.WebResponseImpl.contentAsString() is
applicable for argument types: () values: {}

I use the 2.5 version of webtest, so i think i have to update canoo webtest.

Thanks,
Dariusch   



Marc Guillemot wrote:
> 
> If you get
> 
>> Exception
>> groovy.lang.MissingMethodException
>> Message
>> No signature of method
> com.gargoylesoftware.htmlunit.xml.XmlPage.asXml() is
>> applicable for argument types: () values: {}
> 
> this means that the content of your current page is not html but xml. Is
> it really what you expected?
> 
> More generally, I doesn't make so much sense to validate the html
> generated by HtmlPage.asXml() as it is already the result of a parse
> operation with tag balancing, etc. It would make more sense to check the
>  original response from the server that can be accessed with
> step.context.currentResponse.webResponse.contentAsString
> 
> Cheers,
> Marc.
> -- 
> Blog: http://mguillem.wordpress.com
> 
> 
> dariusch wrote:
>> Hi,
>> 
>> if i use these code snippel:
>> 
>> <groovy description="Store the html of the page">
>>          def document = step.context.currentResponse.asXml()
>>          def props = step.getWebtestProperties( step.PROPERTY_TYPE_DYNAMIC )
>> ;
>>          props.putAt("htmlPage",document)
>> </groovy>
>> 
>> i get this error message:
>> 
>> Exception
>> groovy.lang.MissingMethodException
>> Message
>> No signature of method com.gargoylesoftware.htmlunit.xml.XmlPage.asXml()
>> is
>> applicable for argument types: () values: {}
>> 
>> Is htmlPage a dynamic property? I saw something here:
>> 
>> http://www.nabble.com/getting-started-tt16373515.html#a16545352
>> 
>> But it dosen't work.
>> 
>> Thanks,
>> Dariusch 
>> 
>>  
>> 
>> 
>> 
>> dariusch wrote:
>>> Hi,
>>>
>>> if i use value="#{htmlPage}", inside the inputField is the string
>>> #{htmlPage} and not the html code.
>>>
>>> so this solution dosen't work!
>>>
>>> Dariusch
>>>
>>>
>>> Florent Blondeau wrote:
>>>> Hi Dariusch,
>>>>
>>>> if i use these groovy steps, where are the html code, inside the
>>>> document
>>>> property?
>>>>
>>>> Nope, it should be in the htmlPage property, so your code should be :
>>>>
>>>> <setInputField description='set textarea with feeds' 
>>>>   htmlId='fragment'
>>>>   value="#{htmlPage}"/>
>>>>
>>>> Florent
>>>>
>>>> Pingwy
>>>> 27, rue des arènes
>>>> 49100 Angers
>>>>
>>>>
>>>>
>>>> dariusch a écrit :
>>>>> Hello,
>>>>>
>>>>> if i use these groovy steps, where are the html code, inside the
>>>>> document
>>>>> property?
>>>>> I will do this:
>>>>>
>>>>> groovy(description:"Store the html of the page","""
>>>>>    def document = step.context.currentResponse.asXml()
>>>>>    def props = step.webtestProperties
>>>>>    props.putAt("htmlPage",document)
>>>>>     """)
>>>>> <invoke description="goto W3C page" 
>>>>>   url="http://validator.w3.org/#validate_by_input"; />
>>>>> <setInputField description='set textarea with feeds' 
>>>>>   htmlId='fragment'
>>>>>   value="#{document}"/>
>>>>> <clickButton description="Submit the simple feedvalidation"
>>>>> xpath="//[EMAIL PROTECTED]'validate-by-input']//[EMAIL 
>>>>> PROTECTED]'Check']"/>
>>>>>
>>>>> I think, to set the value inside setInputField over the #{document} is
>>>>> not
>>>>> correct. 
>>>>>
>>>>> What is my mistake? 
>>>>>
>>>>> Thanks,
>>>>> Dariusch
>>>>>  
>>>>>
>>>>>
>>>>> Florent Blondeau wrote:
>>>>>   
>>>>>> Hi Dariusch,
>>>>>>
>>>>>> You can get the html via a groovy step
>>>>>>
>>>>>>               groovy(description:"Store the html of the page","""
>>>>>>                        def document =
>>>>>> step.context.currentResponse.asXml()
>>>>>>                        def props = step.webtestProperties
>>>>>>                        props.putAt("htmlPage",document)
>>>>>>                     """)
>>>>>>
>>>>>> or
>>>>>> <groovy description="Store the html of the page">
>>>>>>                         def document =
>>>>>> step.context.currentResponse.asXml()
>>>>>>                        def props = step.webtestProperties
>>>>>>                        props.putAt("htmlPage",document)
>>>>>> </groovy>
>>>>>> in a less groovy way...
>>>>>>
>>>>>> Then you have your html code (cleaned up with Tidy) in the htmlPage
>>>>>> property
>>>>>>
>>>>>> Hope that helps
>>>>>>
>>>>>> Florent
>>>>>>
>>>>>> Pingwy
>>>>>> 27, rue des arènes
>>>>>> 49100 Angers
>>>>>>
>>>>>>
>>>>>>
>>>>>> dariusch a écrit :
>>>>>>     
>>>>>>> Hi,
>>>>>>>
>>>>>>> if i use storexpath with ='/', i get the text without the elements,
>>>>>>> but i
>>>>>>> need all.
>>>>>>>
>>>>>>> Someone has an idea?
>>>>>>>
>>>>>>> Dariusch
>>>>>>>
>>>>>>>
>>>>>>> dariusch wrote:
>>>>>>>   
>>>>>>>       
>>>>>>>> Hello,
>>>>>>>>
>>>>>>>> i just want to store all source code from a response page. It is
>>>>>>>> possible
>>>>>>>> to do that (inside a variable)? I need this, because i will check
>>>>>>>> these
>>>>>>>> sources it is valid (the page is an rss-feed).
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> Dariusch
>>>>>>>>
>>>>>>>>     
>>>>>>>>         
>>>>>>>   
>>>>>>>       
>>>>>>     
>>>>>   
>>>>
>>>
>> 
> 
> _______________________________________________
> WebTest mailing list
> [email protected]
> http://lists.canoo.com/mailman/listinfo/webtest
> 
> 

-- 
View this message in context: 
http://www.nabble.com/How-to-store-the-source-code-from-a-response-page.-tp16297922p16718687.html
Sent from the WebTest mailing list archive at Nabble.com.

_______________________________________________
WebTest mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/webtest

Reply via email to