【问题标题】:GUI based load testing for Blazor ApplicationBlazor 应用程序的基于 GUI 的负载测试
【发布时间】:2022-01-07 02:47:16
【问题描述】:

Blazor 是我们用来构建 Blazor 应用程序的一项新的 Microsoft 技术。

我们想做基于 GUI 的性能测试,模拟登录等用户操作。

我们用于 Web 应用测试的 Jmeter、NeoLoad 等传统负载测试工具在此处失败,因为 Blazor 使用套接字调用而不是 http 调用。

谁能在这里推荐一个可以帮助我的工具。

问候, 阿布舍克

【问题讨论】:

  • 如果您使用的是 WebAssembly,那么只有使用纯 HTTP 请求测试 API 才有意义。如果您使用的是 Blazor Server,那么它会更复杂,请参阅@Dmitry T 的答案。不过,我建议您将 Playwright 与无头浏览器一起使用,而不是 Selenium WebDriver。

标签: blazor performance-testing


【解决方案1】:

好吧,如果您真的想使用基于 GUI 的工具进行负载测试,最明显的选择是 Selenium 浏览器自动化框架。有 WebDriver Sampler 插件提供 JMeter 与 Selenium 的集成。

但请注意,根据Selenium documentation,不推荐使用此选项

通常不建议使用 Selenium 和 WebDriver 进行性能测试。不是因为它没有能力,而是因为它没有针对工作进行优化,你不太可能得到好的结果。

主要原因是:


也在调查Blazor page at Wikipedia

已经发布了五个不同版本的 Blazor 应用程序。

  • Blazor 服务器:这些应用程序以 ASP.NET Razor 格式托管在 ASP.NET Core 服务器上。远程客户端充当瘦客户端,这意味着大部分处理负载在服务器上。客户端的 Web 浏览器下载一个小页面并通过 SignalR 连接更新其 UI。 Blazor Server 作为 .NET Core 3 的一部分发布。
  • Blazor WebAssembly:运行前下载到客户端 Web 浏览器的单页应用程序。下载的大小比 Blazor Server 大,取决于应用程序,并且处理完全在客户端硬件上完成。然而,这种应用类型享有快速的响应时间。顾名思义,这个客户端框架是用 WebAssembly 编写的,而不是 JavaScript(虽然它们可以一起使用)。

Microsoft 计划发布 Blazor PWA 和 Blazor Hybrid 版本。前者支持渐进式 Web 应用程序 (PWA)。后者是一个平台原生框架(与 Web 框架相反),但仍使用 Web 技术(例如 HTML 和 CSS)呈现用户界面。第三种,Blazor Native - 呈现平台原生用户界面的平台原生框架 - 也已被考虑但尚未达到规划阶段。

似乎只测试 Blazor 服务器 是有意义的,因为 WebAssembly 主要在客户端中运行,如果需要,您可以仅测试下载速度,并且 Blazor 服务器依赖于 SignalR,其中轮到它主要使用WebSocket,还有WebSocket Samplers plugin for JMeter可以用来模拟浏览器网络足迹

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-10
    • 2017-07-11
    • 2015-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多