阅读(2969) (10)

鸿蒙OS AbilityDelegation

2020-09-21 11:53:33 更新

应用程序的测试实用程序类。

此类提供了用于获取应用程序内部对象的方法,并且可以操作这些对象。例如,它可以控制 Ability 的生命周期调度,控制 AbilitySlice 的转换和返回以及向 UI 发送指定的输入事件。

您可以基于该类实现自己的测试类。您的测试类必须继承 AbilityTestCase 类,并且与要测试的应用程序处于同一过程中。AbilityDelegation 充当观察者,以监视应用程序的运行状态。它还可以控制应用程序的行为以模拟用户行为以进行测试。

领域摘要

修饰符和类型 领域 描述
静态整数 活性 定义活动生命周期状态。
静态整数 背景 定义背景生命周期状态。
静态整数 不活跃 定义非活动生命周期状态。
静态整数 初始 定义INITIAL生命周期状态。
静态字符串 LIB_PATH 定义包含测试用例资源的JAR包的绝对路径。
静态字符串 RUN_TEST 定义用于启动测试用例的类,该类在启动 Ability 时由 Intent 传递。
静态整数 未定义 定义未定义的生命周期状态。

构造器摘要

建设者 描述
AbilityDelegation()

方法总结

修饰符和类型 方法 描述
abstract void doAbilityActive() 将能力的生命周期状态从不活动更改为活动。
abstract void doAbilityBackground() 将能力的生命周期状态从不活动更改为背景。
abstract void doAbilityForeground意图意图) 将能力的生命周期状态从背景更改为不活动。
abstract void doAbilityInactive() 将能力的生命周期状态从活动更改为不活动。
abstract void doAbilitySliceActive() 将能力切片的生命周期状态从不活动更改为活动。
abstract void doAbilitySliceBackground() 将能力切片的生命周期状态从不活动更改为背景。
abstract void doAbilitySliceForeground意图意图) 将能力切片的生命周期状态从“背景”更改为“不活动”。
abstract void doAbilitySliceInactive() 将能力切片的生命周期状态从“活动”更改为“不活动”。
abstract void doAbilitySliceStart意图意图) 将能力切片的生命周期状态从 INITIAL 更改为 INACTIVE。
abstract void doAbilitySliceStop() 将能力切片的生命周期状态从背景更改为初始。
abstract void doAbilityStart意图意图) 将能力的生命周期状态从初始更改为不活动。
abstract void doAbilityStop() 将能力的生命周期状态从背景更改为初始。
抽象能力 getAbility() 在当前进程中获得前台的功能。
抽象能力信息 getAbilityInfo() 获取一个功能的内部 AbilityInfo 对象。
抽象列表 < AbilitySlice > getAbilitySlice字符串名称) 从当前能力中获得具有给定名称的能力切片。
抽象整数 getAbilitySliceStateAbilitySlice targetSlice) 获取能力切片的生命周期状态。
抽象整数 getAbilityState() 获得能力的生命周期状态。
抽象列表 < AbilitySlice > getAllAbilitySlice() 获取当前能力中包含的所有能力切片。
抽象AbilitySlice getCurrentAbilitySlice() 在当前能力中获得前景能力切片。
抽象能力 getCurrentTopAbility() 返回此应用程序的顶级功能
抽象意图 getIntent() 获取包含有关当前功能的启动信息的 Intent 对象。
abstract void 输出字符串msg) 打印出测试用例执行的详细信息。
abstract void runOnUIThreadSyncRunnable的任务) 在 UI 线程上执行同步任务。
抽象布尔 triggerClickEvent组件视图) 触发单击事件,并将其发送到指定的 UI 组件以模拟用户输入。
抽象布尔 triggerKeyEventKeyEvent 键) 触发按键事件并将其发送到前台功能。
抽象布尔 triggerTouchEventTouchEvent touchEvent) 触发触摸事件并将其发送到前台功能。
从类 java.lang 继承的方法。目的
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

领域细节

活性

public static final int 活动

定义活动生命周期状态。

也可以看看:

常数栏位值

背景

公共静态最终int背景

定义背景生命周期状态。

也可以看看:

常数栏位值

不活跃

公共静态最终诠释 INACTIVE

定义非活动生命周期状态。

也可以看看:

常数栏位值

初始

公共静态最终诠释 INITIAL

定义 INITIAL 生命周期状态。

也可以看看:

常数栏位值

LIB_PATH

公共静态最终字符串 LIB_PATH

定义包含测试用例资源的JAR包的绝对路径。当能力开始时,路径由意图传递 。

也可以看看:

常数栏位值

RUN_TEST

公共静态最终字符串 RUN_TEST

定义用于启动测试用例的类,该类在启动 Ability 时由 Intent 传递 。

也可以看看:

常数栏位值

未定义

public static final int 未定义

定义未定义的生命周期状态。

也可以看看:

常数栏位值

构造器详细信息

能力委托

公共能力委托()

方法细节

runOnUIThreadSync

公共抽象无效 runOnUIThreadSync(Runnable的任务)

在 UI 线程上执行同步任务。

应该调用此方法来执行必须在 UI 线程上执行的操作,例如,窗口上的操作。

参数:

参数名称 参数说明
任务 指示要在 UI 线程上执行的任务。

输出

公共抽象无效输出(String msg)

打印出测试用例执行的详细信息。

您可以调用此方法以打印出一些有关测试用例执行的必要信息,例如测试时间和结果。

参数:

参数名称 参数说明
msg 指示测试用例执行的详细信息。

获得意图

公共抽象意图 getIntent()

获取包含有关当前功能的启动信息的 Intent 对象。

Intent 对象包含与在功能启动时设置的参数和属性匹配的键,例如功能名称和模板类型。您可以调用此方法以获取 Intent 对象,然后使用 Intent 提供的方法获取所需的启动信息。

返回值:

返回包含能力启动信息的 Intent 对象。

获得当前能力切片

公共抽象 AbilitySlice getCurrentAbilitySlice()

在当前能力中获得前景能力切片。

一个功能可能包含多个功能片。您可以调用此方法以获得当前在前台的能力切片。要在后台获取能力切片,请使用getAbilitySlice(java.lang.String)方法。

返回值:

返回前景中的异能切片。

也可以看看:

getAbilitySlice(String)getAllAbilitySlice()

获得能力切片

公共摘要列表 < AbilitySlice > getAbilitySlice(字符串名称)

从当前能力中获得具有给定名称的能力切片。

一个功能可能包含多个具有相同名称的功能片。您可以调用此方法以获取具有指定名称的能力切片实例。请注意,只能获得实例化的对象。如果未实例化指定的类,则返回一个空列表。获取 AbilitySlice 对象后,可以调用其所有外部方法。

参数:

参数名称 参数说明
名称 待获取的能力切片的全名,例如:com.huawei.hiworld.MyAbilitySlice。

返回值:

返回具有给定名称的能力切片列表;如果找不到能力切片,则返回一个空列表。

获得全能切片

公共摘要列表 < AbilitySlice > getAllAbilitySlice()

获取当前能力中包含的所有能力切片。

返回值:

返回所有能力切片的列表;如果找不到能力切片,则返回一个空列表。

获得能力切片状态

公共抽象 int getAbilitySliceState(AbilitySlice targetSlice)

获取能力切片的生命周期状态。

参数:

参数名称 参数说明
targetSlice 指示目标能力切片。

返回值:

返回能力切片的生命周期状态,可以是 INITIAL(0),INACTIVE(1),ACTIVE(2)或 Background(3)。

做能力切片开始

公共抽象 void doAbilitySliceStart(Intent intent)

将能力切片的生命周期状态从 INITIAL 更改为 INACTIVE。

参数:

参数名称 参数说明
意图 指示能力切片开始时携带的信息。

做能力切片

公共抽象无效 doAbilitySliceActive()

将能力切片的生命周期状态从不活动更改为活动。

做能力切片无效

公共抽象无效 doAbilitySliceInactive()

将能力切片的生命周期状态从“活动”更改为“不活动”。

做能力切片背景

公共抽象无效 doAbilitySliceBackground()

将能力切片的生命周期状态从不活动更改为背景。

做能力切片前景

公共抽象 void doAbilitySliceForeground(Intent intent)

将能力切片的生命周期状态从“背景”更改为“不活动”。

参数:

参数名称 参数说明
意图 指示能力切片开始时携带的信息。

做能力切片停止

公共抽象无效 doAbilitySliceStop()

将能力切片的生命周期状态从背景更改为初始。

获得能力

公共抽象能力 getAbility()

在当前进程中获得前台的功能。获得此功能后,可以调用其所有外部方法。

要获取流程中的其他能力,请使用 Ability#startAbility(Intent)方法启动目标能力,然后调用此方法来获取它们。

返回值:

返回前景中的异能。

获得能力状态

公共抽象int getAbilityState()

获得能力的生命周期状态。

返回值:

返回功能的生命周期状态,可以是INITIAL(0),INACTIVE(1),ACTIVE(2)或Background(3)。

获得能力信息

公共抽象AbilityInfo getAbilityInfo()

获取一个功能的内部 AbilityInfo对象。

AbilityInfo对象包含有关能力的信息,包括捆绑包名称,类名称和类型。

返回值:

返回功能的内部AbilityInfo对象。

做能力开始

公共抽象void doAbilityStart(Intent intent)

将能力的生命周期状态从初始更改为不活动。

参数:

参数名称 参数说明
意图 指示该功能启动时携带的信息。

做能力活跃

公共抽象无效 doAbilityActive()

将能力的生命周期状态从不活动更改为活动。

做能力不活跃

公共抽象无效 doAbilityInactive()

将能力的生命周期状态从活动更改为不活动。

做能力背景

公共抽象无效 doAbilityBackground()

将能力的生命周期状态从不活动更改为背景。

做能力前景

公共抽象 void doAbilityForeground(Intent intent)

将能力的生命周期状态从背景更改为不活动。

参数:

参数名称 参数说明
意图 指示该功能启动时携带的信息。

做能力停止

公共抽象无效 doAbilityStop()

将能力的生命周期状态从背景更改为初始。

触发点击事件

公共抽象 boolean triggerClickEvent(组件视图)

触发单击事件,并将其发送到指定的 UI 组件以模拟用户输入。

参数:

参数名称 参数说明
视图 指示 UI 组件,可以是按钮或图像。

返回值:

如果事件已消耗,则返回 true;否则,返回 false。否则返回 false。

触发按键事件

公共抽象布尔布尔 TriggerKeyEvent(KeyEvent 键)

触发按键事件并将其发送到前台功能。

参数:

参数名称 参数说明
指示键事件的类型。目前只有Back事件可用。

返回值:

如果事件已消耗,则返回true;否则,返回false。否则返回false。

触发触摸事件

公共抽象布尔触发器触发事件(TouchEvent touchEvent)

触发触摸事件并将其发送到前台功能。

参数:

参数名称 参数说明
touchEvent 指定坐标和事件类型,例如 ACTION_DOWN 或 ACTION_UP。

返回值:

如果事件已消耗,则返回 true;否则,返回 false。否则返回 false。

获得当前的最高能力

公共抽象能力 getCurrentTopAbility()

返回此应用程序的顶级功能

返回值:

返回此应用程序的顶级功能。