我如何将 Jmeter 用作普通浏览器?
Posted
技术标签:
【中文标题】我如何将 Jmeter 用作普通浏览器?【英文标题】:How can i use Jmeter as a normal browser? 【发布时间】:2019-12-05 09:03:28 【问题描述】:我正在使用 jmeter 进行性能测试 但是 jmeter 只接受 JS 调用他们不能像 URL 一样传递请求。 所以我的问题是我如何将 jmeter 用作普通浏览器 负载测试?
【问题讨论】:
【参考方案1】:根据JMeter project main page:
JMeter 不是浏览器,它在协议级别工作。就 Web 服务和远程服务而言,JMeter 看起来像一个浏览器(或者更确切地说,是多个浏览器);但是 JMeter 并不执行浏览器支持的所有操作。 特别是,JMeter 不执行 HTML 页面中的 Javascript。 它也不像浏览器那样渲染 html 页面(可以将响应视为 HTML 等,但不包括时间在任何样本中,并且一次只显示一个线程中的一个样本)。
如果你是正常的HTTP requests,可以configure JMeter to behave more like a real browser:
-
让 JMeter 并行下载嵌入式资源(脚本、样式、字体、图像、声音等)
添加HTTP Cache Manager 以在处理上述嵌入式资源时模仿浏览器缓存
添加HTTP Cookie Manager 代表浏览器cookie
添加HTTP Header Manager 表示浏览器标题
JMeter 不会自动启动由 javascript 触发的请求,因为它没有完整的 JavaScript 运行时,因此您必须为每个此类请求添加单独的 HTTP Request 采样器。如果您需要模拟多个 AJAX 请求 - 考虑将它们放在 Parallel Controller 下,因为浏览器同时执行 AJAX 请求
【讨论】:
以上是关于我如何将 Jmeter 用作普通浏览器?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 C++ lambda 将成员函数指针转换为普通函数指针以用作回调
在普通桌面浏览器中进行测试时,如何将 sqlite 与 cordova 一起使用?