Contributing a Web Driver (Browser) based Sampler

3,031 views
Skip to first unread message

cheenp...@gmail.com

unread,
Mar 15, 2013, 8:43:20 AM3/15/13
to jmeter-...@googlegroups.com
Hi,

We've had a need to measure browser performance and have put together a modified version of JMeter for running and controller a browser instance inside of JMeter.  The proof of concept is here: https://github.com/Sensis/jmeter, there is also a getting started page here: https://github.com/Sensis/jmeter/wiki/Getting-Started.  The core of it is to use Selenium WebDriver to control the browser instance and make it available for scripting using JSR-223, but Javascript/rhino is the only language implemented.

Now we're at the point where we are looking to contributing back to the open source community however, the JMeter project was a little divided on the idea: http://jmeter.markmail.org/search/?q=websampler#query:websampler+page:1+mid:7kmep2x7pntll4fy+state:results.  Its been a while since we last chatted, and I can re-engage the JMeter group about the value we have seen using this tool, however if all else fails, would this be something I could contribute to the JMeter Plugins project instead?

If so, I'll look into forking the JMeter Plugin code and making the necessary changes to port the code to be built by the JMeter maven project.  However, before I actually do the work, is this something that the JMeter Plugin project would be interested in having added to its codebase?

regards,
CP

Andrey Pohilko

unread,
Mar 16, 2013, 10:09:51 AM3/16/13
to jmeter-...@googlegroups.com, cheenp...@gmail.com
Hi, Cheen-Pin,

Yes, it is very interesting! Users often ask such questions, like this: https://code.google.com/p/jmeter-plugins/issues/detail?id=252

I support the idea for having this feature in JP@GC, we have large users community and established distribution, help and support activities.

I have few questions for you:
  1. Which additional libraries and other setup actions will be required for user to start using Web Driver Sampler?
  2. What about scalability? Single machine resources will not be enough to create some load... Will it support distributed testing?
  3. Are you ready to become a part of JP@GC maintainers and provide support on this forum, act on issues and feature requests, write and support unit tests for your code, write examples, tutorials, help pages? I'm beware of this because I want to keep the quality level for the project as high as before.
Anyway I see this initiative as successfull, together we'll give users a feature they wanted for several years.

See you,
Andrey

пятница, 15 марта 2013 г., 16:43:20 UTC+4 пользователь cheenp...@gmail.com написал:

Cheen-Pin Lim

unread,
Mar 18, 2013, 4:40:10 AM3/18/13
to jmeter-...@googlegroups.com

Hi Andrey,

Thank you for the enthusiastic response. I would be very happy to contribute to this project as we have already benefited from your work.

With regards to your questions:

1. The main dependency is on Web driver (and it's transitive dependencies) plus jsr223 for scripting

2. Right now we haven't scaled it out rather we simulate it by running the standard Jeter http sampler with the Web driver sampler. This is a simpler and cheaper option but what you are suggesting should be possible.

3. I expect to do that anyway. However if this is successful I would hope other members in the community would also help with questions and documentation. As for the automated testing it is a given that we will need them to ensure quality.

Just one thing to note. The Web driver project has very frequent releases due to the quick browser releases. How will we manage these quick updates to the jars?

In the meantime I will create a fork of the code from github and once complete will do a pull request.

Regards
CP

--
You received this message because you are subscribed to a topic in the Google Groups "jmeter-plugins" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jmeter-plugins/ufr40-SJp2A/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to jmeter-plugin...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Andrey Pohilko

unread,
Mar 18, 2013, 8:09:26 AM3/18/13
to jmeter-...@googlegroups.com, cheenp...@gmail.com
Hi,

Frequent WebDriver releases should not require us to release plugins. This is only case when incompatible changes released.

We should provide users with clear instruction how to update WebDriver libs, I think this will be good enough solution. Howewer, we can't predict how will it go, and I ready to change the procedure if there will be real need.

Waiting for your pull request...

понедельник, 18 марта 2013 г., 12:40:10 UTC+4 пользователь Cheen-Pin Lim написал:

Cheen-Pin Lim

unread,
Apr 29, 2013, 7:50:09 AM4/29/13
to jmeter-...@googlegroups.com
Hi Andrey,

Its been a good month since we've last spoke, and I've been busy implementing the WebDriver solution.  I currently have a working version in my fork of the plugins project, and currently only Firefox and Chrome is supported.  Please have a look at the fork here: https://github.com/cplim/jmeter-plugins.  It builds using Java6 (although I did have some difficulties with 3 of the tests).  I've also tested the plugins against v2.9 of Apache JMeter and it runs on both Java6 and Java7, but JSR-223 (scripting) works better with Java7.  Let me know if you have any problems building it using the standard "mvn clean package" task.

I'm open to any feedback you may have about the code so far and I think this is the opportunity to do so, before I submit a pull request.  The things outstanding before I send you a pull request is:

1. Dog-fooding.  I'm using a different implementation of the JMeter/WebDriver idea, and would like to use the jmeter-plugins version before labelling it as done.
2. Documentation.  I'm not sure how you want to time all this, as I'm guessing you won't want the documentation to be updated until the code is merged/released?

Future plans:
1. Better charts.  This is pretty important as the reported numbers are very opaque.  If a URL takes 5+ seconds to load, we don't know what is causing it.  Ideas for what can be better range from: (a) use window.performance.timing to chart the data and/or (b) integrate a HAR file data collection/report viewer (much more work).
2. More browser support. As mentioned, only Firefox and Chrome is supported, so adding more browsers in the future would be quite useful.  I think the mobile space deserves some attention.
3. Javadoc. Quite poor at this point.  The tests and code hopefully provides information on what things are supposed to do.
4. More support for WebDriver features.  Quite bare bones at this point.  WebDriver provides APIs for cookies, window sizes, etc and none of these advanced features are exposed ATM.
5. Browser specific profiles.  Browsers are all different, and these differences can be customised via. a browser specific profile.  This has not yet been approached yet.

As you can see there is a lot of things that can go into this component, and would like your feedback on the above mentioned items/tasks.  

PS. With frequent releases of the browsers, the WebDriver libs need to be released to keep up to date with any breaking changes that occur.  The worst offender is Firefox as the code to control firefox is embedded in the WebDriver library, whilst Chrome has externalised this to a separate (platform specific) binary.  As such, if we do support Firefox, we may need to keep the JMeterPlugins libs as up to date as the WebDriver libs.  Unless you have a different idea?

regards,
CP


Cheen-Pin Lim

unread,
Apr 29, 2013, 8:33:31 AM4/29/13
to jmeter-...@googlegroups.com
Just to provide a bit more context, here are the failing tests on travis-ci: https://travis-ci.org/cplim/jmeter-plugins

Andrey Pohilko

unread,
Apr 29, 2013, 10:44:58 AM4/29/13
to jmeter-...@googlegroups.com, cheenp...@gmail.com
Hi Cheen-Pin,

Good to hear from you :)

I've built your code successfully, it opens in JMeter and GUIs are very good. You've done great job to make them so clear and well-arranged! Unfortunately, I have no Selenium/WebDriver expertise to do actual tests. So I rely on you completely in this domain area :)

Sorry, I did not understand a "dog-food" question at all... I planned to increase middle version to 1.1.0 when pull request will be applied.

There is no need to keep documentation outside project page before release. The rule is that we mark wiki pages as "Deprecated" before release, so users don't see them by default. Also there is requirement to mark all documentation items with "since 1.1.0" etc where version dependency is vital. Anyway, our users are intelligent and will ask at the forums in case of problems. Or will post the bugs.

I'll grant you contributor access to project pages and github repository right after accepting pull request. I see no reasons not to accept it, I just can't check if it works as users want. So I suggest merging right now, starting wiki pages and releasing next RC as soon as it will be stable enough. Then we should call some beta-tester users to verify that it works in most. Users will give better feedback than me (I'm real Selenium non-user).

Looking at GUIs tells me that using this plugins set will be not so simple, so we really need some tutorial here. The beginner should take the tutorial and have step-by-step introduction to this very specific testing mode.

You will be able to write your future ideas into project Roadmap page after gaining access to project. It is very good that you have so much energy and courage with your plugins, this will bring you success :)  One thing disturbs me, the plugins set become so huge that users start having problems with too long menus and too slow JMeter startup. Maybe we'll change shipping scheme once more in the future to have separate plugin groups inside JP@GC. This needs future thinking and ideas. I set users comfort as very high value for JP@GC.

The situation around browser libs looks similar to Hadoop libs. We'll fail trying to release plugins-libs archive with each external libs update, it's too much overhead. Again, I think our users are clever enough to live with this and update libs if necessary. I don't have better idea for now. We should release and try to live. Future will give us a hint, I hope.

And don't treat TravisCI serious, I found it not very useful. I use private Jenkins installation instead, it offers much better project CI control.

The summary: Do a pull request, have the access to project wiki, github, svn, then live as a project member moving project to next release :)

понедельник, 29 апреля 2013 г., 15:50:09 UTC+4 пользователь Cheen-Pin Lim написал:

olivernz

unread,
Apr 30, 2013, 12:12:00 AM4/30/13
to jmeter-...@googlegroups.com, cheenp...@gmail.com
Does this plugin also support headless browser under Linux?

Cheers Oliver

olivernz

unread,
Apr 30, 2013, 12:15:56 AM4/30/13
to jmeter-...@googlegroups.com, cheenp...@gmail.com
Oh and on the topic of HAR, that is something I'd like to see too but it's not necessarily connected to Selenium.


It would be nice to have a listener that can spit out HAR of any test. I only have superficial know how but it would really add to the attractiveness of JMeter.

Cheers Oliver

Cheen-Pin Lim

unread,
Apr 30, 2013, 3:04:08 AM4/30/13
to olivernz, jmeter-...@googlegroups.com
Hi Oliver,

It currently doesn't, and it is conceivable to control GhostDriver (https://github.com/detro/ghostdriver), using WebDriver, but I think it will come in a later release. :) The only implementations so far are for Firefox and Chrome.

Yes, HAR file format would be quite nice, and on top of that I've yet to completely wrap my head around the SampleResult structure. :S I am looking at extending it to provide more detailed information that better matches the W3C Navigation Timing information so that we can plot/graph something that can show the amount of time the page took to connect/download/dom processing/page rendering... just part of the 'future plans' section....

regards,
CP


Cheen-Pin Lim

unread,
Apr 30, 2013, 8:02:09 AM4/30/13
to Andrey Pohilko, jmeter-...@googlegroups.com
Hi Andrey,

Thanks for your kind words. :)  I've submitted the pull request, and when you have looked over them I can start to document things on the wiki.

I've got some answers/comments inline.  Please see below.


On 30 April 2013 00:44, Andrey Pohilko <a...@apc.kg> wrote:
Hi Cheen-Pin,

Good to hear from you :)

I've built your code successfully, it opens in JMeter and GUIs are very good. You've done great job to make them so clear and well-arranged! Unfortunately, I have no Selenium/WebDriver expertise to do actual tests. So I rely on you completely in this domain area :)

Yes, more than happy to help with documentation.  I'll put together detailed information on each of the new components as well as a quick 'getting started' guide to let people build something quickly. 


Sorry, I did not understand a "dog-food" question at all... I planned to increase middle version to 1.1.0 when pull request will be applied.

By dog-food, I just mean that the jmeter-plugins code is still quite new.  We are already doing automated WebDriver performance testing at my work, and I want to substitute our version with the version I have built and submitted in the pull request.  I want to be a user of this as well as a developer of the tool. :)
 

There is no need to keep documentation outside project page before release. The rule is that we mark wiki pages as "Deprecated" before release, so users don't see them by default. Also there is requirement to mark all documentation items with "since 1.1.0" etc where version dependency is vital. Anyway, our users are intelligent and will ask at the forums in case of problems. Or will post the bugs.

I'll grant you contributor access to project pages and github repository right after accepting pull request. I see no reasons not to accept it, I just can't check if it works as users want. So I suggest merging right now, starting wiki pages and releasing next RC as soon as it will be stable enough. Then we should call some beta-tester users to verify that it works in most. Users will give better feedback than me (I'm real Selenium non-user).

Yes, I will be beta-testing this code at my work as well. :)
 

Looking at GUIs tells me that using this plugins set will be not so simple, so we really need some tutorial here. The beginner should take the tutorial and have step-by-step introduction to this very specific testing mode.

Yes, for what I have in mind, it will likely feature a number of pages.  I hope I will have time to continue to enhance/fix bugs/document/answer questions on the JMeterPlugins forum.  I hope that as I help other people they can then become subject matter experts and help with documenting/answering questions so I can eventually get back to enhancements/bug fixes. :)
 

You will be able to write your future ideas into project Roadmap page after gaining access to project. It is very good that you have so much energy and courage with your plugins, this will bring you success :)  One thing disturbs me, the plugins set become so huge that users start having problems with too long menus and too slow JMeter startup. Maybe we'll change shipping scheme once more in the future to have separate plugin groups inside JP@GC. This needs future thinking and ideas. I set users comfort as very high value for JP@GC.

Yes, the libs zip file has grown substantially since my contribution. :(  And it will also require constant updates from the rapid WebDriver/browser releases.  Just thinking out loud, I was wondering if it would be useful to mirror what the SquirrelSQL application does?  On startup it checks if there is a later version of itself available, if so it will prompt the user to download it and then restart.  We could do something similar for the libs zip file?  Just a thought....
 

The situation around browser libs looks similar to Hadoop libs. We'll fail trying to release plugins-libs archive with each external libs update, it's too much overhead. Again, I think our users are clever enough to live with this and update libs if necessary. I don't have better idea for now. We should release and try to live. Future will give us a hint, I hope.

And don't treat TravisCI serious, I found it not very useful. I use private Jenkins installation instead, it offers much better project CI control.

If TravisCI is not the right CI, then I can stop looking at it.  However, the idea of a CI does appeal to me.  I know that cloudbees have a Opensource program - http://www.cloudbees.com/foss/foss-dev.cb and they focus specifically on Java and maven build tools.  I'm not sure if a small instance for 2000mins and a large instance for 500mins per month is enough, but it could be a start....
 

The summary: Do a pull request, have the access to project wiki, github, svn, then live as a project member moving project to next release :)

Thanks.  Happy to contribute! :)

Andrey Pohilko

unread,
Apr 30, 2013, 8:49:20 AM4/30/13
to jmeter-...@googlegroups.com, Andrey Pohilko, cheenp...@gmail.com
Thanks for joining us!
I've granted you access to Google Code project and GitHub repository.

Feel free to ask any question on contributing process.

вторник, 30 апреля 2013 г., 16:02:09 UTC+4 пользователь Cheen-Pin Lim написал:

Cheen-Pin Lim

unread,
Apr 30, 2013, 8:52:36 AM4/30/13
to Andrey Pohilko, jmeter-...@googlegroups.com
Thanks Andrey.  Really happy to join the team.

miz...@gmail.com

unread,
May 14, 2013, 6:59:36 AM5/14/13
to jmeter-...@googlegroups.com
Hi Cheen-Pin,

At first, I would like to say that this is great to have WebDriver sampler! Nice feature!
I've looked at Getting Started, but it looks like out-of-date. Do you have fresh documentation or samples?

Best regards,
 Michael

Cheen-Pin Lim

unread,
May 14, 2013, 7:06:27 AM5/14/13
to jmeter-...@googlegroups.com

Hi,

Glad you like the feature. I am writing the documentation on the jmeter plugins wiki. You'll have to search under the deprecated section. The web driver sampler tutorial there is the current one. Let me know how you go.

Regards
CP

You received this message because you are subscribed to the Google Groups "jmeter-plugins" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jmeter-plugin...@googlegroups.com.

miz...@gmail.com

unread,
May 16, 2013, 4:56:12 AM5/16/13
to jmeter-...@googlegroups.com
Hi,

Thank you!

Here is feedback based on my first usage:
  1. 80% of samplers start with "importPackage(org.openqa.selenium)". Probably it's better to do automatically by WebDriverSampler. For example, sampler GUI can provide checkbox (checked by default) to specify that WDS should import package. 
  2. I didn't understand purpose of "Parameters" field. I use JMeter variables in script field and I don't know benefit of this field.
  3. Hot keys. There is confusing interference between JMeter and Script window hot keys. For instance, there is popular key "Ctrl+R" to run JMeter scenario. If script panel is focused then key "Ctrl+R" will execute script in internal JRE. For information, I'm using JDK7 and may be there is no such issue with JDK6.
  4. In "View Results Tree" the "Request" tab of WebDriverSampler contains something like:
    • com.googlecode.jmeter.plugins.webdriver.sampler.WebDriverSampler@5d81a384
    It would be nice to display script's text here rather than Object.toString() :)
  5. It might be worth to add aliases for popular functions. For instance, to click button by CSS selector I need to write: 
  6.     WDS.browser.findElement(By.cssSelector("#sheet div a.send-button")).click(). 
    In Chrome DevTools there is alias for css selector - $: $('#sheet div a.send-button').click(). Another example: $x() - XPath. 
    Also I would like to have alias for:
    • WDS.sampleResult.sampleStart() - for example, _s()
    • WDS.sampleResult.sampleEnd() - for example, _e()

I'll continue diving. 

Best regards,
 Michael

Cheen-Pin Lim

unread,
May 17, 2013, 8:09:40 PM5/17/13
to jmeter-...@googlegroups.com

Hi Michael

Sorry for the late response but I've been really sick with a bad bout of flu. Great feedback and when I get better I'll respond in full. But in the meantime keep the feedback coming.

CP

Michael Zhilin

unread,
May 21, 2013, 6:04:51 AM5/21/13
to jmeter-...@googlegroups.com
Hi Cheen-Pin,

Another question: can we use IE as browser for testing?

I've some code changes, I'll push them to GitHub after test completion. 

Best regards,
 Michael.

Cheen-Pin Lim

unread,
May 21, 2013, 6:27:22 AM5/21/13
to jmeter-...@googlegroups.com

Hi Michael

There isn't any support for IE yet. Its further on in the plans. The next set of browsers planned were mobile ones. I'm happy to accept patches.

CP

Cheen-Pin Lim

unread,
May 25, 2013, 8:54:38 AM5/25/13
to jmeter-...@googlegroups.com
Hi Michael,

Apologies for the late reply. Finally feeling better! :)  And thank you for taking the time to write the long email providing me with so much feedback.  Its great to see this stuff being used/looked at.

I'll try to answer the questions in order:

1. Including default packages/imports is a possible solution. However, right now I'm considering a different approach. In standard JMeter there is a 'HTTP Defaults' config that sets up default HTTP settings. I am considering setting up a 'Web Driver Defaults' sampler that allows the user to define code that is shareable/re-usable by other Web Driver Samplers. This way, the user is in control of what they want to declare and they may even go as far as declare JS functions that other samplers use.  (I really need to put this on the roadmap wiki)
2. I copied it from the exising beanshell/etc samplers from JMeter.  I can remove this before we release. What does everyone think?
3. Yes, I think we should raise a bug for this. Will hopefully fix before we release, but there is so much to do.... :)
4. Agreed. Again, I think we should raise a defect to track this one. Unfortunately WebDriver is notorious for not allowing access to HTTP headers.
5. Yes, it would be useful, however I am divided on this. I've already declared a 'WDS' variable in all scripts, and the more variables I automatically declare, the more variables the scripter will need to be aware of when declaring their own variables. I am wondering if my proposed solution in (1) would solve this issue?
6. Aliases for _e() and _s() I think also falls into the previous comment. How many variables is too many to automatically declare?

regards,
CP


Michael Zhilin

unread,
May 25, 2013, 9:55:01 AM5/25/13
to jmeter-...@googlegroups.com
Hi Cheen-Pin,

Good to hear that you're feeling better!

1. Yes, it will be nice to configure pre-defined code in Web Driver Defaults.
2. I don't use it. Up to you to remove it.
3. It's annoying, but it's not major defect. 
4. I've changed code to display executed Rhino code. It contains run-time parameters instead of macroses. It's very useful to understand while error is occured on line #xxx. 
5. I've added several aliases already. Some of them are taken from Chrome Console. It allow me to debug script directly in Chrome Console.

Also you will find code to keep browser after completion of test (DevMode). 

But there is painful point for me - lack of IE support. Is it difficult to add it? How can I do it? Can you give me high-level plan or advices for development? 

Thank you in advance,
 Michael.

Cheen-Pin Lim

unread,
May 26, 2013, 6:19:39 AM5/26/13
to jmeter-...@googlegroups.com
Hi Michael,

There is some documentation here on controlling an IE instance: https://code.google.com/p/selenium/wiki/InternetExplorerDriver 

From what I understand so long as the server instance is on your $PATH, it should be able to startup.  I'd have a look at the code for the FirefoxDriverConfig.java it might form the basis of an InternetExplorerDriverConfig.java. 

PS. Please include tests if you're thinking of submitting a patch. :)

regards,
CP

Michael Zhilin

unread,
Jun 3, 2013, 12:01:11 PM6/3/13
to jmeter-...@googlegroups.com, jmeter-...@googlegroups.com
Thank you, Cheen-Pin.

I've tried it and found out that IEDriverServer's performance is not acceptable. :( it consumes a lot of CPU and in IE script works slower than in chrome.

I've asked Selenium community and I'm looking for feedback.

Best regards,
Michael Zhilin 

Cheen-Pin Lim

unread,
Jun 3, 2013, 6:20:34 PM6/3/13
to jmeter-...@googlegroups.com

A pity. IE is one of the main browsers for my company too. Fortunately for us chrome is also highly used.

Hopefully it is somewhat of an important fix for the selenium team... but thanks for investigating the issue.
Regards
CP

Srinivasulu Reddy Munnam

unread,
Jun 4, 2013, 4:58:58 AM6/4/13
to jmeter-...@googlegroups.com
Hi,

I have JMeter 2.9 & 2.7 versions, i have configured plugin & Lib for both versions, i didnt find the following
  1. Firefox Driver Config
  2. Web Driver Sampler

Please help me.

Thanks
Srinivas

Cheen-Pin Lim

unread,
Jun 4, 2013, 5:12:45 PM6/4/13
to jmeter-...@googlegroups.com

Hi

Did you build from source or download it? The code hasn't been packaged yet so you'll need to build from source.

CP

--

Srinivasulu Reddy Munnam

unread,
Jun 5, 2013, 2:13:47 AM6/5/13
to jmeter-...@googlegroups.com
Hi,

I downloaded the plugin from http://code.google.com/p/jmeter-plugins/wiki/PluginInstall

Let  me know if is there any other source for download

Thanks
Srinivas

Cheen-Pin Lim

unread,
Jun 5, 2013, 2:53:17 AM6/5/13
to jmeter-...@googlegroups.com
Hi,

The code won't be released until v1.1.0.  To build from source, please follow instructions here: https://code.google.com/p/jmeter-plugins/wiki/BuildingFromSource

Once it builds your zip files, you can then follow the PluginInstall instructions.

regards,
CP

Tharinda Liyanage

unread,
Jun 5, 2013, 5:26:09 AM6/5/13
to jmeter-...@googlegroups.com
Hi CP et al,

No wonder why you asked me to post my query in the group :). Sorry for the late reply as I was carried away with some other work. I was building the plugin using 'mvn clean package' and during the execution of Tests it was throwing errors (attached) and the build failed. Can you please see what is missing there? I do not get the .zip files as you mentioned due to build prematurely failed. I did not modify the POM or any other artifact, just download the files from GitHub and try to build using Maven. Let me know if you need further information to investigate

Thank,
Tharinda
test_errors.txt
plugin.PNG

Cheen-Pin Lim

unread,
Jun 5, 2013, 5:33:59 AM6/5/13
to jmeter-...@googlegroups.com
Hi Tharinda,

We're looking into fixing some of the intermittent failures in the automated tests.  For the time being you can skip the tests by running:

mvn clean package -DskipTests


regards
CP

Tharinda Liyanage

unread,
Jun 5, 2013, 5:47:52 AM6/5/13
to jmeter-...@googlegroups.com
Hi,

Was able to build successfully skipping Tests. But I get 'classdefnotfound' error when I try to use config elements such as chrome/Firefox driver config. (See attached screenshots).Using JMeter 2.9. Any reasons why?

Thanks,
Tharinda


d1.PNG
d2.PNG

Cheen-Pin Lim

unread,
Jun 5, 2013, 5:54:29 AM6/5/13
to jmeter-...@googlegroups.com

Interesting. I haven't seen this before. What does your jmeter.log file say? Are there any errors in there?

Tharinda Liyanage

unread,
Jun 5, 2013, 5:57:10 AM6/5/13
to jmeter-...@googlegroups.com
errors say something like 'ERROR - jmeter.gui.GuiPackage: Problem retrieving gui for com.googlecode.jmeter.plugins.webdriver.config.gui.ChromeDriverConfigGui java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriver'

Details attached
d3.txt

Michael Zhilin

unread,
Jun 5, 2013, 7:27:29 AM6/5/13
to jmeter-...@googlegroups.com
Hi,

You need selenium to be installed into ${JMETER_HOME}/lib. Version 2.33 works for me: https://code.google.com/p/selenium/downloads/list

Best regards,
 Michael.


You received this message because you are subscribed to a topic in the Google Groups "jmeter-plugins" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jmeter-plugins/ufr40-SJp2A/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to jmeter-plugin...@googlegroups.com.

Tharinda Liyanage

unread,
Jun 5, 2013, 8:08:42 AM6/5/13
to jmeter-...@googlegroups.com
You mean Selenium Web driver 2.3.3?

Tharinda Liyanage

unread,
Jun 5, 2013, 8:09:47 AM6/5/13
to jmeter-...@googlegroups.com
oops sorry..didnt see the link :)

Tharinda Liyanage

unread,
Jun 5, 2013, 8:21:15 AM6/5/13
to jmeter-...@googlegroups.com
Yes it worked. I added selenium-server-2.33.0.jar to ${JMETER_HOME}/lib. Good to document that Selenium is a prerequisite for Web Driver samplers.

Thanks
Tharinda

Cheen-Pin Lim

unread,
Jun 5, 2013, 8:39:47 AM6/5/13
to jmeter-...@googlegroups.com
Hmm.. that is very strange, as the packaging should already have included all the necessary JARs in the JMeterPlugins-libs-x.x.x.zip.

Michael, did you also need to manually download and include the selenium-server-2.33.0.jar in your ${JMETER_HOME}/lib as well in your installation for it to work?

Michael Zhilin

unread,
Jun 5, 2013, 9:11:50 AM6/5/13
to jmeter-...@googlegroups.com
Nope... Selenium 2.32 was OOB. But I've manually updated it up to 2.33 to check IE.

Cheen-Pin Lim

unread,
Jun 5, 2013, 9:19:11 AM6/5/13
to jmeter-...@googlegroups.com
OOB?

Cheen-Pin Lim

unread,
Jun 5, 2013, 9:29:55 AM6/5/13
to jmeter-...@googlegroups.com
I've updated to v2.33.0 all the same in the pom.xml file. I think its a good thing to make sure that we keep up to date with the latest WebDriver (due to the rapid releases from the browser vendors)


On 5 June 2013 23:11, Michael Zhilin <miz...@gmail.com> wrote:

Tharinda Liyanage

unread,
Jun 6, 2013, 4:59:22 AM6/6/13
to jmeter-...@googlegroups.com
Hi,

I do not see the "jp@gc-Web driver sampler" in the "Sampler" list or any other list. See attached. How can I get it to the menu?

Regards,
Tharinda

d1.JPG
d2.JPG

Cheen-Pin Lim

unread,
Jun 6, 2013, 6:12:04 AM6/6/13
to jmeter-...@googlegroups.com

Hi

Did you unzip the contents of the 2 zip files into the correct location in your jmeter installation directory?

Can you send a list of the contents of these directories please?

CP

Andrey Pohilko

unread,
Jun 6, 2013, 6:41:46 AM6/6/13
to jmeter-...@googlegroups.com
JFYI: I've uploaded a new RC archive: http://code.google.com/p/jmeter-plugins/downloads/detail?name=JMeterPlugins-1.1.0-RC1.zip&can=2&q=#makechanges

четверг, 6 июня 2013 г., 14:12:04 UTC+4 пользователь CP Lim написал:

Tharinda Liyanage

unread,
Jun 6, 2013, 6:51:00 AM6/6/13
to jmeter-...@googlegroups.com
my bad , missed it first place. :(

Srinivasulu Reddy Munnam

unread,
Jun 6, 2013, 7:31:08 AM6/6/13
to jmeter-...@googlegroups.com
Hi Andrey,

I just downloaded the JMeterPlugins-1.1.0-RC1, and copied the Jar files(CMDRunner & JMeterPlugins) into lib/ext, but still i didnt encounter the Webdriver Sample.

Let me do if i am doing any mistake

Thanks
Srinivas

Cheen-Pin Lim

unread,
Jun 6, 2013, 7:35:29 AM6/6/13
to jmeter-...@googlegroups.com

Hi Andrey,

Can we also publish the v1.1.0-RC1 libs zip file as well? Might save on some confusion.

Regards
CP

Cheen-Pin Lim

unread,
Jun 6, 2013, 6:27:18 PM6/6/13
to jmeter-...@googlegroups.com

Hi Srinivasulu

Ive built the 1.1.0-RC1 libs and included it on the downloads page. Can you follow the plugin installation instructions and see if you can see the webdriver options in the GUI?

CP

vdab...@gmail.com

unread,
Jun 13, 2013, 5:26:43 AM6/13/13
to jmeter-...@googlegroups.com
Hi,

I try the v1.1.0-RC1 with your WebDriver Sampler and it's work very well !

On my PC laptop, i run 20 Chrome Navigators without error but i put Timers between WebDriver Samplers.
Chrome driver seems to be more stable than Firefox Driver on high load.

The number of pages/sec is arround 10 pages/sec on my PC.


Thank you for this powerfull Sampler ! and also thank to the JMeter Plugin Team.

Vincent D.

Cheen-Pin Lim

unread,
Jun 13, 2013, 5:40:23 AM6/13/13
to jmeter-...@googlegroups.com

Hi Vincent,

Glad you like the plugin! We use it at my work and we manage to get some decent client side statistics from our website.

If I may, I'd recommend including some standard Jmeter HTTP samplers as well to be sure of the load on the server side.

Other than that I'm glad to receive the positive feedback.

Regards
CP

Andrey Pohilko

unread,
Jun 13, 2013, 10:11:12 AM6/13/13
to jmeter-...@googlegroups.com
CP, we really should stabilize some state and release this amazing feature :) Tell me when you will finish polishing the first version.

четверг, 13 июня 2013 г., 13:40:23 UTC+4 пользователь CP Lim написал:

Michael Zhilin

unread,
Jun 13, 2013, 12:41:26 PM6/13/13
to jmeter-...@googlegroups.com
Hi Andrey, Cheen-Pin,

What is deadline for pull requests? 

Best regards,
 Michael

Cheen-Pin Lim

unread,
Jun 13, 2013, 6:16:44 PM6/13/13
to jmeter-...@googlegroups.com

Hi Andrey

I totally agree. Interms of features, there's nothing major to add. At this stage it's just  stabilizing the code. If there are no new defects reported for this I am happy to release it.

However I do want to talk about release planning and versioning. Once we've released v1.1.0 id like to keep a branch of thid code and just keep updating it to v1.1.1 v1.1.2 etc. This branch will allow us to add bugfixes and at the same time update the library with the latest selenium versions as well. The master can be the place where we add major features.

How does that sound?

Regards
CP

Cheen-Pin Lim

unread,
Jun 13, 2013, 6:19:15 PM6/13/13
to jmeter-...@googlegroups.com

Hi Michael

Id say submit the pull request and we can determine whether or not to add it to the v1.1.0 release or just merge it into master.

Do you have a summary of what the changes are?

Regards
CP

vdab...@gmail.com

unread,
Jun 14, 2013, 9:06:47 AM6/14/13
to jmeter-...@googlegroups.com
Hi,

You can use a JMeter variable in script Webdriver Sampler when you put your JMeter variable in the Parameters TextField
In the javascript
In the Parameters textfield of the Webdriver Sampler : ${P_LOGIN} ${P_PASSWORD}
========= in the javascript Webdriver Sampler =================
var P_LOGIN = WDS.args[0]; // 1er parametre
var P_PASSWORD = WDS.args[1]; // 2eme parametre

WDS.browser.findElement(pkg.By.name("tfdLogin")).sendKeys(P_LOGIN);
WDS.browser.findElement(pkg.By.name("tfdPassword")).sendKeys(P_PASSWORD);
====================================================

How create a Jmeter variable in the Webdriver script ?
Example : i get text with Selenium command  and this text value will be used in another webdriver or in a Beanshell.

I want some think like :
valueFind = WDS.browser.findElement(pkg.By.name("message")).getText();
vars.put("P_VAR1", valueFind);

Vincent D.

Andrey Pohilko

unread,
Jun 14, 2013, 9:13:02 AM6/14/13
to jmeter-...@googlegroups.com
I plan using wide-known "dirty trunk" policy. This means:
1. We use master branch to commit most of the changes
2. We make tag branches for every release, either from master branch, or from another tag.
3. For huge, risky or unpredictable duration tasks we create "feature branches"

This policy was used bu JP@GC earlier on Google Code's SVN, it used being good for development.

пятница, 14 июня 2013 г., 2:16:44 UTC+4 пользователь CP Lim написал:

Cheen-Pin Lim

unread,
Jun 14, 2013, 9:38:21 AM6/14/13
to jmeter-...@googlegroups.com
Hi Vincent,

At this stage, there isn't a way to add variables within the WebDriverSampler context.  If the content is straight HTML (ie. not AJAX), you could do it using the standard JMeter extractors (http://jmeter.apache.org/usermanual/component_reference.html#postprocessors).  However, if it is AJAX, the best thing to do right now is to add it as a feature request to the JMeter Plugins project.

Hope that helps.

regards,
CP

PS.  Maybe we should start a new thread on usages of the WebDriver sampler?  This thread is starting to get overloaded with a number of topics. :)

Cheen-Pin Lim

unread,
Jun 14, 2013, 9:39:34 AM6/14/13
to jmeter-...@googlegroups.com
Sounds good to me.  We could also re-organise our roadmap wiki so that we can organise features for each version that we plan to release?

Andrey Pohilko

unread,
Jun 14, 2013, 4:12:02 PM6/14/13
to jmeter-...@googlegroups.com
Well, I found that planning more than one version further is almost unreal, it's too difficult to keep the word. Also I think that actual work is more important than how the plans are described in roadmap.

However, if you feel you have a vision for some further versions, at list regarding Web Driver Sampler, then feel free to reflect this in Roadmap. We can change it at any time if we want. I myself use Roadmap as a kind of TODO list sometimes, I just place some unimplemented items into "next version" section and mark them as TODO, or DONE. It's ok, because it moves the project forward. 

пятница, 14 июня 2013 г., 17:39:34 UTC+4 пользователь CP Lim написал:

Cheen-Pin Lim

unread,
Jun 15, 2013, 6:49:41 AM6/15/13
to jmeter-...@googlegroups.com

Ok. I'm fine with just planning the next major version. However I do think we should maintain a branch of the 1.1.x codebase so we can release minor changes with new selenium library versions.

Otherwise people using firefox will not be able to test their code when firefox updates and breaks compatibility the api. Let me know if that sounds ok.

Regards
CP

Andrey Pohilko

unread,
Jun 15, 2013, 2:49:02 PM6/15/13
to jmeter-...@googlegroups.com
Sounds reasonable.

суббота, 15 июня 2013 г., 14:49:41 UTC+4 пользователь CP Lim написал:

rl.t...@gmail.com

unread,
Jul 12, 2013, 2:09:40 PM7/12/13
to jmeter-...@googlegroups.com
Hi CP Lim,

I followed the first webDriverSampler tutorial and when running jMeter completely frooze?
Can you help me please?

thanks,

Cheen-Pin Lim

unread,
Jul 12, 2013, 11:14:37 PM7/12/13
to jmeter-...@googlegroups.com
Hi,

How far did you get? Did it freeze when you started the sampler or before? Does JMeter freeze even without installing the JMeter Plugins?

If you can give me detailed steps on how far you got and where it was a problem for you it will help me help you. :)

regards,
CP


vdab...@gmail.com

unread,
Jul 19, 2013, 11:04:42 AM7/19/13
to jmeter-...@googlegroups.com, vdab...@gmail.com
Hi,

I find a solution to return information or data from a webdriver sampler outside this current webdriver sampler.
This solution uses a sub sample result to store information and this new sub sample result is add to the current sampler.

Example, who transmits the title of the current page and get the title with Regular Expression Extractor :
== 1 =======================================================================
// 1a. Start capturing the sampler timing
WDS.sampleResult.sampleStart()

// 2. Perform the Sampler task
WDS.browser.get('http://host:8080/gestdocqualif/')

// 1b. Stop the sampler timing
WDS.sampleResult.sampleEnd()

// 3. Verify the results
var stringToFind = "Page d'accueil application";
if(!WDS.browser.getTitle().match(stringToFind)) {
    WDS.sampleResult.setSuccessful(false)
    WDS.sampleResult.setResponseMessage("Expected title to be <" + stringToFind + ">")
}
else {
    WDS.log.info("In the expected page");
   
    // create a subSampleResult to transmit information from WebDriver easily retrievable
    var sampleResultSub = new org.apache.jmeter.samplers.SampleResult();
   
    // value to transmit, here is the title read by driver.getTitle()
    var sResultToTransmit = WDS.browser.getTitle();
    sampleResultSub.setResponseData(sResultToTransmit);
    sampleResultSub.setSampleLabel("SubResultToTransmitInfo");
    sampleResultSub.setSuccessful(true);
    sampleResultSub.setContentType("text/plain");
    // sampleResultSub.setDataEncoding("ISO-8895-1");
    WDS.sampleResult.addSubResult(sampleResultSub)
}
=== 2 =============================================================================
Add a child Regular Expression Extractor to the webdriver sampler like this (look at the screenshot)
Name : regEx Read Value from the SubSampleResult
Apply to : check Sub-samples only
Response field to check : Body
Reference name : P_TITLE
Regular expression : (.*)
Template : $1$
Matches no : 1
Default value : P_TITLE_NOT_FOUND
==========================================

The variable called P_TITLE contents the title of the page. The title is get by a webdriver function WDS.browser.getTitle()

But i have now a little issue to passe the title to another webdriver sampler because the title contents space chars.
In a second Webdriver sampler > Parameters : ${P_TITLE}
In the script :
WDS.log.info("Nb args = " + WDS.args.length); => 5 args !


Regards
Vincent D.


On Friday, June 14, 2013 3:06:47 PM UTC+2, vdab...@gmail.com wrote:
Hi,

You can use a JMeter variable in script Webdriver Sampler when you put your JMeter variable in the Parameters TextField
In the javascript
In the Parameters textfield of the Webdriver Sampler : ${P_LOGIN} ${P_PASSWORD}
========= in the javascript Webdriver Sampler =================
var P_LOGIN = WDS.args[0]; // 1er parametre
var P_PASSWORD = WDS.args[1]; // 2eme parametre

WDS.browser.findElement(pkg.By.name("tfdLogin")).sendKeys(P_LOGIN);
WDS.browser.findElement(pkg.By.name("tfdPassword")).sendKeys(P_PASSWORD);
====================================================

How create a Jmeter variable in the Webdriver script ?
Example : i get text with Selenium command  and this text value will be used in another webdriver or in a Beanshell.

I want some think like :
valueFind = WDS.browser.findElement(pkg.By.name("message")).getText();
vars.put("P_VAR1", valueFind);

Vincent D.


Michael Zhilin

unread,
Jul 22, 2013, 7:56:34 AM7/22/13
to jmeter-...@googlegroups.com
Hi Cheen-Pin,

Here is summary of changes:
* Added aliases to simplify scripting ($x - xpath selector, $ - css selector, go - navigate, measure...)
* Development mode: doesn't close browser at end of script execution
* (new) Arguments of Chrome: allow to specify arguments of Chrome Browser (like extra-plugin-dir, start-maximized...)

But all changes are still very dirty except aliases. 
Dev mode has bugs, arguments requires testing... 

This plugin becomes very popular in my company, so I hope it will allow to increase quality of code and prepare goog pull request. ;)

My plan is to come back on middle August with approapriate code changes. 

Best regards,
 Michael.


vdab...@gmail.com

unread,
Jul 22, 2013, 11:11:29 AM7/22/13
to jmeter-...@googlegroups.com, vdab...@gmail.com
Hi

I found a way to pass parameters containing spaces as a single parameter in Webdrivers Sampler or Javascript Sampler generally.

My parameter called P_TITLE have the value "Welcome page" (with space character)

I replace all space characters with another character, i choose the # character.

So, in the Webdriver Sampler, i want to pass the modified P_TITLE like this
Parameters = ${__javaScript("${P_TITLE}".split(' ').join('#'))}

And in the script
var TITLE_WITH_SHARP = WDS.args[0];
WDS.log.info("TITLE_WITH_SHARP = " + TITLE_WITH_SHARP);  ==> Welcome#page

// replace # by space
var TITLE = TITLE_WITH_SHARP.split('#').join(' ');

WDS.log.info("TITLE = " + TITLE) ==> Welcome page

Regards
Vincent D.

Cheen-Pin Lim

unread,
Jul 22, 2013, 5:41:58 PM7/22/13
to jmeter-...@googlegroups.com

Hi Michael

You should see how dirty my code was for the initial implementation of the Web driver sampler. What I have contributed is the second rewrite. :)

I am happy to have a look at your code and provide constrictive feedback. I really like some of the ideas and features you've implemented. If you can point me to your github account I can take a look. However I am very busy at work at the moment. A big project is nearing launch day.

Regards
CP

Cheen-Pin Lim

unread,
Jul 22, 2013, 6:23:03 PM7/22/13
to jmeter-...@googlegroups.com

Nice. Do you mind adding this tip to the webdriver sampler best practices on the wiki? It'd be good to share it with others.

--

Michael Zhilin

unread,
Jul 25, 2013, 8:52:00 AM7/25/13
to jmeter-...@googlegroups.com
Here is github cloned repo: https://github.com/Cka3o4Huk/jmeter-plugins

I wish smooth move to production for your project ;)

Cheen-Pin Lim

unread,
Jul 25, 2013, 5:45:47 PM7/25/13
to jmeter-...@googlegroups.com

Thanks Michael. I'll give you some feedback possibly via pull twists to your repo.

Regards
CP

Shiva

unread,
Jul 31, 2013, 3:03:52 PM7/31/13
to jmeter-...@googlegroups.com
Hi Andrey ,CP Lim and all, 

I have been learning about Jmeter for the past 1 month. I downloaded the Selenium Webdriver Plugins from the jmeter-plugins.org website. I am having a small problem in writing the WebDriver Sampler script. 
Is there a way to 
  • "Parameterize Jmeter Selenium script" and for
  •  "Test Data Parameterization in JMX for Selenium". 

We usually add CSV Data set config when we want to use parameters. Instead can we pass all the parameters in the Selenium script directly? 

Can you please help me?..

Regards,
Shivakumar

Cheen-Pin Lim

unread,
Jul 31, 2013, 6:39:39 PM7/31/13
to jmeter-...@googlegroups.com

Hi

There is a section on this wiki http://jmeter-plugins.org/wiki/WebDriverSampler/ that describes 'parameters and args'. If it doesn't do exactly what you need feel free to send through you detailed scenario on how you'd like to use parameters and maybe we can help.

Regards
CP

shiva...@gmail.com

unread,
Aug 8, 2013, 6:44:12 AM8/8/13
to jmeter-...@googlegroups.com
Hi 

Thanks for the link. My scenario is :

I need to pass the username, password as parameters in my script, Is it possible to give more than two username and passwords??  Can you tell me the coding part on how to pass the parameters? In the above link you mentioned, the parameters are detailed in table mode, i couldn't understand it on how to give it in my script. Could you please explain me this with an example code. ?? 

Thanks in advance. 

Regards,
Shivakumar

Cheen-Pin Lim

unread,
Aug 8, 2013, 9:20:03 AM8/8/13
to jmeter-...@googlegroups.com

Hmmm. Maybe I need to revisit my documentation.

The idea is that is you specify a space separated string in your 'parameters' field you can access them in the script by referencing them by their index. Eg

Parameters: "cp password"

then in your script you can access the first parameter by specifying

WDS.args[0] // returns cp
WDS.args[1] // returns password

Hope that clears it up

Regards
CP

Michael Zhilin

unread,
Aug 8, 2013, 5:08:33 PM8/8/13
to jmeter-...@googlegroups.com
Hi Cheen-Pin, Shivakumar,

I use hacked version of jmeter-plugins with "macroses". it simplifies scripting. Here is basic macroses:
go("${host}") - navigate to ${host}
iWait(function(){ ... }) - specify implicit wait as 7 seconds for lookups of elements inside function
_iWait(function(){ ... }, N) - specify implicit wait as N seconds for lookups of elements inside function
$("#myid") - lookup single element by CSS
$$("#myid divs") - lookup list of element by CSS
$x(..) - lookup single element by XPath
measure(function(){ ... }) - measure timing of execution specified function
As result, to open & login you need to write following:

go("http://${server}:${port}")
$('#user').sendKeys("${username}")
$('#pass').sendKeys("${password}")
$('#loginButton').click()

Measurement is also simple:

measure(function(){
    go("http://${server}:${port}/mypage.jsp?id=${some_id}");
})

I don't have enough time to prepare patch for jmeter-plugin, but I'll try to do it by September. If you have time, please feel free to make patch. Source code is available here: https://github.com/Cka3o4Huk/jmeter-plugins

Best regards,
 Michael.
Message has been deleted

anujar...@gmail.com

unread,
May 1, 2014, 5:04:33 PM5/1/14
to jmeter-...@googlegroups.com
Hello,

This is a pretty late comment/reply/question on this post.

I just started using Webdriver plugin, and i just loved it. But it will take time for me to learn how to use it. While searching a solution for the problem i am facing i came to know about this post.

I am trying to use variables defined in jmeter inside Webdriver sampler.
I have defined two variables in jmeter in 'User Defined Variables' named 'username' and 'password'

As Vincent explained below in textfield of the Webdriver Sampler I have added : '${username} ${password}' (with space in-between two parameters)
and below is my script:

var pkg = JavaImporter(org.openqa.selenium)
var support_ui = JavaImporter(org.openqa.selenium.support.ui.WebDriverWait)
var wait = new support_ui.WebDriverWait(WDS.browser, 5000)
var username = WDS.args[0]
var password = WDS.args[1]

WDS.sampleResult.sampleStart()
WDS.browser.get('xxxxxxxxxxxxxxxxxxx')
var name = WDS.browser.findElement(pkg.By.id('UserName'))
name.click()
name.sendKeys(username)
var pwd = WDS.browser.findElement(pkg.By.id('Password'))
pwd.click()
pwd.sendKeys(password)
var button = WDS.browser.findElement(pkg.By.id('sign-in'))
button.click()
WDS.log.info(WDS.name + ' has logged an entry');
WDS.sampleResult.sampleEnd()

But still i am getting below error:
Response code: 500
Response message: javax.script.ScriptException: sun.org.mozilla.javascript.internal.EvaluatorException: Can't find method org.openqa.selenium.htmlunit.HtmlUnitWebElement.sendKeys(java.lang.String). (<Unknown source>#11) in <Unknown source> at line number 11

If you could please look into this.

Thanks,
Anuja
For more options, visit <a href="https://groups.google.com/groups/opt_out" t
...

anujar...@gmail.com

unread,
May 1, 2014, 5:07:11 PM5/1/14
to jmeter-...@googlegroups.com
...

Vincent Daburon

unread,
May 2, 2014, 5:36:10 PM5/2/14
to jmeter-...@googlegroups.com, anujar...@gmail.com
Hi,

I think your error is generated because you use a jdk 6 and you send a string, you need to send an array of string.

Extract from documentation
The first text field is assigned to the `what` variable, and this is just a standard WebElement. We then make use of the `sendKeys` functionality to send a string of characters to this field. We then do the same to the `where` field and send another string of characters to the other field. The astute scripter would have picked up the fact that the string is enclosed within an array. This is on purpose as the Javadoc for the sendKeys method is of type `varargs` which essentially compiles down to an array of strings. For this script to work in Java 6, the scripter must use an array for varargs parameters. However if the scripter is using Java 7, they can omit the array and just use a string.

Vincent D.

balendr...@gmail.com

unread,
Aug 6, 2014, 3:56:39 AM8/6/14
to jmeter-...@googlegroups.com
Hi,

Need help to provide different text value to some text box using webdriver. I am new to Jmeter Just started using this .Please help how can i pass different values for different thread.

WDS.browser.findElement(pkg.By.xpath('//div[2]/div/input')).sendKeys(['test234'])  -----Here test234 should be different for different user.

Thanks/Balendra

Andrey Pohilko

unread,
Aug 6, 2014, 7:19:04 AM8/6/14
to jmeter-...@googlegroups.com, balendr...@gmail.com
Please, create separate thread with your question. 

This topic is now blocked since it is too long and actual topic is not about support.

--
Andrey

среда, 6 августа 2014 г., 11:56:39 UTC+4 пользователь balendr...@gmail.com написал:
Hi,

Need help to provide different text value to some text box using webdriver. I am new to Jmeter Just started using this .Please help how can i pass different values for different thread.

WDS.browser.findElement(pkg.By.xpath('//div[2]/div/input')).sendKeys(['test234'])  -----Here test234 should be different for different user.

Thanks/Balendra

On Friday, March 15, 2013 6:13:20 PM UTC+5:30, CP Lim wrote:
Hi,

We've had a need to measure browser performance and have put together a modified version of JMeter for running and controller a browser instance inside of JMeter.  The proof of concept is here: https://github.com/Sensis/jmeter, there is also a getting started page here: https://github.com/Sensis/jmeter/wiki/Getting-Started.  The core of it is to use Selenium WebDriver to control the browser instance and make it available for scripting using JSR-223, but Javascript/rhino is the only language implemented.

Now we're at the point where we are looking to contributing back to the open source community however, the JMeter project was a little divided on the idea: http://jmeter.markmail.org/search/?q=websampler#query:websampler+page:1+mid:7kmep2x7pntll4fy+state:results.  Its been a while since we last chatted, and I can re-engage the JMeter group about the value we have seen using this tool, however if all else fails, would this be something I could contribute to the JMeter Plugins project instead?
...
Reply all
Reply to author
Forward
This conversation is locked
You cannot reply and perform actions on locked conversations.
0 new messages