AppiumFieldDecorator和AppiumElementLocatorFactory是用于将页面元素与Android或iOS应用程序绑定的工具。AppiumFieldDecorator基于PageFactory,它通过hideKeyboard和scroll这样的方法实现页面对象定位。相反,AppiumElementLocatorFactory使用预定义的定位器方法(如ByID,ByClassName等)来识别和绑定页面元素。
以下是使用AppiumFieldDecorator和AppiumElementLocatorFactory的示例代码:
使用AppiumFieldDecorator:
public class LoginPage { @AndroidFindBy(id = "username") private MobileElement usernameField;
@AndroidFindBy(id = "password")
private MobileElement passwordField;
@AndroidFindBy(id = "login_button")
private MobileElement loginButton;
public LoginPage() {
PageFactory.initElements(new AppiumFieldDecorator(DriverFactory.getDriver()), this);
}
//Methods to interact with the elements
}
使用AppiumElementLocatorFactory:
public class LoginPage { private final AppiumDriver driver;
public LoginPage(AppiumDriver driver) {
this.driver = driver;
PageFactory.initElements(new AppiumElementLocatorFactory(driver), this);
}
@AndroidFindBy(id = "username")
private MobileElement usernameField;
@AndroidFindBy(id = "password")
private MobileElement passwordField;
@AndroidFindBy(id = "login_button")
private MobileElement loginButton;
//Methods to interact with the elements
}