Appium/Selenium-断言声明为字段的元素不显示



我以以下方式将按钮声明为字段:

@AndroidFindBy(name = "Schedule")
private WebElement calendarButton;

稍后我会确保它不会显示,因为该应用程序处于某种特殊模式。

Assert.assertFalse(this.calendarButton.isDisplayed());

它给了我org.openqa.selene.NoSuchElementException,但测试失败了。我怎么能做出这样的断言?

我不想在代码中多次定义By条件,所以使用属性很方便。

经过思考,我想出了以下解决方案:

public static boolean elementIsPresent(AndroidElement element) {
    try {
        element.isDisplayed();
    } catch (org.openqa.selenium.NoSuchElementException e) {
        return false;
    }
    return true;
}

我以以下方式使用这种方法:

Assert.assertFalse(elementIsPresent(this.calendarButton));

我被这条线索中的一个答案所启发。

最新更新