apache - 无法使用 Apache JMeter 在浏览器中获取指纹
问题描述
我使用 Apache JMeter 3.X 版进行了性能测试。
在其中一个步骤中,我无法获取浏览器指纹值。我收到 NULL 值,它导致我的程序被终止。
但是当我使用普通浏览器时,它可以找到。
Apache JMeter 是否有无法获取浏览器指纹值的限制?
解决方案
- 首先请注意,建议使用最新版本的 JMeter,因此请考虑升级到JMeter 5.2 (或JMeter 下载页面上提供的最新稳定版本)
关于“指纹”本身,根据JMeter 项目的主页:
JMeter 不是浏览器,它在协议级别工作。就 Web 服务和远程服务而言,JMeter 看起来像一个浏览器(或者更确切地说,是多个浏览器);但是JMeter 并不执行浏览器支持的所有操作。特别是,JMeter 不执行 HTML 页面中的 Javascript。它也不像浏览器那样呈现 HTML 页面(可以将响应视为 HTML 等,但时间不包含在任何示例中,并且一次只显示一个线程中的一个示例)。
所以你需要调查这个“指纹”检查的逻辑,你可以让 JMeter 在某种程度上表现得像一个真正的浏览器,比如:
- 使用HTTP Cookie Manager来表示浏览器 cookie
- 使用HTTP Header Manager至少发送普通浏览器发送的 User-Agent 和其他 headers
- 等等
但是,如果“指纹”检查依赖于 JavaScript,您将需要使用JSR223 测试元素重新实现相同的 JavaScript
主要规则是:JMeter 的网络足迹必须与真实浏览器的网络足迹完全相同(除了需要关联的动态值),如果您将使用 JMeter 发送正确的请求 - 您的被测系统将看不到区别。
推荐阅读
- microservices - JHipster 微服务集中化,不使用 Docker compose 或任何 Docker 容器,需要帮助
- unicode - 我应该使用哪种字体来显示所有汉字?
- pandas - 熊猫在乘法列上
- java - 使用 YUM 在 RHEL7 上 3 个不同的 Openjkds
- asp.net-core - SignalR HubContext 仅发送到一个客户端
- ios - UserNotifications related events
- c# - ASP.NET Core Razor 页面:将 html 内容写入新的浏览器选项卡?
- r - R:定义连续值的起始条件
- java - 显示整个文本后,是否可以使 TextView 选取框停止并反转?
- c - 我的 Visual Studio 代码中的可执行文件被 McAfee 自动删除,说它在其中检测到病毒