Reputation: 21271
I've been assigned the task of load-testing a web server that's hosting a new web app. I've pointed my browser to the application and ran Charles (or Fiddler - depending on OS) and watched to see what requests were being made and how often. What I'd like to do is now simulate several browsers pointing to the same application and, after logging in, idling for up to, say, an hour. I've read both of these posts:
Performing a Stress Test on Web Application?
https://stackoverflow.com/questions/9703800/web-application-testing-simulating-idle-browser-time
but I'm afraid I'm still too new to performance/load/soak testing to know if any of these tools can be used for this. It seems like they're all good for making requests to the server, but I'd like to simulate an idle browser where the user doesn't make any requests explicitly. The requests are made implicitly without the user's knowledge.
I hope that makes sense.
Any help appreciated.
Upvotes: 0
Views: 714
Reputation: 1982
If you just need a handful of browsers and do not need to collect/analyze data from them, you could do it manually or automate the process with Selenium WebDriver.
If you want to do this for a larger number of browsers or you want to collect and analyze the client-side performance data, then you'll want to look into load testing software. Most of these simulate at the HTTP layer, rather than using real browsers. But that's fine, as long as you can capture and simulate the requests that occur without user intervention. In my experience, that is not difficult, but it really depends on the application in question. Disclaimer: I work for Web Performance.
Upvotes: 0
Reputation: 1690
If you're open to commercial tools, then I'd like to recommend Telerik's Test Studio. (Full Disclosure: I'm the evangelist for that tool!)
Test Studio lets you create a thorough mix of use cases for a realistic load test scenario. You can use Test Studio functional tests, Fiddler traces, or capture your own use cases on the fly. You then combine these use cases and build custom distributions across them.
Moreover, you can use a mix of sessions between IE, Firefox, Safari, and Chrome.
Regarding the pause times you mentioned: every use case can be fully tailored with think times (delays) as you see fit.
If your app is served off a Windows server then you can even gather up performance counter metrics from that system and include that in your real-time and post-run analysis.
Upvotes: 0
Reputation: 1208
If you want to set up a simulation, it should be pretty easy with the iMacros plugin for Firefox. Otherwise maybe create a simple app with C# WebBrowser control in a Windows form.
Upvotes: 1