是否可以在 Jmeter 中通过在浏览器中呈现页面来获得整体响应时间

Is it possible in Jmeter to get overall response time with including rendering of page in browser

提问人:ash 提问时间:9/15/2020 更新时间:9/15/2020 访问量:373

问:

我从客户那里得到一个要求,所有请求的总响应时间(端到端时间,包括在浏览器中呈现页面)应该是 3 秒。它是一个带有前端的 API。

据我所知,jmeter 处理服务器端响应时间,即使我添加了嵌入式资源,它也只是下载 java 脚本、图像等,但不充当浏览器。有什么方法可以让我获得整体响应时间(端到端时间,包括在浏览器中呈现页面)。

有人可以帮我解决这个问题吗?谢谢。。

API 浏览器 JMerter -性能测试 客户端

评论


答:

0赞 Dmitri T 9/15/2020 #1

根据 JMeter 项目主页,您不能:

JMeter 不是浏览器,它在协议级别工作。就 Web 服务和远程服务而言,JMeter 看起来像一个浏览器(或者更确切地说,多个浏览器);但是,JMeter 不会执行浏览器支持的所有操作。特别是,JMeter 不执行 HTML 页面中的 Javascript。它也不会像浏览器那样呈现 HTML 页面(可以将响应视为 HTML 等,但时间不包含在任何示例中,并且一次只显示一个线程中的一个示例)。

因此,获取客户端指标(如渲染时间)的唯一方法需要使用真实的浏览器,例如使用 WebDriver Sampler 启动一个。指标可以通过 WebDriver.executeScript() 函数Navigation Timing API 获取

评论

0赞 ash 9/17/2020
我在这里有些困惑。如果我们在jmeter中选择检索嵌入式资源,它不会给出与浏览器几乎相同的响应时间吗?如果有 API 请求,添加检索嵌入资源有意义吗?
0赞 Janesh Kodikara 9/15/2020 #2

您可以将 JMeter 插件 WebDriver Sampler 与关联的 -Driver Config 元素一起使用,以实现整体响应时间。

以下链接可能会有所帮助

  1. Web 驱动程序教程
  2. Web 驱动程序采样器