jmeter - 使用 JSR223 - 0 和空响应而不是实际值的 JMeter 请求
问题描述
JSR223 Sampler 中的请求可以正常工作,但这里是具有 0 和空值的 Sampler 结果和响应数据:
红色矩形中的示例结果中的指标等于 0。没有响应数据(标头和正文)可供查看。
是否有可能以某种方式获得实数而不是 0 0 0 0 0 0 用于采样器结果选项卡中的指标,并在响应数据选项卡中获得可见的响应?
解决方案
根据参考文档,您可以调用这些方法:
SampleResult.connectEnd();
SampleResult.latencyEnd();
SampleResult.sampleEnd();
SampleResult.setResponseData(driver.getPageSource(), "UTF-8");
您可以使用 SampleResult javadocs查看您的所有方法或子类或自定义类。
注意 SampleResult 是 JMeter 绑定到 element 中的变量名,而不是 class,所以:
- 不要使用 org.apache.jmeter.samplers.SampleResult 作为前缀,只需使用 SampleResult
- 不要导入 org.apache.jmeter.samplers.SampleResult
编辑(在您添加 JSR223 采样器代码之后):
要填充延迟和连接时间,请使用:
- SampleResult.setConnectTime()
- SampleResult.setLatency()
您可以使用利用Timing API的代码从Webdriver#executeScript()获取值:
long pageLoadTime= (Long)js1.executeScript("return (window.performance.timing.loadEventEnd-window.performance.timing.responseStart)");
long latency= (Long)js1.executeScript("return (window.performance.timing.responseStart-window.performance.timing.navigationStart)");
long endtoEndRespTime= (Long)js1.executeScript("return (window.performance.timing.loadEventEnd-window.performance.timing.navigationStart)");
long connectTime= (Long)js1.executeScript("return (window.performance.timing.connectEnd -window.performance.timing.connectStart)");
推荐阅读
- javascript - 在新的 Chrome 窗口中打开多个标签
- python - Python中的贝叶斯ARIMA模型
- angular - Angular Material datepicker延迟加载
- java - 以有效的方式获取所有可能的 JavaPairRDD 键组合
- css - CSS选择器:如果包含另一个div,则last-of-type不起作用
- login - 自己的组件调用 com_user login 而不调用它
- c++ - Eclipse,C++,如何打开/关闭在线解析的#define
- angular - Angular 7 的材质表有虚拟滚动吗?
- python - 使用 keras 进行文档分类 - 数字的分层序列
- php - 测试时如何在 Laravel 控制器方法中关闭 dispatch() 助手?