我将使用user.properties覆盖jmeter.properties中的一些属性。
在jmeter.properties中覆盖属性 summariser.out :
在jmeter.properties
中summariser.out=true
在user.properties
中summariser.out=false
在apache doc中写道:
注意:您可以在定义的文件中定义其他JMeter属性 由JMeter属性user.properties具有默认值 user.properties。如果找到该文件,将自动加载该文件 在当前目录中或在JMeter bin中找到它 目录。同样,system.properties用于更新系统 属性。
所以,我的user.properties在 / bin 中,而我在jmeter.properties中的属性 - > user.properties = user.properties。
我还尝试手动加载,如:
Properties props = new Properties();
InputStream is = getTempInputStream(userPropTempFilePath);
props.load(is);
is.close();
这一切都没有效果。
有些人想过如何在java中加载user.properties并检查属性是否已加载?
答案 0 :(得分:1)
解决方案:
String userProp = JMeterUtils.getPropDefault("user.properties", "");
if (userProp.length() > 0) {
FileInputStream fis = null;
try {
File file = JMeterUtils.findFile(userProp);
if (file.canRead()) {
log.info("Loading user properties from: "
+ file.getCanonicalPath());
fis = new FileInputStream(file);
Properties tmp = new Properties();
tmp.load(fis);
jmeterProps.putAll(tmp);
LoggingManager.setLoggingLevels(jmeterProps);//Do what would be done earlier
}
} catch (IOException e) {
log.warn("Error loading user property file: " + userProp, e);
} finally {
try {
if (fis != null) {
fis.close();
}
} catch (IOException ex) {
log.warn("There was problem closing file stream", ex);
}
}
}