android 确定按钮是否无法使用Espresso单击

42fyovps  于 2023-06-20  发布在  Android
关注(0)|答案(1)|浏览(131)

onView(withId(R.id.login_button)).check(matches(isClickable()));

用于验证按钮是否可单击。我如何验证一个按钮 * 不是 * 可点击的?
编辑:就像我说的,它只告诉我它是否isClickable。我正在寻找一种方法来验证它是不是点击。

6jjcrrmo

6jjcrrmo1#

2023更新

isNotClickable()

onView(withId(R.id.button)).check(matches(isNotClickable()))

Source

public static Matcher<View> isNotClickable() {
    return new IsClickableMatcher(false);
}

编辑-原始解决方案

使用not(),它返回一个匹配器,否定传递给它的匹配器。
您正在寻找:not( isClickable() )

onView(withId(R.id.login_button)).check(matches( not(isClickable()) ));

破解密码

onView()返回我们感兴趣的UI对象(本例中为login_button),我们在此对象上调用.check以查看Assert是否成立。
matches函数返回我们通过传入Matcher构建的Assert。isClickable()函数返回一个Matcher,我们可以给予给matches()
not()是一个Matcher,它返回一个Matcher,否定给它的逻辑。
所以这段代码检查Assertnot( isClickable() )login_button视图上是否为真。

相关问题