android - 在 Android 测试中,如何检查是否显示了 View ?

标签 android unit-testing user-interface

我正在编写一个 UI 测试用例(使用 ActivityUnitTestCase),并想检查在给定时间某个 View 子类是否对用户可见。我找到了 View#isShown() 方法,它声称正是这样做的——检查这个元素及其所有父元素的可见性字段——但不知何故它总是为所有元素返回“false” .我会很感激一些帮助。如果它更容易,我可以粘贴一些代码。

此外,我发现 ViewAsserts#assertOnScreen(View origin, View view) 但它似乎也没有做正确的事情 - 总是返回 true。我是不是说错了:assertOnScreen(viewImTesting.getRootView(), viewImTesting)?

谢谢, 简

最佳答案

我找到了一个明智的解决方法:只检查 View#getVisibility()View#VISIBLEVIEW#INVISIBLE查看#GONE

例如,这可能不起作用。父 View 不可见,但此 View 的可见性设置为 VISIBLE,但在大多数情况下它应该足够了。

关于android - 在 Android 测试中,如何检查是否显示了 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4922764/

相关文章:

javascript - React 测试 componentWillReceiveProps

html - CSS定位面板问题

android - 如何控制不同Android版本/手机型号菜单的宽度?

java - uri.getQueryParameter() 返回空值

android - 如何以编程方式删除我自己的自定义损坏日历?

java - Android中从web异步加载图片到gridview

architecture - 面向对象 : Can an interface implement another interface?

android - Android 4 上的 Material 设计 ListView

.net - 在 Silverlight 单元测试中等待事件触发

java - 无法在我的android项目上模拟对象