【问题标题】:Performance/Load test using selenium webdriver prerecorded steps使用 selenium webdriver 预先录制的步骤进行性能/负载测试
【发布时间】:2018-01-06 17:39:56
【问题描述】:

我一直使用 selenium webdriver 作为我进行功能测试的主要方法。到目前为止,它与我们的产品配合得很好。

我需要在网站上进行一些性能和/或负载测试,我想知道是否有一个工具可以整合我的 selenium 测试,或者我可以将记录的测试用作基础的工具。

目前我正在使用带有 C# 的 selenium webdriver

感谢任何帮助。

【问题讨论】:

  • 最好的选择,恕我直言,使用 Apache Jmeter 记录和回放性能测试。 Jmeter 有一个 webdriver 插件来记录 EUX(最终用户体验),但它不支持记录的 Selenium IDE webdriver 脚本。

标签: selenium testing performance-testing load-testing


【解决方案1】:

假设您有用 C# 编写的测试,最明显的方法是使用 Visual Studio Load Testing 功能。

如果您正在寻找免费的开源解决方案,我建议您选择Apache JMeter。 JMeter 通过WebDriver Sampler plugin 与 Selenium 集成,因此您应该能够以多线程方式运行 Selenium 测试。但是,您需要将 C# 代码转换为 WebDriver Sampler 支持的语言之一(默认为 JavaScript)

请记住,Selenium 测试非常耗费资源,因为真正的浏览器会消耗大量 CPU/RAM,因此您可以通过这种方式模拟的虚拟用户数量非常有限。因此推荐的方法是在 HTTP 协议级别上创建主要负载,并在应用程序处于负载下时使用一个 Selenium 实例来检查渲染速度。

您可以使用JMeter Plugins Manager 安装 WebDriver Sampler 插件。

【讨论】:

  • 感谢 Man the Jmeter with selenium 听起来是一个了不起的解决方案。我要试试。我已经尝试过 VS 负载测试,但它并没有真正适合我,因为使用 selenium 它会打开许多​​浏览器,类似于您希望与之进行测试的用户数量。例如:如果对 50 个用户进行测试,那么将打开 50 个浏览器。我的机器太重了。
【解决方案2】:

为什么需要运行完整的浏览器。 HTTP 层测试要简单得多?您还应该只查看性能中产生大量负载的业务流程的子集。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-09
    • 2023-03-29
    • 2021-08-09
    • 1970-01-01
    • 2019-12-26
    • 2012-06-06
    相关资源
    最近更新 更多