jmeter-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Cheen-Pin Lim <cheenpin....@gmail.com>
Subject Re: Web Driver based Sampler?
Date Sat, 21 Apr 2012 12:47:42 GMT
Hi Alon,

Thanks for the feedback, glad you like the idea.  I have an early prototype
working already here: https://github.com/cplim/JMeter/tree/webmeter  (its
basically under the webmeter branch right now).

As mentioned, it is still in the early stages, but things I already have
working:

   1. Created a 'Web Browser' Sampler implementation that will fire up a
   browser.
   2. Starts a (Firefox) browser per thread, and shuts it down after the
   script finishes.
   3. Integrated Javascript BSF so that the browser for that thread can be
   accessed and scripted to perform a sequence of actions.

If you do clone the git repo, you'll have to switch to the 'webmeter'
branch and run the following ant commands:

   1. ant download_jars
   2. ant run_gui

In there you should be able to create a 'Web Sampler' and control Firefox
via the exposed bean called 'browser'.  You can just type:

=============
browser.get('http://www.google.com')
=============

And it should work. :)

I agree, the Mobile browsers are probably more challenging, so yes my
immediate focus is just on desktop browsers.  I have yet to implement the
other Browsers and get then use this in anger. :)

Any further feedback would be welcome.

regards,
CP


On 21 April 2012 22:06, Alon Girmonsky <alon@blazemeter.com> wrote:

> Hi Lim.
>
> This sounds like an excellent idea. I also feel that this part is missing
> from JMeter.
> I have a few comments:
> 1. You should consider writing a plugin which can maybe be more simple to
> start with.
> 2. Smartphone will be a small challenge compared to real browsers. Once
> that is solve, smartphones implementation will be easy.
> 3. The tool I know that can simulate (automate) a browser is Selenium. Yet,
> it looks like a challenge (probably unlikely)  to implement it into JMeter.
>
> As I mentioned it sounds great and required.
>
> Alon.
> http://blazemeter.com/
>
>
> On Sat, Apr 21, 2012 at 2:07 PM, Cheen-Pin Lim <cheenpin.lim@gmail.com
> >wrote:
>
> > Hi,
> >
> > The tools mentioned help a great deal, however they generally look at it
> > from a single browser to a single server scenario.  Once you have more
> load
> > applied to the servers/services different characteristics tend to emerge,
> > which is why I was thinking that the use of JMeter would be useful.
> >
> > Furthermore, if our primary audience is hitting the site using a browser,
> > then would it not make sense to use the same tool to simulate the load?
> >
> > Just my thoughts.
> >
> > regards,
> > CP
> >
> > On 21 April 2012 17:26, chaitanya bhatt <bhatt.chaitanya@gmail.com>
> wrote:
> >
> > > Pleanty of awesome tools are already available for free to meet your
> > goals.
> > >
> > > Free:
> > > https://developers.google.com/pagespeed/
> > > http://yslow.org/
> > >
> > > Free or Premium:
> > > http://ajax.dynatrace.com/ajax/en/content/c-speed-page-load.aspx
> > >
> > >
> > > Selenium has a webdriver which you can plan on extending - if you will.
> > > IMHO Jmeter is not the right platform for this.
> > > Thanks
> > > Chaitnaya M Bhatt
> > > http://www.performancecompetence.com
> > > On Fri, Apr 20, 2012 at 11:55 PM, Cheen-Pin Lim <
> cheenpin.lim@gmail.com
> > > >wrote:
> > >
> > > > Hi,
> > > >
> > > > After looking at the current HTTP Sampler, I would like to propose a
> > > > WebDriver based implementation.  The problem is that with a lot of
> > modern
> > > > websites using AJAX, advanced CSS3 (transitions/transforms) to do the
> > > > rendering, the performance problem may not be 'visible' to the
> standard
> > > > HTTP Sampler.  The idea is that if we could use JMeter to control a
> > > browser
> > > > and collect the time it takes to render each 'page' it would give the
> > > users
> > > > an understanding of how long a page would take to render.
> > > >
> > > > Some of the high level goals are as follows:
> > > >
> > > >   1. Allow any WebDriver supported browser to be used to perform the
> > > >   Sampling.
> > > >   2. Provide a BeanShell/BSF style pane where the user can script the
> > > >   behaviour of WebDriver.
> > > >
> > > > I've got a very basic implementation working here:
> > > > https://github.com/cplim/JMeter - you'll have to switch to the
> > > 'webmeter'
> > > > branch to see the changes.  There are limitations with this proof of
> > > > concept, mainly:
> > > >
> > > >   1. It only creates Firefox instances
> > > >   2. I've only provided Javascript lang support using BSF.
> > > >
> > > > Some outstanding questions:
> > > >
> > > >   1. How to support Phone (Android/iOS) based WebDriver, as these
> seem
> > to
> > > >   expect to only connect to a single phone.
> > > >
> > > > I would be happy to contribute the changes back to JMeter.  Can I get
> > > some
> > > > feedback on this proposal, and what I need to do to contribute my
> > changes
> > > > back to the main JMeter codebase?
> > > >
> > > > regards,
> > > > CP Lim
> > > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message