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

时间:2015-10-28 09:23:46

标签: java selenium junit appium

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

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

...之后我确保它没有显示,因为应用程序处于某种特殊模式。

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

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

我不想在代码中按条件定义几次,因此使用属性非常方便。

1 个答案:

答案 0 :(得分:1)

经过一番思考后我想出了以下解决方案:

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

    return true;
}

我以下列方式使用此方法:

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

我的灵感来自于this thread中的一个答案。