我正在使用 selenium 和 firefox webdriver 来测试我的网站,它运行良好。唯一的问题是计算资源的限制,我只能在一台物理机上同时运行 10 个浏览器,这对于我们的测试套件来说是不够的。
最大的资源瓶颈在firefox端,它在运行时会消耗大量的RAM和CPU。我想知道是否有任何技术可以减少 RAM 和 CPU 使用率,以便在一台机器上我可以同时运行 100 个 firefox 浏览器。这将大大提高我的效率。
有任何想法吗?
我正在使用 selenium 和 firefox webdriver 来测试我的网站,它运行良好。唯一的问题是计算资源的限制,我只能在一台物理机上同时运行 10 个浏览器,这对于我们的测试套件来说是不够的。
最大的资源瓶颈在firefox端,它在运行时会消耗大量的RAM和CPU。我想知道是否有任何技术可以减少 RAM 和 CPU 使用率,以便在一台机器上我可以同时运行 100 个 firefox 浏览器。这将大大提高我的效率。
有任何想法吗?
假设您要测试服务器负载并且不依赖 AJAX,您可以使用Apache Jmeter根据您指定的参数用随机请求轰炸服务器。
因为它是一个无头浏览器,只请求一些 HTTP 内容然后将其丢弃,它可以轻松地在标准桌面上扩展到 100 个实例。
Selenium 根本不是为性能测试而设计的。
Selenium Grid 可以通过确保并行完成测试来帮助您,但这不是创建 Selenium 的目的,浏览器性能和 RAM 使用的瓶颈将是 Selenium 的问题。
更好的解决方案是使用专门用于性能测试的应用程序。我使用了 Redgate 的解决方案以及集成到 Visual Studio 2010 中的性能测试解决方案:
http://www.red-gate.com/products/dotnet-development/ants-performance-profiler/