教大家一个问题,我发现 uiautomatorviewer 无法获取 android 系统自带的一个 app: 图库 (Gallery) 里面的 UI 元素,比如相册、图片等等的图标,不知道这个有没有办法解决?
不好意思,之前没附上图片,有些朋友有些误会。现在补上:
比如说我要抓取下面那个驴的图标的属性,就获取不到
。。。。
#1 楼 @lihuazhang 。。。。
#1 楼 @lihuazhang 真敬业。。
#1 楼 @lihuazhang 不是这里,你返回上个界面的分组图标看一下,比如说我要抓取下面那个驴的相册的图标
#4 楼 @actionwind 这个应该是自定义的 view 我觉得 uiautomator 没有什么办法
#4 楼 @actionwind 这是自绘 view ,没有实现 accessibility 方法,无解。
#6 楼 @chenhengjie123 有没有可能从更底层去解决呢,比如说反射机制之类的?
#8 楼 @actionwind 额,这两者没什么关系。。。本来 uiautomator 在 google 的定位就只是用来做多应用之间的简单交互。单个应用用单测或者 Espresso 之类的覆盖。
话说 uiautomator 本来就不底层啊。
建议你看下自绘 view 的一些相关信息,你就知道为啥不支持了。
#9 楼 @chenhengjie123 那用 Espresso 有没有办法解决这个问题,还有 espresso 能不能和 uiautomator 混合起来使用?
#10 楼 @actionwind 我没试过,不敢下定论。你可以试试。
至于混合起来用,建议你两个都用一下,这样你就会找到答案。
#11 楼 @chenhengjie123 因为我看官方的文档说 Espresso 是用于白盒测试的,就不怎么想去研究它了,白盒的东西,比较难搞懂
#12 楼 @actionwind 额,不算纯白盒,不过确实是要拿到代码才能做。
不明白为啥不想研究?难懂的东西不是更有研究价值嘛。
#13 楼 @chenhengjie123 嗯……,能力的问题吧。写写黑盒的测试脚本就算了。
所以是無解了嗎? 用座標的方式可以點到嗎? 隨便選一張也好啊 哈哈
点坐标 然后截图人肉验证,这算是一个解决方案不?
使用 uiautomator 获取 app 里的控件,都获取不了,有人知道是啥原因?