Overview:
Apache JMeter is an open-source performance testing tool; developed in Java. JMeter does not require any purchasing or licensing costs. It means that you can conduct the performance testing of an application or a software system without spending a single penny on the tool. JMeter becomes a rapidly growing tool due to its unrevealed features which compete with the other licensed tools. To make this tool stronger, Apache JMeter Development Community is continuously working on the requirement raised by JMeter users and provides a useful plug-in. The community also releases the upgraded version of the tool with major updates.
YouTube Video: Link
A brief history of Apache JMeter:
Stefano Mazzocchi developed Apache JMeter and officially released the first version in 1998. Since then its features have been growing day by day. JMeter became a Top-Level Apache project in November 2011, which means it has a Project Management Committee and a dedicated website.
Features:
Apache JMeter is a Java-based tool which means it is a platform-independent tool. Any popular operating system supports JMeter without any issue i.e. you can install the JMeter easily. The only thing which an operating system should have is a supportive version of Java. JMeter has nearly all the basic as well as advanced features which a performance testing tool should have.
Following are some important features of Apache JMeter (as of 01/05/2023):
- Apache JMeter is an open-source tool. It means free to use.
- No additional licensing cost or purchasing the pro version.
- Pure Java-based application, so works on any operating system i.e. Platform Independent.
- Lightweight and easy to install
- No maintenance cost
- Easy to upgrade
- Easy to enhance the features by simply adding .jar file i.e. plug-ins
- No explicit hardware is required (depends upon the load requirement)
- Unlimited User load (Thread) generation capability (depending on LG configuration)
- Simple and User-friendly GUI
- Run in both GUI and Non-GUI mode
- The recording option helps to record the user action on an application
- Supports all the basic scripting features like parameterization, correlation, browser simulation delay in request etc.
- Easy to debug the scripts
- Support Android application performance testing
- Test the performance of both static and dynamic resources
- Supports multiple coding languages like BeanShell, Groovy and JavaScript for scripting purposes.
- Supports protocols like Web/HTTP, Web services, Databases, SOAP, etc.
- It can be integrated with third-party APM tools like DynaTrace, Applicare, Grafana etc.
- Integration with CI tools like Jenkins etc.
- Drag and drop declarative view for scripts.
- Average reporting pattern (Report in HTML format post 3.0 version)
- Proper documents are available to gain knowledge of the functionality
- Free and Commercial Online supports are available
Limitations:
Along with an ample number of features, Apache JMeter has some limitations too, which are (as of 01/05/2023)
- Limited protocol support
- No dedicated support team
- The script cannot be regenerated
- No Protocol adviser
- Compatibility issue in the existing script while upgrading the version
- No Run time graphs (only available when integrates with some monitoring tool like Grafana)
- Dependency on Beanshell and other coding languages for complex scenario scripting
- GC/Heap memory issue is common while running a test on a limited resource machine.
- Unpredictable issues in distributed testing
- Lack of in-depth analysis features
- Reports have fewer features which makes analysis a bit difficult
Apache JMeter Official Website
https://jmeter.apache.org/index.html
Apache JMeter is a simple and useful performance testing tool. Most product-based companies use JMeter to test the performance of their products. But, service-based companies have a different thought and show less interest to accept JMeter. They still prefer and recommend the licensed tool. Although, it is very well accepted by many clients because it saves money and provides an accurate result. To conclude, Apache JMeter is a well-known name in the Performance Testing world which is easy-to-use, free of cost and of-course good for Performance Testing.
You may be interested:
I have an API which has a HTTP response as Event Stream (SSE events) with content-type–>text/event-stream. the default HTTP request sampler doesn’t support the event stream response. So while execution, jmeter indefinitely wait for the response. How to handle this. I read that custom Java sampler has to created for this. Could you please offer tutorial for this
ok, Arun!
Let me check at my end too.
Hi,
I updated path in environment variables but
I have an issue regarding JMeter in command prompt like as ” findstr’ is not recognized as an internal or external command,
operable program or batch file.
Not able to find Java executable or version. Please check your Java installation.
errorlevel=2
Press any key to continue . . .”
please give the reply
Thank u,
With Regards,
Nagamani K
where did you use ‘findstr’ command?