Blazor应用程序的基于GUI的负载测试



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

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

我们用于web应用程序测试的传统负载测试工具,如Jmeter、NeoLoad,在这里失败了,因为Blazor进行套接字调用而不是http调用。

有人能推荐一种可以在这里帮助我的工具吗。

谨致问候,Abhishek

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

但是,请注意,根据Selenium文档,这不是推荐的选项

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

主要原因是:

  • 浏览器非常耗费资源,例如Firefox 95每个实例需要1个CPU核心和2 GB RAM,因此您需要大量资源才能进行小型测试
  • 你不会得到好的指标和KPI

同时查看维基百科上的Blazor页面:

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

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

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

看起来只测试Blazor服务器是有意义的因为WebAssembly主要在客户端中运行,如果需要,你只能测试下载速度,Blazor Server依赖SignalR,SignalR主要使用WebSocket,还有JMeter的WebSocket Samplers插件,你可以用来模拟浏览器网络占用

相关内容

  • 没有找到相关文章

最新更新