如何在Selenium WebDriver Automation中将属性文件用作对象存储库?

时间:2014-10-10 06:01:57

标签: selenium-webdriver

如何在Selenium WebDriver Automation中将属性文件用作对象存储库?

我正在寻求有关设置的说明以及为实现此目的而需要采取的步骤。

2 个答案:

答案 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"));