/ bin中的user.properties在JMeter中无效

时间:2017-05-12 12:35:30

标签: java jmeter

我将使用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并检查属性是否已加载?

1 个答案:

答案 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);
            }
        }
    }