我被分配了负载测试托管新Web应用程序的Web服务器的任务。我已经将浏览器指向了应用程序并运行了Charles(或Fiddler - 取决于操作系统),并观察了正在发出的请求以及发生的频率。我想做的是现在模拟指向同一个应用程序的几个浏览器,并在登录后,空闲,比如一小时。我已经阅读了这两篇文章:
Performing a Stress Test on Web Application?
https://stackoverflow.com/questions/9703800/web-application-testing-simulating-idle-browser-time
但我担心我对性能/加载/浸泡测试仍然太新,以了解是否可以使用这些工具。看起来它们对于向服务器发出请求都很好,但我想模拟一个空闲的浏览器,用户不会明确地发出任何请求。这些请求是在用户不知情的情况下隐式发出的。
我希望这是有道理的。
任何帮助表示感谢。
答案 0 :(得分:1)
如果你想设置一个模拟,使用Firefox的iMacros插件应该很容易。否则,可以在Windows窗体中使用C#WebBrowser控件创建一个简单的应用程序。
答案 1 :(得分:0)
如果您对商业工具持开放态度,那么我想推荐Telerik's Test Studio。 (完全披露:我是该工具的传播者!)
Test Studio允许您为实际负载测试场景创建完整的用例组合。您可以使用Test Studio功能测试,Fiddler跟踪或动态捕获您自己的用例。然后,您可以组合这些用例并在它们之间构建自定义分发。
此外,您可以在IE,Firefox,Safari和Chrome之间使用各种会话。
关于您提到的暂停时间:每个用例都可以根据您的需要完全定制思考时间(延迟)。
如果您的应用程序是通过Windows服务器提供的,那么您甚至可以从该系统收集性能计数器指标,并将其包含在您的实时和运行后分析中。
答案 2 :(得分:0)
如果您只需要一些浏览器而不需要从中收集/分析数据,您可以手动执行或使用Selenium WebDriver自动执行该过程。
如果您想为大量浏览器执行此操作,或者您希望收集和分析客户端性能数据,那么您将需要查看负载测试软件。其中大多数模拟在HTTP层,而不是使用真正的浏览器。但这没关系,只要您可以捕获并模拟在没有用户干预的情况下发生的请求。根据我的经验,这并不困难,但它实际上取决于有问题的应用程序。免责声明:我为Web Performance工作。