我使用下面的代码和类使用OOO使定位器通用。
LOGIN=id:login_id
PASSWORD=xpath://pwd_xpath
public static final String = LOGIN;
我有一个接口定位器工厂
public By getLocator(String locatorelement);
我有一些类,比如IDclass实现LocatorsFactory
@Override
public By getLocator(String locatorElement) {
return By.id(locatorElement);
}
Properties p = new Properties();
public LocatorsFactoryManager (String PropertiesFilePath){
try {
p.load(new FileInputStream(PropertiesFilePath));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public String getElement(String elementName){
String element = p.getProperty(elementName);
return element;
}
public LocatorsFactory getLocator(String locatorElement){
String locator = p.getProperty(locatorElement);
String locatorType = locator.split(":")[0];
String locatorValue = locator.split(":")[1];
LocatorsFactory lf = null;
switch (locatorType.toLowerCase()){
case "id" : new IDLocatorFactory();
break;
}
我遇到的问题是如何将locatorValue传递给IDClass并使其工作,以及在为不同页面创建单独的对象类时如何调用ObjectConstant文件。