Добрый день! Возник довольно интересный случай: не получается передать параметры из файла .properties через хелпер( обрабатывающую обертку) в тесты. Тесты падают при запуске сразу. java+junit+webdriver
public class Main {
public static String PageOpen;
public static String Login;
public static String Pass;
public static String ContrINN;
public static void main(String[] args) {
FileInputStream fis;
Properties prop = new Properties();
try {
fis = new FileInputStream("D:/1/target/test.properties");
prop.load(fis);
param1 =prop.getProperty("PageOpen");
param2 = prop.getProperty("Login");
param3 = prop.getProperty("Pass");
param4 = prop.getProperty("ContrINN");
} catch (Exception ex){ ex.printStackTrace(); }
}
}
Это не хэлпер. Это обычный console application, который читает проперти файл в переменные и… больше ничего не делает.
Рекомендую для начала почитать, как вообще пишутся utility классы, и как к ним в последствии обращаться.
Ну тогда начните с написания полноценного хэлпера. Являясь частью большого проекта, ваш выше приведенный код будет вести себя совсем не так, как вам того бы хотелось (как в случае со standalone запуском).
Конкретный пример - это взять и написать за вас?
Вот вам приблизительный шаблон:
public final SuperImportantUtilityClass {
public static void performSomeGlobalAction(final String someData) {
System.out.println(someData);
}
public static String handleSmth(int a, int b) {
return String.valueOf(++a + --b);
}
private SuperImportantUtilityClass() {
throw new UnsupportedOperationException("Illegal access to private constructor");
}
}
Мне нравится Apache Commons Configuration. Позволяет создавать композитные конфигурации, не только для *.properties. Содержит методы получения типизированных значений, без дополнительной конвертации.