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

标签 java selenium junit appium

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

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

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

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

它给了我org.openqa.selenium.NoSuchElementException,但测试失败。我有什么想法可以做出这样的断言吗?

我不想在代码中多次定义“按条件”,因此使用属性很方便。

最佳答案

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

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中的一个答案的启发。 .

关于java - Appium/Selenium - 断言声明为字段的元素不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33387189/

相关文章:

java - 如何在 Selenium 中测试动态生成的元素

javascript - 使用 Selenium Webdriver 自动上传文件

c# - 将一项测试应用于两个不同的类(class)

Java .isDirectory() 在没有扩展名的文件上也返回 true

java - 将相机旋转到一个点

java - Bootstrap Popover 的 Selenium ElementNotVisibleException

java - 停止 Jmockit 中的模拟

java - OSX Snow Leopard 上 Eclipse 中的 JUnit View

Java - ResultSet 更改数据库列名称以在 JTable 中显示

java - Java路径困惑-我可能会使情况更糟