Integration Selenium with either Jmeter or the Grinder
I've been trying to evaluate load and perfomance test tools and i think i might either go with Jmeter or The Grinder. I am struggling to choose between the two and hoping that someone here can help.
I am currently using selenium to run functional tests of the web application and i now need to include load testing as part of the batch job. My plan is to automate the whole process.
A couple of questions i have about the two tools
- Is it possible to use Java to program the test cases to run rather than Jython for Grinder and XML for Jmeter?
- How easy is it to integration Jmeter or Grinder with Ant and Junit
- Does grinder work the same way as Jmeter. i.e. it only sends the request URLs to the server and does n开发者_高级运维ot do any pre-processing before submission? e.g. a javascript method called on an onSubmit of a form.
- For an application that has a lot of javascript and dynamic css/javascript processing, which would you recommend would be best suited. For example, a lot of the forms are submitted dynamically. i.e. when the user clicks on the submit button, it doesnt just submit the form, a javascript function is usually called that does some processing before the form is submited. In some cases the form itself is built dynamically using Javascript. Which of the two tools do you think will handle this much better?
- Has anyone got any tips and or whether it is possible to integration Selenium with either Jmeter or Grinder and which is easier to integrate with Selenium.
Thanks
How easy is it to integration Jmeter or Grinder with Ant and Junit
jMeter can run any jUnit3 test and there is patch to allow it to run with jUnit4.
I have run selenium tests from jMeter, the big problem is that you cant run too many tests at once. On my machine I had run 8 tests at once and its not really enough to test performance. also test take some time to initialize.
JMeter and most other load testing tools are designed to operate at the protocol-level (HTTP GET, HTTP POST, etc). Selenium, on the other hand, works at the user-level (click, type, drag and drop, etc). They are fundamentally not well-suited to work together.
If you want to do Selenium load testing, check out http://browsermob.com. Disclaimer: I'm the founder of BrowserMob :)
Alas, I can only answer one part of your question:
For an application that has a lot of javascript and dynamic css/javascript processing, which would you recommend would be best suited. For example, a lot of the forms are submitted dynamically. i.e. when the user clicks on the submit button, it doesnt just submit the form, a javascript function is usually called that does some processing before the form is submited. In some cases the form itself is built dynamically using Javascript. Which of the two tools do you think will handle this much better?
Jmeter will not execute Javascript at run time - it can only post/get http requests. If you need the Javascript to execute as part of your performance metrics, Jmeter will not give you the numbers you need. If you don't need the processing as part of your metrics, then you'll be fine. It comes down to what you're looking for - the load a server can handle, or the "true" user experience complete with HTML/CSS/JavaScript rendering.
精彩评论