在我的JAVA +黄瓜框架中,我可以灵活地通过在CLI中传递参数-Dwebdriver.base.url=
来更改基本URL。我还希望设置@DefaultUrl
也具有类似的灵活性。
要实现此目的-我将使用属性文件,如果存在此属性文件,则使用默认文件。
但是问题是:如何通过@DefaultUrl
批注中的属性文件传递URL?扩展基类的页面类不了解属性变量。
我想这样做:
@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;
}