Consultant at a consultancy with 501-1,000 employees
3 Reasons for combining JMeter and WebDriver
The Apache Foundation states the following about JMeter:
The Apache JMeter™ desktop application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions.
So in other words, it’s a tool you can use to generate functional load on an application or a platform. This also immediately describes what it is good at: generating load. Yes if implemented well you not only generate dumb-load but also hit the functional application layers with the tool. But the basic function of JMeter is aimed at generating load and measuring the (server) response times during this load.
What does JMeter NOT do?
Despite being capable of generating functional load, JMeter does not render pages nor is it very well equipped to execute embedded JavaScript (it is simply not equipped to do that actually), therefore JMeter will not tell you anything (out of the box) about the render times of pages. Especially not about render times when the server is heavily overloaded by your scripts!
What is WebDriver good at?
SeleniumHQ gives a wonderful description of what Selenium (or nowadays WebDriver) does:
Selenium automates browsers. That’s it! What you do with that power is entirely up to you. Primarily, it is for automating web applications for testing purposes, but is certainly not limited to just that.
In short, what WebDriver does is just about anything that happens within your browser. It does render pages, it does execute JavaScript, it retrieves the pages as if an actual human was clicking on a website. So for fully functional automated testing (or checking to stick with the more correct terminology) WebDriver is perfect.
What does WebDriver NOT do?
Well, it is not quite good at generating load. Since WebDriver basically requires a browser (yes, it is possible to run it headless of course) it is very difficult to generate multiple (virtual) users. That would require a bunch of browsers to start up, when talking about 10 users that may seem feasible, however when talking about generating real load (say several 1000’s concurrent users) a bunch of browsers becomes a lot more difficult to arrange.
Why combine them then?
The logical question then indeed is, why would you combine them? Below I have set out 3 clear reasons why combining JMeter and WebDriver scripts can be an excellent idea.
- Impact of server-side load on render-times;
When the load on a server increases, the response times of various parts of a web application may increase as well. These increased response times can have implications on the render time of the web application. For example: a web application heavy with Ajax requests is put under load, the server response times increase, this may result in all Ajax-requests becoming slower, therefore making the website extremely unfriendly to the end-user. When you just run a JMeter script, this will hardly be noticed, and if you do notice it, you cannot express the impact it will have on the user. You can merely speculate about it. - Impact of server-side load on functional behavior;
Given that the server is experiencing increased load and therefore the business-logic of the application is working hard to handle all requests effectively, it can be safe to say the underlying database may also be stressed and therefore responding slower than expected. Slower response times of both application-logic and database requests can result in buggy behaviour of the application. For example incomplete data returned, or worse, a time-out on data or application-logic. How does the application deal with that? How are these errors reported to the end-user? Will the application still function normally within the browser when certain aspects of the application platform are malfunctioning? The best answer to this is by testing the functionality thoroughly while the application is under load. An easy way to test this repeatedly and consistently is by automating these functional tests, for example using (part of) the automated regression test while the servers are under increased load. - Advantage of screenshots of fully rendered pages and possible errors with the application under load;
As a result of the two points mentioned above, it may be extremely useful for both developers/system engineers and your customer to see errors on the pages affected by the increased server load, such as stylesheets not loading or not loading properly, JavaScript not loading, images missing etc. Screenshots (or screen captures in movie format) will help make clear to the customer what the problem is and more importantly how big the impact on the end-user will be.
I have listed 3 reasons why combining JMeter and WebDriver can be a good idea. I’d love to hear your suggestions of more reasons to want to combine the two.
In a follow-up post I will go into more detail on ways to achieve an effective combination of JMeter and WebDriver running along side each other, well timed and generating consistent logging and results.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Consultant at a consultancy with 501-1,000 employees
JMeter is great as a stand-alone load generator, however when you need a distributed load you'll require high server use
Over the past year I have spent a lot of time in close collaboration with Apache JMeter. I used JMeter as a standalone platform, in collaboration with several tools out there and with my own servers. Over the next few posts I will elaborate a bit more on what I have learned from working with tools like BlazeMeter, Loadosophia as well as working with your own remote servers and Jmeter. On top of that I will share some things I consider good practices to use when working with JMeter and building elaborate test scenarios in it.
JMeter and remote servers
Meter is great as a stand-alone load generator, however the moment you need to generate a substantial load or a distributed load, you will require the use of more servers. There are several possibilities to add external servers to JMeter. You can use a load generation platform such as BlazeMeter and Flood.io or you can choose to use your own machines (Disclaimer: I have only worked with Flood and BlazeMeter as services, so I only mention these two. There may very well be other services out there I am not (yet) aware of).
Why use your own remote servers?
Although there are several commercial options to run JMeter tests from a cloud-platform, it might be useful to have your own servers running. Your own machines, for example Virtual Private Servers, will give you at least the following advantages, please bear in mind these are the main reasons for me to run private servers. It may very well be that you have different reasons for doing the same (I’d be happy to hear them btw!):
- Availability within firewalls: Not all applications are available outside of firewalls. For quite a lot of companies it is not an option to allow external addresses, especially cloud services, within their firewalled environment. When this is the case in your organisation it can be very useful to have your own load generator hosted inside the firewall.
- Geographical location: not each and every country has platforms available for load generation. Although platforms like Blazemeter have a lot of different locations available, it may very well be that your particular country is not available through a service provider. However getting your own, hosted, machines within a country is generally not too difficult to do. Keep in mind though whenever you want to use something like a Virtual Private Server to verify with the hosting company whether they allow load generation from within their network!
- Control: a fairly straightforward reason is in order for you to have full, unlimited control over the load generating servers. If you have your own (virtual) servers running you can easily adjust settings, properties and other things in order to make it fully match your (customers) needs.
Why use a service?
Even though there are quite some reasons for using your own machines, the advantages of using a service like BlazeMeter or Flood.io are plenty, I will just highlight the few that for me have tipped the scales several times in favor of a service.
- Maintenance: Setting up your own servers is time consuming and therefore not cheap. These servers need maintenance even though you quite likely do not constantly need them. A Service is just there. You buy a subscription, be it with a time constraint (monthly) or a load constraint (max amount of concurrent users) or something like that, but the service is simply at your fingertips. The moment you need it, you have it.
- Multiple locations: the JMeter based services generally make use of the Amazon AWS cloud, thus giving you, the user, an immense amount of servers at your disposal. With this comes a huge worldwide distribution, which can be very advantageous for big world-wide used applications.
- Support: both mentioned platforms have a very solid support base for their customers. If you have questions, if your tests seem to not run properly or you simply have issues getting something done, there generally is a good support platform available. You can use forums or the actual helpdesk, but either way, there is a good, solid, commercial support-base to help resolve your issues.
In the end, I choose per assignment what best fits my needs. Sometimes I use the VPS, sometimes I use a service. It is important you at least think about what best suits your needs for the test you are about to build and execute.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Hi Martin,
Thanks for your input, very useful to know. I am working as a consultant on a relatively new client site, and am preparing to head up the team to write an RFP proposal for a new performance testing tool to be used across the company.
Getting all the technical / protocol details for the various systems is proving to be more challening than it should - they seem to be all Web based (although only support old versions of IE like 8 and 9... I know). I am very tempted to strongly recommend JMeter as the tool (probably with BlazeMeter or Flood as the cloud based service), but I am concerned that a couple of months down the line some legacy system will come out of the woodwork that JMeter would not be able to support.
Hope that all makes sense. Would be interested in any other feedback that you had.
Cheers,
James
Buyer's Guide
Apache JMeter
February 2025

Learn what your peers think about Apache JMeter. Get advice and tips from experienced pros sharing their opinions. Updated: February 2025.
838,713 professionals have used our research since 2012.
Senior Software Engineer at a tech vendor with 51-200 employees
JMeter helps me in measuring performance of my product very effectively
What is most valuable?
I think CSV data config, regular expressions extractor, reporting and distribution testing are the strengths of JMeter.
How has it helped my organization?
It makes life easier by simulating production scenario to check the performance under heavy load. We are able to find out the bottleneck in our system with the results.
What needs improvement?
Better way to handle dynamic elements, to handle session id, browser cookie and cache manager.
For how long have I used the solution?
I have used JMeter for around 6-8 months.
What do I think about the scalability of the solution?
No, distributed testing was helpful for scaling the users in JMeter.
How are customer service and technical support?
Customer Service: 3 out of 5Technical Support: 3 out of 5
Which solution did I use previously and why did I switch?
I never used any performance tool before.
How was the initial setup?
Yes, the initial setup IS easy after following the blogs or Apache JMeter page.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
I have started using JMeter recently, I am confused with the sampler number, I ran a simple Login test of 50 threads for 10 min, I see sampler numbers around 3000. Does that mean 3000 users are doing logins or 50 threads have done 3000 requests so far?
Sr Manager - Quality Engineering at a computer software company with 501-1,000 employees
Great performance testing for applications with a valuable load testing feature
Pros and Cons
- "We find the load testing feature valuable."
- "The reporting section of the solution can be better."
What is our primary use case?
Our primary use case for the solution is performance testing for applications, and we deploy it on the cloud and on-premises.
What is most valuable?
We find the load testing feature valuable.
What needs improvement?
The reporting section of the solution can be better. Additionally, more plugins can be included in the next release.
For how long have I used the solution?
We have been using the solution for approximately 15 years and are currently using version 5.3.
What do I think about the stability of the solution?
The solution is stable.
What do I think about the scalability of the solution?
The solution is scalable, but it all depends on the application. However, it is usually scalable by up to 2500 users. However, if you want to use it for any number of users, you can use JMeter as long as your machine supports it.
How are customer service and support?
We do not have experience with customer service and support because everything is stable.
Which solution did I use previously and why did I switch?
We previously used LoadRunner.
How was the initial setup?
The initial setup is straightforward. I rate it a nine out of ten.
What's my experience with pricing, setup cost, and licensing?
The tool is open source, so we do not pay for licensing.
What other advice do I have?
I rate the solution a nine out of ten. I advise new users to enhance their understanding of the solution via Youtube.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Programmatore software at a tech services company with 201-500 employees
A stable solution with a lot of connectors and easy setup
Pros and Cons
- "The features that I appreciate are quite basic. It is easy to ramp up the threads and start calling the application. A lot of connectors can already be found within Apache JMeter, but we are not using the entire set because the integration between the customers and platform is based on HTTP. We are just going to produce lots of HTTP sequences."
- "Currently, the integration pipeline is implemented by using Jenkins or a similar tool platform. These are continuous integration tools. As far as I know, integration is done by using custom scripts. It would be good if the integration with a continuous integration pipeline, like Jenkins or Hudson, can be done out of the box without using a script."
What is our primary use case?
We are using Apache JMeter for profiling and stress testing the application. It is a part of our delivery architecture to stress test the application. It is a part of the build chain. It is not just something that we use internally to verify what we are going to use or going to do.
In terms of a specific use case, we are using Apache JMeter to simulate user engagement. Our software is about customer engagement, and we use JMeter to simulate the customers and engage them on our platform as aggressively as we can.
What is most valuable?
The features that I appreciate are quite basic. It is easy to ramp up the threads and start calling the application. A lot of connectors can already be found within Apache JMeter, but we are not using the entire set because the integration between the customers and platform is based on HTTP. We are just going to produce lots of HTTP sequences.
What needs improvement?
Currently, the integration pipeline is implemented by using Jenkins or a similar tool platform. These are continuous integration tools. As far as I know, integration is done by using custom scripts. It would be good if the integration with a continuous integration pipeline, like Jenkins or Hudson, can be done out of the box without using a script.
For how long have I used the solution?
I have about two years of experience with JMeter. I started to use it two years ago with a new job.
What do I think about the stability of the solution?
It, for sure, is stable. Apache JMeter is a consolidated tool that has survived for several years.
What do I think about the scalability of the solution?
It is mainly used by automation tools. These automation tools are around whenever needed. We have about 70 people, and this is a spot adoption.
How are customer service and technical support?
I have never tried Apache support.
How was the initial setup?
The initial setup is quite easy because this is just a compressed archive. There is no real installation of the tool. You just need to extract it to integrate with Jenkins Pipelines and automatic tools by using the command-line calls. After you expand the archive, you have to adjust Apache JMeter to its proper configuration, which is not a big issue.
What's my experience with pricing, setup cost, and licensing?
In terms of open-source adoption, it is completely free.
What other advice do I have?
I would recommend this solution.
I would rate Apache JMeter a ten out of ten. I don't have anything else to compare it with, and I don't know if a competitor can achieve better.
Which deployment model are you using for this solution?
On-premises
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Executive Director/Consultant at a tech vendor with 1,001-5,000 employees
Cost-effective and has good community support
Pros and Cons
- "The most valuable feature for us is the available information on the forums and to be able to discuss and get answers from the people that are involved in using this tool."
- "There is some work to be done with the integration."
What is our primary use case?
In general, the primary use case of this solution is for performance testing and load testing.
Typically it is for load tests. They have to focus on three metrics including throughput, response times, and the utilization of the resources including the CPUs.
We are delivering some bank houses with performance tests, through JMeter.
The deployment model varies depending on the client. Some have a private line.
What is most valuable?
From the customers' perspective, the most valuable feature is the price.
The most valuable feature for us is the available information on the forums and to be able to discuss and get answers from the people that are involved in using this tool.
What needs improvement?
They have to find a way to prepare the script or to prepare a detailed analysis. We have to collect all the information on each of the services we have to call. Based on this they have to collect in the phase of preparation for the performance test and then we can run our audit. It is easy to prepare a script to run a performance test.
You can't rely on the support. It's something that is not fully working.
The scalability of this solution needs some improvement.
There is some work to be done with the integration.
For how long have I used the solution?
I have been using this solution for over five years.
What do I think about the stability of the solution?
This solution is stable, but it does have one limitation with the number of throughputs. For example, if I want to generate four, five, or two thousand people working concurrently then they have to prepare our setup for ten PC servers.
What do I think about the scalability of the solution?
Normally they can run a load for five thousand people, customers, or users working concurrently. It is scalable but needs some improvement.
How are customer service and technical support?
The technical support on the site is not fully functioning.
How was the initial setup?
The initial setup is easy and straightforward.
You can have it running within thirty minutes.
What about the implementation team?
I had always implemented this solution myself, but It's been a couple of years since I did it last.
Now it is done through our company technicians. I just coordinate activity-performance tests for our customers.
What's my experience with pricing, setup cost, and licensing?
This is an open-source solution, and there are no fees.
What other advice do I have?
The requirements for most of our customers is to provide them with cheap solutions, and most prefer not to pay for software. This is the right solution for them based on some of the open-source tools that are available.
There are some commercial solutions that provide better integration to the solutions that must be tested when running loads.
I would rate this solution an eight out ten.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Head of Performance with 51-200 employees
Good for vanilla web testing, less so for more complex requirements.
A mature opensource toolset that has been available for many years. Good for vanilla web testing, less so for more complex requirements. Like most opensource offerings it has relatively poor analytics and limited integration with analytics tools like APM although it is relatively easy to extend with plug-ins and there are quite of these available for free download. A good choice where budget is tight and the tech-stack requirement is straight-forward.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Hi Kobi,
JMeter is not well suited for this sort of requirement as you are likely to have to deal with some sort of API. If however the API is web service based then should be ok. Something more proprietary would be better dealt with scripting in C# in my experience so some other tool choice would be better suited.
KR
Ian
Performance Analyst at a tech services company with 10,001+ employees
Scripting is good, it's stable, and customer service is responsive
Pros and Cons
- "Scripting with the solution is good."
- "The solution needs to improve reporting. Currently, there is not enough automation involved with the feature. For example, there should be an automatic way of saving reports."
What is our primary use case?
I am using the solution for load, endurance, and performance testing.
What is most valuable?
Scripting with the solution is good.
What needs improvement?
The solution needs to improve reporting. Currently, there is not enough automation involved with the feature. For example, there should be an automatic way of saving reports. I have also found the recording should be improved too. When you are entering a launch in the controller the recording request should be inside it. Lastly, if they could make the technology better in terms of speed, this would help us.
For how long have I used the solution?
I have been using the solution for two months.
What do I think about the stability of the solution?
When I compared this solution to others there were variations in the response times but it is stable.
What do I think about the scalability of the solution?
We have used the current solution process for approximately 400 users.
How are customer service and technical support?
The customer service is quite good. They get a lot of people requesting support but even under those conditions, they are still efficient at responding.
Which solution did I use previously and why did I switch?
I have previously used NeoLoad.
How was the initial setup?
The setup is easy, it is not that complex.
What other advice do I have?
I would recommend Apache Jmeter.
I rate Apache JMeter an eight out of ten.
Which deployment model are you using for this solution?
On-premises
Disclosure: I am a real user, and this review is based on my own experience and opinions.

Buyer's Guide
Download our free Apache JMeter Report and get advice and tips from experienced pros
sharing their opinions.
Updated: February 2025
Popular Comparisons
Tricentis NeoLoad
Perfecto
OpenText LoadRunner Professional
BlazeMeter
OpenText LoadRunner Cloud
OpenText Enterprise Performance Engineering (LoadRunner Enterprise)
ReadyAPI
Oracle Application Testing Suite
Eggplant Performance
Akamai CloudTest
RadView WebLOAD
SmartBear LoadNinja
HCL OneTest
Ixia IxLoad
IBM Rational Test Workbench
Buyer's Guide
Download our free Apache JMeter Report and get advice and tips from experienced pros
sharing their opinions.
Quick Links
Learn More: Questions:
- Jmeter vs SOAtest?
- How does Postman compare with Apache JMeter?
- How does BlazeMeter compare with Apache JMeter?
- What is your experience with Citrix with JMeter?
- When evaluating Load Testing Tools, what aspect do you think is the most important to look for?
- SOAtest vs. SoapUI NG Pro?
- Does Compuware have a manual testing solution? Which manual testing solutions should we be considering?
- What are the top performance tools available to load test web applications?
- What is the best tool for mobile native performance testing on real devices?
- When evaluating Performance Testing Tools, what aspect do you think is the most important to look for?
Hey, Peter-Thomas,
The easiest way I can suggest it to just start small: ensure you add timers to your existing webdriver scripts so you know what your application does under normal circumstances.
Once you have the functional side covered in a way that you know what you need to know, start building up a load generator in Jmeter and start running the two alongside one another manually. When you have that working properly and are getting some useful numbers drop the whole thing as a script into your CI environment for running after a full regressiontest.