gpt4 book ai didi

java - 读取 JSR223 断言到 Java 代码的响应

转载 作者:行者123 更新时间:2023-12-01 16:50:53 25 4
gpt4 key购买 nike

我想从 Java 代码中读取处理后的值。我的 jmx 中有一个处理值的 jsr233 断言 ({"timestamp": 23893865465, "diff": 34}) 我想在 JMeterEngine 实例中调用 run() 命令后在我的 java 代码中读取此内容。

我尝试使用 SamplerListner 但不起作用。我如何阅读该回复。

JSR 233 断言代码:

 mport groovy.json.JsonBuilder

String totalIDs = vars.get("assetIdCount_matchNr");
Integer result = Integer.valueOf(totalIDs);
Date currentDate = new Date();
if (result > 10){
vars.put("SEARCH_SUCCESS_TIMESTAMP",currentDate.getTime().toString());
log.info("ASSET_CREATION_TIMESTAMP:" + props.get("ASSET_CREATION_TIMESTAMP"));
log.info("ASSET_CREATION_TIMESTAMPAfter:" + props.get("ASSET_CREATION_TIMESTAMP"));
log.info("SEARCH_SUCCESS_TIMESTAMP:" + vars.get("SEARCH_SUCCESS_TIMESTAMP"));
def diff = Long.valueOf(vars.get("SEARCH_SUCCESS_TIMESTAMP").toString()) - Long.valueOf(props.get("ASSET_CREATION_TIMESTAMP").toString());
def timestamp = vars.get("SEARCH_SUCCESS_TIMESTAMP");
vars.putObject("Diff", diff);
log.info(String.valueOf(diff));

def json = new JsonBuilder()
def root = json timestamp: "5241234134134", diff: "345"

def file = new File(vars.get("file_location").toString())
file.write('\n'+json.toString());
sleep 10

AssertionResult.setFailure(true);
}
<小时/>

Java代码

 StandardJMeterEngine jmeterSecondary = configJmeter(jmxFileName, argumentObject, jmeter, jMeterAssetECListnerService); //get the jmeter to run by configuring it

jmeterSecondary.run();
// I want to get the timestamp and diff here
jmeterSecondary.reset();
jmeterSecondary.exit();

提前致谢!

最佳答案

我能想到的最简单的选择是使用 System.setProperty()函数将值写入 JSR223 断言中的 Java 系统属性。

系统属性对于整个 JVM 来说是全局的,因此您将能够使用 System.getProperty() 访问它调用 jmeterSecondary.run(); 后的函数

使用示例:

enter image description here

有关不同 JMeter 属性类型及其使用方式的更多信息:Apache JMeter Properties Customization Guide

关于java - 读取 JSR223 断言到 Java 代码的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61691985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com