В моей среде JAVA + cucumber у меня есть возможность изменить базовый URL, передав параметр -Dwebdriver.base.url=
в CLI.Я хочу подобную гибкость, чтобы установить @DefaultUrl
также.
Чтобы добиться этого - я буду использовать файл свойств, если этот файл свойств присутствует, используйте его, в противном случае используйте файлы по умолчанию.
Но вопрос: как передать URL из файла свойств в @DefaultUrl
аннотация?Класс страницы, который расширяет базовый класс, не понимает переменную свойств.
Я хотел сделать это следующим образом:
@DefaultUrl(properties.getProperty("homepage"))
public class homePage extends BasePage {
// TO DO
}
Например,
@DefaultUrl("http://jira.mycompany.org")
@NamedUrls(
{
@NamedUrl(name = "open.issue", url = "http://jira.mycompany.org/issues/{1}")
}
)
public class JiraIssuePage extends PageObject {
...
}
У меня есть функция ниже вБазовый класс для чтения файла свойств:
public static String value(String propKey) {
if (prop == null) {
prop = new Properties();
try {
FileInputStream fis = new FileInputStream(
System.getProperty("user.dir") + "properties.properties");
properties.load(fis);
} catch (Exception e) {
e.printStackTrace();
}
}
String pvalue = properties.getProperty(propKey);
if (properties.containsKey(propKey) == false) {
logger("key not correct")
} else {
return pvalue ;
}
return pvalue;
}