当我尝试运行Appium页面对象模型代码时,它显示类似错误
“无法通过此策略定位元素:定位器地图:”。
有时测试用例执行,有时会导致上述错误。
Login.Java:
public LoginActions(){
PageFactory.initElements(new AppiumFieldDecorator(DriverClass.getDriver()), this.loginLocators);
}
public void loadLoginPage(String username, String password) {
this.loginViscenario(username, password);
}
public void click() {
this.clickActions();
}
private void loginViscenario(String uname, String pwd) {
loginLocators.username.sendKeys(uname);
loginLocators.password.sendKeys(pwd);
//commonActions.sendKeys(loginLocators.username, uname);
//commonActions.sendKeys(loginLocators.password, pwd);
DriverClass.getDriver().manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
}
private void clickActions() {
loginLocators.login.click();
DriverClass.getDriver().manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
}
它随机抛出错误。它应该可以正常运行,并且在提供适当的xpath之后,视图也不会单击。
答案 0 :(得分:0)
在页面对象模型中,您必须添加提及其“定位器”策略的元素。 根据您的要求,在页面对象模型中添加以下元素,例如电子邮件,密码,按钮等。
//you can use id, accessibility or xpath
@AndroidFindBy(id = "element id here")
private MobileElement button1;
@AndroidFindBy(accessibility = "element id here")
private MobileElement textInput1;
public void click() {
button1.click();
}
public void enterEmail(){
textInput1.sendKeys("emailId@abc.com"):
}