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