我正在尝试对 Web 应用程序进行性能测试。执行后,我立即看到响应代码为 200 的成功消息,但当我转到响应选项卡并单击相应页面时,页面内容显示为空。
在这种情况下,我如何让 Jmeter 等到页面加载完成?
答案1
确保勾选
Retrieve All Embedded Resources
相关HTTP 请求采样器(或者更好HTTP 请求默认值),这样JMeter就会解析初始响应并下载所有相关的图像、脚本、样式、字体等。按照JMeter 项目主页:
JMeter 不是浏览器,它在协议级别工作。就 Web 服务和远程服务而言,JMeter 看起来像一个浏览器(或者更确切地说,多个浏览器);但是 JMeter 不会执行浏览器支持的所有操作。特别是,JMeter 不执行 HTML 页面中的 Javascript。它也不会像浏览器那样渲染 HTML 页面(可以将响应视为 HTML 等,但时间不包含在任何样本中,并且一次只显示一个线程中的一个样本)。
因此,如果您的页面内容部分或全部通过以下方式加载AJAX请求您需要添加 HTTP 请求采样器来模拟这些 JavaScript 驱动的调用。如果有多个调用 - 考虑将请求放在并联控制器正确模拟 AJAX 调用的异步并发特性。您要查找的响应将显示在其中一个采样器下。您可以使用以下方式安装并行控制器JMeter 插件管理器