UiAutomator 我发现 uiautomatorviewer 无法获取图库 app 里面的 UI 元素,怎么办?

Action · 2015年12月16日 · 最后由 需求 回复于 2016年03月10日 · 4271 次阅读

教大家一个问题,我发现 uiautomatorviewer 无法获取 android 系统自带的一个 app: 图库 (Gallery) 里面的 UI 元素,比如相册、图片等等的图标,不知道这个有没有办法解决?

不好意思,之前没附上图片,有些朋友有些误会。现在补上:

比如说我要抓取下面那个驴的图标的属性,就获取不到

共收到 17 条回复 时间 点赞

。。。。
#1 楼 @lihuazhang 。。。。

#1 楼 @lihuazhang 不是这里,你返回上个界面的分组图标看一下,比如说我要抓取下面那个驴的相册的图标


@monkey @neyo

#4 楼 @actionwind 这个应该是自定义的 view 我觉得 uiautomator 没有什么办法

#4 楼 @actionwind 这是自绘 view ,没有实现 accessibility 方法,无解。

#6 楼 @chenhengjie123 有没有可能从更底层去解决呢,比如说反射机制之类的?

#5 楼 @dongdong 其实我觉得很奇怪,为什么 android 官方自带的 app 却不支持它自家的测试工具呢?有时候 google 也挺不靠谱的

#8 楼 @actionwind 额,这两者没什么关系。。。本来 uiautomator 在 google 的定位就只是用来做多应用之间的简单交互。单个应用用单测或者 Espresso 之类的覆盖。

话说 uiautomator 本来就不底层啊。

建议你看下自绘 view 的一些相关信息,你就知道为啥不支持了。

Action #10 · 2015年12月18日 Author

#9 楼 @chenhengjie123 那用 Espresso 有没有办法解决这个问题,还有 espresso 能不能和 uiautomator 混合起来使用?

#10 楼 @actionwind 我没试过,不敢下定论。你可以试试。
至于混合起来用,建议你两个都用一下,这样你就会找到答案。

Action #12 · 2015年12月18日 Author

#11 楼 @chenhengjie123 因为我看官方的文档说 Espresso 是用于白盒测试的,就不怎么想去研究它了,白盒的东西,比较难搞懂

#12 楼 @actionwind 额,不算纯白盒,不过确实是要拿到代码才能做。
不明白为啥不想研究?难懂的东西不是更有研究价值嘛。

Action #13 · 2015年12月20日 Author

#13 楼 @chenhengjie123 嗯……,能力的问题吧。写写黑盒的测试脚本就算了。

所以是無解了嗎? 用座標的方式可以點到嗎? 隨便選一張也好啊 哈哈

点坐标 然后截图人肉验证,这算是一个解决方案不?

使用 uiautomator 获取 app 里的控件,都获取不了,有人知道是啥原因?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册