用于Web应用程序的负载测试工具,其功能类似于浏览器,而不是仅在协议级别运行

问题描述 投票:0回答:1

我对Web应用程序负载测试完全陌生。我正在寻找一个工具(免费将是完美的),该工具可以为多个虚拟用户模拟实际的浏览器级操作并生成报告。另外,由于目标网页不可公开访问,因此我希望能够在本地计算机上运行这些测试。似乎大多数工具(免费和商业)都在协议级别运行。如果我理解正确,这意味着不执行任何JS,不应用CSS等。这是一个主要缺点,因为前端编写不当会对应用程序的性能(某些元素的长时间渲染等)产生巨大影响。我想模拟实际的最终用户体验。

例如,JMETER在官方网站上明确声明:

JMeter不是浏览器,它在协议级别工作。就Web服务和远程服务而言,JMeter看起来像一个浏览器(或更确切地说,多个浏览器);但是JMeter不执行浏览器支持的所有操作。特别是JMeter不执行HTML页面中的Javascript。也没有像浏览器一样呈现HTML页面

类似加特林:

但是,加特林不是浏览器:它不会运行Javascript,不会应用CSS样式并触发CSS背景图片下载,不会对UI事件等做出反应。加特林在HTTP协议级别工作。 LINK

[NeoLoad和其他一些流行工具也是如此。

NeoLoad在协议级别工作。这意味着他将重播您的HTTP请求,但在测试过程中不会像客户端浏览器那样呈现HTML页面。LINK

看来Load Runner通过TrueClient协议提供了我正在寻找的功能-缺点当然是许可证的费用。我遇到的其他一些产品(也提供类似浏览器的测试)是LoadNinja,Flood.IO和LoadView,但它们也不是免费的工具(它们也是基于Web的应用程序)。

浏览器级别的负载测试不常见,还是我缺少某些东西?也许与进行此类测试所需的资源有关?对此主题的任何建议和见解将不胜感激。

jmeter automated-tests performance-testing load-testing loadrunner
1个回答
0
投票

基于真实的浏览器,即使是无头的浏览器,要实现巨大的负载也会消耗大量的CPU和内存。您将不得不使用很多实例。这就是负载测试工具在网络级别上运行的原因,因此它们不必加载DOM,执行JavaScript并相应地修改DOM。

© www.soinside.com 2019 - 2024. All rights reserved.