UiAutomation vs AccessibilityService

问题描述

doc's中,它说了关于UiAutomation

用于通过模拟用户操作与设备UI进行交互的类 屏幕内容的自省。它依赖平台 可访问性API,以对屏幕进行内部检查并执行一些操作 远程视图树上的操作。它还允许注入任意 原始输入事件,模拟用户与键盘和触摸的交互 设备。可以将UiAutomation视为一种特殊的 AccessibilityService,不提供使用寿命挂钩 循环并公开其他对UI测试自动化有用的API。

此类公开的API是低级的,以最大程度地提高灵活性 在开发UI测试自动化工具和库时。通常, UiAutomation客户端应使用更高级别的库或 实施高级功能。例如,在 屏幕需要构造和上下触摸 必须通过调用将事件传送到系统 injectInputEvent(android.view.InputEvent,boolean)。

此类公开的API在各种应用程序之间运行,从而实现了 客户编写覆盖多个用例的测试 应用程序。例如,转到设置应用程序进行更改 设置,然后与其行为的另一个应用程序进行交互 取决于该设置。

UiAutomation与常规AccessibilityService的区别是什么,因为它不在source code中继承。

public final class UiAutomation {
    private static final String LOG_TAG = UiAutomation.class.getSimpleName();
    // omitted the rest...

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)