首页 > 解决方案 > 添加 filterTouchesWhenObscured="true" 后 Espresso 测试不可靠

问题描述

我想通过添加在我的根视图中实现点击劫持保护filterTouchesWhenObscured="true",但我发现它使 Espresso 点击操作不太可靠。

我的理论是这个属性会导致某些点击(似乎是测试中的第一次点击)被拦截和丢弃,但我发现很难证明这一点。当出现可疑点击时,我添加了一些代码来自动失败测试:

override fun onFilterTouchEventForSecurity(event: MotionEvent): Boolean {
  return if (event.flags and FLAG_WINDOW_IS_OBSCURED == FLAG_WINDOW_IS_OBSCURED) {
    throw RuntimeException("trying to click obscured window")
  } else { super.onFilterTouchEventForSecurity(event) }
}

...但是在我的测试套件中从未抛出 RuntimeException 。filterTouchesWhenObscured关于如何影响我的 UI 测试的任何想法?

标签: androidandroid-espressoclickjacking

解决方案


推荐阅读