android - 添加 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 测试的任何想法?
解决方案
推荐阅读
- for-loop - 循环通过过滤器并发送带有 PDF 的电子邮件的 Google Apps 脚本?
- drupal-8 - 其余导出视图中的 Drupal 8 段落
- c# - Nethereum C# FilterInput.GetAllChanges 始终为空
- css - 如何在 Framer Motion 中将百分比与 MotionValues 一起使用?
- haskell - 是什么导致了 cabal 中的这个模块(NumberTheory)安装错误?
- optimization - 如何使 scipy.odeint 更快?
- r - 将包含某个单词的字符串替换为该单词
- php - 如果使用 ftp_put 上传到远程服务器,则保留文件修改的时间戳
- python-3.x - 尝试/除外,返回尝试
- php - PHP脚本运行一次,即使在两台机器上