我们可以使用 webDriver sampler 了解 JMeter 中每个页面的浏览器渲染时间吗?
Can we get to know Browser rendering time for each page in JMeter using webDriver sampler?
我计划对大约 220 个用户进行负载测试,客户端也需要浏览器呈现时间。所以我虽然 1 将创建一个用于负载测试的脚本,并在 JMeter 中使用 Selenium 脚本再创建一个脚本来测量渲染时间。这样在执行负载测试时,如果我也执行 selenium 脚本。它会给浏览器渲染时间。
但正如我所见,使用 Selenium 采样器,聚合报告显示端到端响应时间。如果我想知道每个页面的浏览器渲染时间,有没有办法得到细分?
您有 2 个选择:
每个“页面”使用单独的 WebDriver 采样器,例如:
或者,您可以使用 WDS.sampleResult.addSubResult
function 将“子”结果添加到单个 WebDriver Sampler 实例,示例代码类似于:
WDS.sampleResult.sampleStart()
var seleniumDev = new org.apache.jmeter.samplers.SampleResult()
seleniumDev.setSampleLabel('Selenium main page')
seleniumDev.sampleStart()
WDS.browser.get('https://selenium.dev')
seleniumDev.setResponseCodeOK()
seleniumDev.setSuccessful(true)
seleniumDev.sampleEnd()
WDS.sampleResult.addSubResult(seleniumDev)
var jmeter = new org.apache.jmeter.samplers.SampleResult()
jmeter.setSampleLabel('JMeter main page')
jmeter.sampleStart()
WDS.browser.get('https://jmeter.apache.org')
jmeter.setResponseCodeOK()
jmeter.setSuccessful(true)
jmeter.sampleEnd()
WDS.sampleResult.addSubResult(jmeter)
WDS.sampleResult.sampleEnd()
结果如下:
我计划对大约 220 个用户进行负载测试,客户端也需要浏览器呈现时间。所以我虽然 1 将创建一个用于负载测试的脚本,并在 JMeter 中使用 Selenium 脚本再创建一个脚本来测量渲染时间。这样在执行负载测试时,如果我也执行 selenium 脚本。它会给浏览器渲染时间。 但正如我所见,使用 Selenium 采样器,聚合报告显示端到端响应时间。如果我想知道每个页面的浏览器渲染时间,有没有办法得到细分?
您有 2 个选择:
每个“页面”使用单独的 WebDriver 采样器,例如:
或者,您可以使用
WDS.sampleResult.addSubResult
function 将“子”结果添加到单个 WebDriver Sampler 实例,示例代码类似于:WDS.sampleResult.sampleStart() var seleniumDev = new org.apache.jmeter.samplers.SampleResult() seleniumDev.setSampleLabel('Selenium main page') seleniumDev.sampleStart() WDS.browser.get('https://selenium.dev') seleniumDev.setResponseCodeOK() seleniumDev.setSuccessful(true) seleniumDev.sampleEnd() WDS.sampleResult.addSubResult(seleniumDev) var jmeter = new org.apache.jmeter.samplers.SampleResult() jmeter.setSampleLabel('JMeter main page') jmeter.sampleStart() WDS.browser.get('https://jmeter.apache.org') jmeter.setResponseCodeOK() jmeter.setSuccessful(true) jmeter.sampleEnd() WDS.sampleResult.addSubResult(jmeter) WDS.sampleResult.sampleEnd()
结果如下: