Appium/Selenium - 断言声明为字段的元素未显示
Appium/Selenium - assert that element declared as field is NOT displayed
我按照以下方式将按钮声明为字段:
@AndroidFindBy(name = "Schedule")
private WebElement calendarButton;
...后来我确保它没有显示,因为应用程序处于某种特殊模式。
Assert.assertFalse(this.calendarButton.isDisplayed());
它给了我org.openqa.selenium.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));
我受到 this thread 中的一个答案的启发。
我按照以下方式将按钮声明为字段:
@AndroidFindBy(name = "Schedule")
private WebElement calendarButton;
...后来我确保它没有显示,因为应用程序处于某种特殊模式。
Assert.assertFalse(this.calendarButton.isDisplayed());
它给了我org.openqa.selenium.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));
我受到 this thread 中的一个答案的启发。