На данный момент у меня есть файл .properties для хранения настроек, связанных с фреймворком.
Пример:
default.auth.url=http://someserver-at008:8080/
default.screenshots=false
default.dumpHTML=false
И я написал класс для извлечения этих значений, и вот метод этого класса.
public static String getResourceAsStream(String defaultProp) {
String defaultPropValue = null;
//String keys = null;
try {
InputStream inputStream = SeleniumDefaultProperties.class.getClassLoader().getResourceAsStream(PROP_FILE);
Properties properties = new Properties();
//load the input stream using properties.
properties.load(inputStream);
defaultPropValue = properties.getProperty(defaultProp);
}catch (IOException e) {
log.error("Something wrong with .properties file, check the location.", e);
}
return defaultPropValue;
}
Во всем приложении я использую метод, подобный следующему, чтобы точно указать необходимое свойство:
public String getBrowserDefaultCommand() {
String bcmd = SeleniumDefaultProperties.getResourceAsStream("default.browser.command");
if(bcmd.equals(""))
handleMissingConfigProperties(SeleniumDefaultProperties.getResourceAsStream("default.browser.command"));
return bcmd;
}
Но я не решил внести изменения в это и использовать Ant и передать параметр вместо использования его из файла .properties.
Мне было интересно, как я могу передать значение в метод Java с помощью Ant. Ни один из этих классов не имеет основных методов и не будет иметь никаких основных. Из-за этого я не смог использовать системные свойства Java.