Hello Apache JMeter Dev Team,

Hope this email finds you all good. My name is Yashas; I am a passionate
open-source enthusiast and have been actively using JMeter in my
organization for performance testing. I work for a small startup with
limited resources, and therefore we rely heavily on open-source tools such
as JMeter to streamline our workflow and adapt to our needs.

We are regularly asked to load test specific web pages since our company is
plagued by ongoing performance issues. However, the APIs for our company
change and become newer every day as our company continues to grow.
Recording the APIs manually for every update is also very
resource-intensive and a repetitive task. With our small team and a high
rate of change, re-recording test plans has become one of our major
challenges.


*The Challenge:*
Whenever there are changes to new APIs or updates of web pages, we
currently have to do:

Interact with the web pages manually through a browser and navigate to
specific URLs.
Use JMeter's HTTP(S) Test Script Recorder to capture and configure manually
new HTTP requests for each release.
Repeat the process quite frequently, even though the changes to the page
might be minimal.
This repetition is really long-winded and wastes team capacity when we do
need to use it for performance engineering tasks. We cannot reuse the old
recordings because our API endpoints are changing too rapidly.

*Proposed Solution:*

To tackle this problem, I have designed a JMeter plugin that lets us merge
UI automation testing ( which does all the interactions that we need to do
manually ) with performance testing by allowing direct integration of the
Selenium test script directly within JMeter's workflow.

*The plugin will function as follows:*

A Selenium browser automation script (for example, Firefox WebDriver) will
open up the web page, do certain UI interactions, such as clicking, adding
new row, or applying filters , and dynamically interact with the
application.
Concurrently, JMeter's proxy recorder will catch and record all backend API
traffic that the browser initiates due to these interactions.
The captured requests will then automatically transform into HTTP Samplers
and be stored in a JMeter test plan, eliminating the need for manual
recording.

*The process makes sure that performance engineers can now:*

Automate API recordings dynamically.
Enable JMeter to adjust to drastic changes on modern websites as quickly as
possible with minimal work from manual effort
Saves much time and resources.

*Why this plugin matters:*

Bridge UI automation with performance testing:
This plugin bridges the critical gap between Selenium-based UI testing,
which includes functional workflows, and JMeter's backend performance
testing. Many organizations employ both tools but have separate pipelines.
It can bring them together, streamlining workflows, especially for startups
as well as for a team with limited resources.

*Overcomes Modern Web Testing Challenges:*

The main dependencies of today's web applications include JavaScript,
background API calls, and AJAX for critical functionality. This plugin will
enable the tester to directly interact with dynamic elements through a
browser and automatically capture all the requests resulting from it to
create realistic performance tests.

*Saves Overheads for Small Teams:*
By automating the process of API recording and test plan generation, this
plugin can save time, reduce repetitive tasks, and increase efficiency for
small teams (like ours) and other organizations facing similar challenges.

.

I look forward to hearing your thoughts on this idea and would greatly
appreciate any feedback or suggestions to refine it. Please let me know if
this is an appropriate and valuable contribution to JMeter, and how best to
align with ASF guidelines.

Thank you for considering my mail, and thank you for maintaining and
improving Apache JMeter every time — it’s an incredible tool!

Best regards,
Yashas
yashas07022...@gmail.com

Reply via email to