Appium页面对象模型@AndroidBy使用变量名而不是实际值

时间:2019-08-18 15:51:24

标签: appium

我在页面对象类中使用@AndroidBy

@AndroidBy(accessibility = "Animation")
public WebElement animationButton;

运行测试时,出现以下错误。

org.openqa.selenium.NoSuchElementException:无法通过以下策略定位元素:By.id:animationButton;

在这里有趣的是,appium正在使用错误的定位器策略(id而不是可访问性)进行查找,且变量名作为值而不是给定的实际值。 当我使用xpath或其他定位器策略时,也会发生同样的情况。

但是如果使用driver.findElementByAccessibilityId(“ Animation”)。click();可以正常工作

我不明白为什么会引发此错误。

当我将@FindBy与xpath一起使用时,可以很好地工作,但是我无法对其使用辅助功能ID。

1 个答案:

答案 0 :(得分:0)

您应该使用@AndroidFindBy而不是@AndroidBy

@AndroidFindBy(accessibility = "Animation")
public WebElement animationButton;