Selenium和Web自动化测试:如何运行大容量压力测试

4
我正在使用selenium和firefox webdriver测试我的网站,它工作得很好。唯一的问题是计算资源限制,我只能在一个物理机器上同时运行10个浏览器,这对我们的测试套件来说不够。
大的资源瓶颈在于firefox方面,当它在运行时会消耗大量的RAM和CPU。我想知道是否有任何技术可以减少RAM和CPU的使用,以便在一台机器上同时运行100个firefox浏览器。这将极大地提高我的效率。
有什么想法吗?
2个回答

3
假设您想测试服务器负载而不依赖 AJAX,则可以使用 Apache Jmeter根据您指定的参数向服务器发送随机请求来进行测试。
由于它是一个无头浏览器,只是请求一些HTTP内容然后将其丢弃,因此可以在标准桌面上轻松扩展到100个实例。

好的,仍然有可能,但需要更多努力 - 你必须请求与你的网页通常相同的 AJAX URL,并添加 POST 数据或其他内容。 - Matt Gibson
这将再次强调服务器,但不会告诉您用户的实际加载时间,这也涉及解析开销。 - Matt Gibson
这不是我想要的,实际上Ajax非常复杂,我们不想搞砸它,谢谢;) - Bin Chen
好的。在这种情况下,你有没有看过Selenium Grid?SauceLabs允许你在云端运行大量并行的Selenium测试,但可能会比较昂贵。http://saucelabs.com/ - Matt Gibson

3

Selenium并不是专门设计用于性能测试的,一点也不。

http://selenium-grid.seleniumhq.org/faq.html#would_you_recommend_using_selenium_grid_for_performanceload_testing

Selenium Grid可以通过确保测试同时运行来帮助您,但这并不是Selenium创建的目的,浏览器性能和内存使用率瓶颈将成为Selenium的问题。

更好的解决方案是使用专门用于性能测试的应用程序。我使用过Redgate的解决方案以及集成到Visual Studio 2010中的性能测试解决方案:

http://www.red-gate.com/products/dotnet-development/ants-performance-profiler/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接