gpt4 book ai didi

java - Espresso - 如何检查是否显示其中一个 View

转载 作者:IT老高 更新时间:2023-10-28 20:35:44 26 4
gpt4 key购买 nike

在我的测试中,一次操作后,可能会出现两种可能的 View ,并且它们都是正确的。如何检查是否显示了其中一个 View 。对于单个 View ,我可以使用 Displayed() 检查。但是,如果其他 View 可见,那将失败。如果显示这两个 View 中的任何一个,我都想通过测试。

onMyButton.perform(click());

onMyPageOne.check(matches(isDisplayed())); //view 1
or
onMyPageTwo.check(matches(isDisplayed())); //view 2

之后,单击 MyButton,任何一个 View (1 或 2)都应该出现,但不会同时出现。显示哪个是不固定的。如何检查是否显示其中任何一个?

最佳答案

可以像这样捕获 Espresso 引发的异常:

如果你想测试一个 View 是否在层次结构中:

try {
onView(withText("Button")).perform(click());
// View is in hierarchy

} catch (NoMatchingViewException e) {
// View is not in hierarchy
}

如果 View 在层次结构中,则会引发此异常。

有时 View 可以在层次结构中,但是我们需要测试它是否显示,所以断言还有一个异常,像这样:

try {
onView(withText("Button")).check(matches(isDisplayed()));
// View is displayed
} catch (AssertionFailedError e) {
// View not displayed
}

关于java - Espresso - 如何检查是否显示其中一个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29250506/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com