【问题标题】:selenium and web automation test: how to run large volumn stress testsselenium 和 web 自动化测试:如何运行大容量压力测试
【发布时间】:2012-07-22 22:10:03
【问题描述】:

我正在使用 selenium 和 firefox webdriver 来测试我的网站,它运行良好。唯一的问题是计算资源的限制,我只能在一台物理机上同时运行 10 个浏览器,这对于我们的测试套件来说是不够的。

最大的资源瓶颈在firefox端,它在运行时会消耗大量的RAM和CPU。我想知道是否有任何技术可以减少 RAM 和 CPU 使用率,以便在一台机器上我可以同时运行 100 个 firefox 浏览器。这将大大提高我的效率。

有什么想法吗?

【问题讨论】:

    标签: firefox selenium automation automated-tests


    【解决方案1】:

    假设你想测试服务器负载并且不依赖AJAX,你可以使用Apache Jmeter根据你指定的参数随机请求轰炸服务器。

    因为它是一个无头浏览器,只请求一些 HTTP 内容然后将其丢弃,它可以在标准桌面上轻松扩展到 100 个实例。

    【讨论】:

    • 好的,仍然可以,但需要付出更多努力 - 您必须要求它以与您的页面通常相同的方式请求 AJAX url,向请求添加 POST 数据或其他任何内容。
    • 同样,这会给服务器带来压力,但不会告诉您太多关于用户的实际加载时间,这也将涉及解析开销。
    • 这不是我想要的,实际上 ajax 非常复杂,我们不想弄乱它,谢谢 ;)
    • 很公平。在那种情况下,你看过 Selenium 网格吗? SauceLabs 允许您在云中运行大量并行硒测试,但可能很昂贵。 saucelabs.com
    【解决方案2】:

    Selenium 根本不是为性能测试而设计的。

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

    Selenium Grid 可以通过确保并行进行测试来帮助您,但这不是 Selenium 的目的,浏览器性能和 RAM 使用的瓶颈将是 Selenium 的问题。

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

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

    【讨论】:

      猜你喜欢
      • 2015-01-06
      • 1970-01-01
      • 2020-02-29
      • 2011-01-17
      • 2014-10-02
      • 1970-01-01
      • 2012-07-16
      • 1970-01-01
      • 2010-09-26
      相关资源
      最近更新 更多