This is not a clean solution but an easy fix is to change visibility or add
some
methods in HtmlUnitTestingEngineImpl, and cast the use:
((HtmlUnitTestingEngineImpl) getTestingEngine()).xxxxx (where xxx could be
setDefaultRefreshHandler) before calling beginAt().
Regards,
Julien
>
>De : Jason McSwain <jasonwmcsw...@gmail.com>
>À : Usage problems for JWebUnit <jwebunit-users@lists.sourceforge.net>
>Envoyé le : Mer 1 septembre 2010, 18h 34min 35s
>Objet : Re: [JWebUnit-users] Re : Attempted to refresh a page using an
>ImmediateRefreshHandler which could have caused an OutOfMemoryError Please use
>WaitingRefreshHandler or ThreadedRefreshHandler instead
>
>Thank you for the quick response. I would be interested in contributing. i'm
>looking through the contribution steps here. I would assume that it would be
>an
>easy fix. Once i have an env setup, i'll put in a fix, and let you review it.
>
>Is there any particular way that you would prefer to have this done?
>
>-Jason-
>
>
>
>
>On Wed, Sep 1, 2010 at 7:26 AM, Julien HENRY <henr...@yahoo.fr> wrote:
>
>Hi Jason,
>>
>>Currently there is no way to change the refresh handler. There is a long
>>standing issue about accessing HtmlUnit internals from JWebUnit API. At first
>>it
>>was a choice to prevent user to call HtmlUnit specific API and prevent easy
>>switch to another testing engine but now we admit there are cases where it
>>should be possible.
>>
>>We are waiting for contribution in this area.
>>
>>Regards,
>>
>>Julien
>>
>>
>>
>>>
>>>De : Jason McSwain <jasonwmcsw...@gmail.com>
>>>
>>>À : jwebunit-users@lists.sourceforge.net
>>>Envoyé le : Mer 1 septembre 2010, 1h 03min 13s
>>>Objet : [JWebUnit-users] Attempted to refresh a page using an
>>>ImmediateRefreshHandler which could have caused an OutOfMemoryError Please
>>>use
>>>WaitingRefreshHandler or ThreadedRefreshHandler instead
>>>
>>>
>>>Hello,
>>>
>>>I searched both the Development and User forums, but didn't find an answer.
>>>if
>>>this has already been answered please point me to the right entry in the
>>>archives. Thank you in advance for any help you can provide.
>>>
>>>i'm new to the list, but have been using JWebUnit for the last 6 months. it
>>>works great on one of the products i test, so we decided to use it on
>>>another
>>>product, too. This new product has a page that refreshes every 30 seconds,
>>>and
>>>when i go to setup my WebTester, i get an exception. about RefreshHandlers.
>>>We
>>>are using the HtmlUnit plugin, not selenium. The Question i have is how do
>>>i
>>>change the Refresh handler? This error happens when i call
>>>WebTester.beginAt("/"), and that method initializes the WebClient inside a
>>>private method, and sets the refreshHandler to the ImmediateRefreshHandler.
>>>i'd
>>>like to use another type.
>>>
>>>
>>>Error:
>>>java.lang.RuntimeException: Unexpected Exception during init.
>>> at TestWebTester.init(TestWebTester.java:53)
>>> at TestWebTester.<init>(TestWebTester.java:37)
>>> at TestWebTester.main(TestWebTester.java:60)
>>>Caused by: java.lang.RuntimeException: Refresh to http://10.10.10.31:90/
>>>(30s)
>>>aborted by HtmlUnit: Attempted to refresh a page using an
>>>ImmediateRefreshHandler which could have caused an OutOfMemoryError Please
>>>use
>>>WaitingRefreshHandler or ThreadedRefreshHandler instead.
>>> at
>>>com.gargoylesoftware.htmlunit.ImmediateRefreshHandler.handleRefresh(ImmediateRefreshHandler.java:58)
>>>
>>> at
>>>com.gargoylesoftware.htmlunit.html.HtmlPage.executeRefreshIfNeeded(HtmlPage.java:1279)
>>>
>>> at
>>com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:218)
>>> at
>>>com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:427)
>>> at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:303)
>>> at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:360)
>>> at
>>>net.sourceforge.jwebunit.htmlunit.HtmlUnitTestingEngineImpl.gotoPage(HtmlUnitTestingEngineImpl.java:248)
>>>
>>> at
>>>net.sourceforge.jwebunit.htmlunit.HtmlUnitTestingEngineImpl.beginAt(HtmlUnitTestingEngineImpl.java:207)
>>>
>>> at net.sourceforge.jwebunit.junit.WebTester.beginAt(WebTester.java:228)
>>> at TestWebTester.init(TestWebTester.java:48)
>>>
>>>
>>>Here is an example code snippet that uncovers the issue:
>>>
>>>****************************************************************************************
>>>
>>>public class TestWebTester extends WebTester {
>>> private String baseUrl;
>>>
>>> public TestWebTester() {
>>> super();
>>> init();
>>> }
>>>
>>> public TestWebTester(String baseUrl) {
>>> super();
>>> this.baseUrl = baseUrl;
>>> init();
>>> }
>>>
>>> public void init() {
>>> System.out.println("TestWebTester.init()");
>>> // set base url
>>> try {
>>>
>>> setBaseUrl(this.baseUrl);
>>> // first part to load
>>> System.out.println(" -> set begin at = '/'");
>>> beginAt("/");
>>>
>>> } catch (TestingEngineResponseException e) {
>>> throw new RuntimeException("Unexpected
>>>TestingEngineResponseException during init.", e);
>>> } catch (Exception e) {
>>> throw new RuntimeException("Unexpected Exception during init.",
>e);
>>> }
>>> }
>>>
>>> public static void main(String[] args) {
>>> System.out.println("----- Begin -----");
>>> try {
>>> TestWebTester twt = new TestWebTester("http://10.10.10.31:90/");
>>> } catch (Throwable t) {
>>> System.out.println("*** ERROR ***");
>>> t.printStackTrace();
>>> System.out.println();
>>> System.out.println("*************");
>>> }
>>>
>>> System.out.println("----- end -----");
>>> }
>>>}
>>>****************************************************************************************
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>------------------------------------------------------------------------------
>>This SF.net Dev2Dev email is sponsored by:
>>
>>Show off your parallel programming skills.
>>Enter the Intel(R) Threading Challenge 2010.
>>http://p.sf.net/sfu/intel-thread-sfd
>>_______________________________________________
>>JWebUnit-users mailing list
>>JWebUnit-users@lists.sourceforge.net
>>https://lists.sourceforge.net/lists/listinfo/jwebunit-users
>>
>>
>
------------------------------------------------------------------------------
This SF.net Dev2Dev email is sponsored by:
Show off your parallel programming skills.
Enter the Intel(R) Threading Challenge 2010.
http://p.sf.net/sfu/intel-thread-sfd
_______________________________________________
JWebUnit-users mailing list
JWebUnit-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jwebunit-users