On 05/11/2007, Marc Guillemot <[EMAIL PROTECTED]> wrote:
> Hi,
>
> bklau wrote:
> > Hi Marc:
> > Yes, there is a need to have a lightweight browser simulator.
>
> nice to see someone that understands me ;-)
>
> > I'm seriously considering using HtmlUnit to test Dojo-based app.
>
> hmm, among the "big" AJAX libraries, Dojo is perhaps the one for which
> the support is the worst. I've made some fixes last week that now allow
> to load Dojo demo email app without problem (simulating FF) but I
> haven't had time until now to test more.
>
> > There are 2 main issues that one needs to consider:
> > 1. The memory footprint should be small enough to be acceptable.
> > We are talking about 500 virtual "browsers", hosted on say, 2-3 load driver
> > machines.
>
> the post I referred to mentionned 350 virtual "browsers" in 500MB RAM
> for the JVM therefore I can imagine that it is possible to reach 500.
>
> > 2. It is not good enough to send rapid and volumous traffic to the server;
> > one need to send the correct kind of traffic pattern;
> > otherwise, you have artificial traffic patterns.
> > Only a browser emulator can mimick this correctly.
>
> exactly
Note that different browsers behave in different ways - indeed
different versions of the same browser probably do too, and anyway
users can tweak the settings that affect the browser behaviour.
So exact emulation is not necessarily an achievable aim, nor even a
necessary aim.
> > I think point #2 is the pehaps the real reason I consider using HtmlUnit vs.
> > Http Recordings.
> > The reason is that Ajax calls can mingled and interleaved
> > non-deterministically.
> > At low loads, all client Ajax calls are likely to be serialized; at high
> > loads, they are likely to be
> > out of sync.
> >
> > Example: If one have a call pattern sequence ABC..., one would expect reply
> > back from server to cluster
> > around the same order A'B'C'... (assuming the calls do not do heavy
> > processings)
> > At high loads, the replys are likely to be out-of-step, maybe
> > B'A'C'...unless the Ajax calls within a page("shell") are set to be
> > synchronous instead of asynchronous.
> > Also, don't forget Ajax client can also dynamically "react" to response from
> > earlier Ajax calls sent out previously.
> > You see, only a browser "emulator" can simulated the
> > Ajax-call-response-react correctly.
> >
> > To me, Web Test is more a "functional" testing tool; not sure if it is
> > suitable for Load Testing even if its build on top of HtmlUnit.
> > I'm thinking if you could use an AOP-recorder for HtmlUnit, then you might
> > be able to generate high-level code that encapsulate the lower HtmlUnit API
> > calls.
> > End user can always modify the recording code if necessary.
>
> WebTest exactly provides this high level code and thanks to its Ant
> roots you can do a lot of stuff dynamically for instance using own
> BuildListener.
>
> Marc.
> --
> Blog: http://mguillem.wordpress.com
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]