Appium 如何获取 Android 顶部状态栏中的通知图标控件

小楼春雨 · 2015年01月31日 · 最后由 大东 回复于 2015年02月01日 · 1585 次阅读

刚从 Robotium 转向 Appium,在实际做自动化代码的过程中发现一些自身没有 Activity 的应用,尤其是一些系统级应用或服务中无法找到对应的控件,不知道 Appium 中是如何实现的.
比如我们在测试 wifi 开关是否开启时,以前在 Robotium 中是通过注册一个 Reciever 去监听系统发送的 Intent 消息,但 Appium 是基于纯 UI 的 (我暂时的理解,如有不对还请大拿们纠正),不能直接从源代码中获取相关内容,而通过 uiautomatorviewer 或 Appium 自带的 inspector 去查看无法找到顶部状态栏上显示内容的任何控件信息,请问一下在 Appium 中是如何实现抓取顶部状态栏中显示的内容呢.

共收到 2 条回复 时间 点赞

思路不对,我测 UI,不代表我验证一些状态也非要用 UI。
用这个吧,

adb shell dumpsys wifi | findstr Wi-Fi

@anikikun 感谢回复,不过对于 wifi 这个我只是举个例子,的确这些系统自带的基本功能是可以通过一些其它的方式来判断状态的变化,那如果是第三方开发的一个系统应用,没有 activity,它的功能中状态变化只是显示在顶部状态栏中,譬如,满足了 A 功能的条件,就在顶部显示一条悬浮消息"功能 A 启动",像这种情况在 Appium 中应该如何抓取条件进行验证判断呢?更进一步,该应用在启动后就在顶部状态栏显示一个图标,启动 A 功能后,该图标显示的图片发生改变,这种情况下要判断功能 A 是否正常启动只能通过图标变化来进行,那么如何抓取这个图标控件呢?

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