如何在Selenium WebDriver Automation中将属性文件用作对象存储库?
我正在寻求有关设置的说明以及为实现此目的而需要采取的步骤。
答案 0 :(得分:1)
创建 framework.properties 文件并以这种方式存储变量(下面是两个带有样本值的定位器)
locator1=username
locator2=password
创建一个用于加载属性文件的类。您可以使用以下代码段: 注意:Path / src / main / resources / com / framework / properties /是一个示例路径,可能会根据您的框架进行更改
public class PropertyManager {
private static final Properties PROPERTY = new Properties();
private static final String FRAMEWORKPROPERTIESPATH = "/src/main/resources/com/framework/properties/";
private static final Logger LOGGER = Logg.createLogger();
public static Properties loadPropertyFile(String propertyToLoad) {
try {
PROPERTY.load(new FileInputStream(System.getProperty("user.dir")
+ FRAMEWORKPROPERTIESPATH + propertyToLoad));
} catch (IOException io) {
LOGGER.info(
"IOException in the loadFrameworkPropertyFile() method of the PropertyManager class",
io);
Runtime.getRuntime().halt(0);
}
return PROPERTY;
}
}
如果要从属性类访问变量,请使用以下代码段:
private static final Properties LOCATORPROPERTIES = PropertyManager
.loadPropertyFile("framework.properties");
public void click() {
driver.findElement(By.id(LOCATORPROPERTIES.getProperty("locator1")));
}
答案 1 :(得分:1)
创建任何文件&使用.properties扩展名保存 例如 - 在eclipse中添加新文件通过右键单击项目>新>文件
在config.properties文件中添加以下数据并保存
Username = Jhon
Password = Qwerty123
编写以下代码以访问此文件
String filepath = "./config.properties" ; // Path of .properties file
File f = new File(filepath);
FileInputStream fs = new FileInputStream(f);
Properties pro = new Properties();
Pro.Load(fs);
pro.getProperty("Username"); // return value "Jhon" return type string
pro.getProperty("Password"); // retun value "Qwerty123" return type string
也可以使用 -
driver.findelement(By.id("user")).sendKeys(pro.getProperty("Username"));
driver.findelement(By.id("pass")).sendKeys(pro.getProperty("Password"));