WebApp Performance test
A web application or website is considered “fast” when all its webpages load quickly and are ready for user interaction. In performance testing, we typically focus on measuring server response time and the time taken between application components. However, we don’t primarily emphasize end-to-end (E2E) latency because E2E time depends on various factors, including internet speed, machine memory, and routing.
Certainly! It is advisable that when a web application is intended to run from the United States (for example), performance testing should primarily be conducted from that specific location. This approach ensures that the testing accurately reflects the conditions and network environment that users in that region will experience.
Microsoft Azure gives you the flexibility of configuring Azure Load Test (Azure Load Testing documentation | Microsoft Learn), where user can select region of executing the test.
In this article, we will discuss intelligent plugins that allow us to simulate user behavior—including logging into an application, navigating to various webpages, and measuring page load time under specific load conditions. These plugins provide valuable insights for optimizing web application performance. JMeter Webdriver plugin - Documentation :: JMeter-Plugins.org
with this plugin one can easily write a small script to get the Page load time.
Just like selenium this JMeter plugin also support multiple browser (Chrome, Edge, Firefox, IE and HTML unit driver).
For running this script in pipeline - browser and driver need to be configured
For Testing I am using this url "https://www.bing.com/search?q=cars" for10 Concurrent Request and here is the outcome.
Setup Steps
2. Configuration
领英推荐
3. View Results
Limitation - The JMeter WebDriver plugin, being built on the WebDriver library, does have some limitations regarding the number of instances that can be simultaneously hit (transactions per second or TPS). By default, the instance count is capped at 10. However, this limit can be adjusted based on the available RAM and CPU speed of your testing environment.
Remember that increasing the instance count beyond the default value requires careful consideration. Here are a few points to keep in mind:
In summary, while the JMeter WebDriver plugin provides flexibility, it’s essential to optimize the instance count based on your specific testing requirements and hardware capabilities.
Conclusion - The JMeter WebDriver plugin simplifies web application performance testing by automating the execution and collection of performance metrics on the client-side (i.e., the browser). Traditionally, performance testing has focused on server-side aspects, but with advancements in technology, more logic and behavior now reside on the client side due to HTML5, JavaScript, and CSS improvements. These client-side elements significantly impact the overall perceived performance of websites and web applications, yet they are not directly available for measurement in JMeter.
Issues you may face - While running you may face this kind of issue "org.openqa.selenium.remote.http.ConnectionFailedException: Unable to establish websocket connection to https://localhost:65263/devtools/browser/59e1ff1d-518a-4001-ad2e-72efdee5c8a7"
we can solve this by using --remote-allow-origins=* in option tab in config window for specific driver.
Related Links
Senior Consultant at Microsoft
11 个月Nice article that covers client side performance
Tester @ Microsoft | TesterOfTheYear2022 | Youtuber | topmate.io/gauravkhurana
11 个月Important point mentioned to simulate the same behavior we can take help of regions via Microsoft Azure. Thank you for this share