测量 GUI Web 应用程序的负载或性能测试

Measure load or performance testing of GUI web applications

我们正在使用 JMeter 执行 API 负载测试。如果要在具有 JavaScript 渲染的 Web 应用程序上执行负载或压力测试,可以使用 JMeter with Selenium only 选项或任何其他选项,例如 Selenium 功能测试与任何性能工具集成。

求推荐。

已经through/referred回答了这个问题: How to approach "end-client" performance testing on single-page (web) applications?

您可以选择使用 Selenium,但使用基于 selenium 的测试很难产生高负载。您可以选择 运行 两个并行的性能测试

  1. 后端性能测试:使用它在后端注入负载。使用 JMeter proxy 记录旅程步骤的网络流量。去掉与负载测试无关的第三方和静态url。

  2. 前端性能测试:使用它来衡量最终用户的影响。在此测试中使用 1 - 5 个虚拟用户。在这种情况下生成负载并不重要,因此在这种情况下您可以使用少量虚拟用户。您可以使用基于 selenium 的负载测试、webpagetest.org 或类似工具。

这种方法比基于 selenium 的性能测试更有效,因为基于 selenium 的负载测试需要非常大量的计算资源才能扩展。

如果你使用 taurus 来 运行 你的 perf 测试那么它应该更容易 运行 使用 bzt scenario1.jmx scenario2.jmx 并行两个 JMeter 测试]

希望对您有所帮助。

根据您要实现的目标以及您拥有多少机器功率,您可以考虑:

  1. 运行 Selenium 使用 Selenium Grid 并行测试,但在这种情况下:

    • 您需要确保有足够的 CPU、RAM 等,即 Firefox 72 每个浏览器实例需要 1 CPU 和 2 GB RAM
    • 您将没有 HTTP protocol 特定指标(连接时间、第一个字节的时间、最后一个字节的时间等)和负载测试特定指标(随时间变化的活动线程、每秒事务数等)
  2. 使用 JMeter HTTP 请求采样器进行主要负载(只需确保正确 configure JMeter to behave like a real browser) and have 1-2 threads running WebDriver Sampler to collect client-side performance metrics i.e from Performance object