当我过去运行Appium页面对象模型代码时,它显示错误,例如“无法通过此策略定位元素:定位器地图:”

时间:2019-05-22 19:12:35

标签: appium appium-android

当我尝试运行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之后,视图也不会单击。

1 个答案:

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