以下のコードとクラスを使用して、OOOを使用してロケータを汎用化しています。 まず私はインターフェイスLocatorsFactoryセレンのwebdriverで一般的なロケータを作成する方法
public By getLocator(String locatorelement);
を有するwebelement.properties
LOGIN=id:login_id
PASSWORD=xpath://pwd_xpath
IはObjectConstantファイル
public static final String = LOGIN;
を有するIを有するが、このような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;
}
ファイルロード別LocatorManagerクラスは、私がIDClassにlocatorValueを渡し、それを動作させると私は別のオブジェクトクラスを作成していてどのように私はObjectConstantファイルに呼ぶならない方法です持っています異なるページのために。
「ObjectConstant」の目的は何ですか? –