1# @ohos.app.ability.abilityDelegatorRegistry (AbilityDelegatorRegistry)
2
3AbilityDelegatorRegistry是自动化测试框架使用指南模块,该模块用于获取[AbilityDelegator](js-apis-inner-application-abilityDelegator.md)和[AbilityDelegatorArgs](js-apis-inner-application-abilityDelegatorArgs.md)对象,其中[AbilityDelegator](js-apis-inner-application-abilityDelegator.md)对象提供添加用于监视指定ability的生命周期状态更改的[AbilityMonitor](../apis-ability-kit/js-apis-inner-application-abilityMonitor.md#abilitymonitor-1)对象的能力,[AbilityDelegatorArgs](js-apis-inner-application-abilityDelegatorArgs.md)对象提供获取当前测试参数的能力。
4
5> **说明:**
6>
7> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8>
9> 本模块接口仅可在<!--RP1-->[自动化测试框架arkxtest](../../application-test/arkxtest-guidelines.md)<!--RP1End-->中使用。
10
11## 导入模块
12
13```ts
14import { abilityDelegatorRegistry } from '@kit.TestKit';
15```
16
17## AbilityLifecycleState
18
19Ability生命周期状态,该类型为枚举,可配合[AbilityDelegator](js-apis-inner-application-abilityDelegator.md)的[getAbilityState(ability)](js-apis-inner-application-abilityDelegator.md#getabilitystate9)方法返回不同ability生命周期。
20
21**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
22
23**系统能力** :以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
24
25| 名称          | 值   | 说明                        |
26| ------------- | ---- | --------------------------- |
27| UNINITIALIZED | 0    | 表示Ability处于无效状态。   |
28| CREATE        | 1    | 表示Ability处于已创建状态。 |
29| FOREGROUND    | 2    | 表示Ability处于前台状态。   |
30| BACKGROUND    | 3    | 表示Ability处于后台状态。   |
31| DESTROY       | 4    | 表示Ability处于已销毁状态。 |
32
33## abilityDelegatorRegistry.getAbilityDelegator
34
35getAbilityDelegator(): AbilityDelegator
36
37获取应用程序的[AbilityDelegator](js-apis-inner-application-abilityDelegator.md)对象,该对象能够使用调度测试框架的相关功能。
38
39**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
40
41**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
42
43**返回值:**
44
45| 类型                                                         | 说明                                                         |
46| ------------------------------------------------------------ | ------------------------------------------------------------ |
47| [AbilityDelegator](js-apis-inner-application-abilityDelegator.md) | [AbilityDelegator](js-apis-inner-application-abilityDelegator.md)对象。可以用来调度测试框架相关功能。 |
48
49**示例:**
50
51```ts
52import { abilityDelegatorRegistry } from '@kit.TestKit';
53import { Want } from '@kit.AbilityKit';
54
55let abilityDelegator = abilityDelegatorRegistry.getAbilityDelegator();
56let want: Want = {
57  bundleName: 'com.example.myapplication',
58  abilityName: 'EntryAbility'
59};
60
61abilityDelegator.startAbility(want, (err) => {
62  if (err) {
63    console.error(`Failed start ability, error: ${JSON.stringify(err)}`);
64  } else {
65    console.log('Success start ability.');
66  }
67});
68```
69
70## abilityDelegatorRegistry.getArguments
71
72getArguments(): AbilityDelegatorArgs
73
74获取单元测试参数[AbilityDelegatorArgs](js-apis-inner-application-abilityDelegatorArgs.md)对象。
75
76**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
77
78**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
79
80**返回值:**
81
82| 类型                                                         | 说明                                                         |
83| ------------------------------------------------------------ | ------------------------------------------------------------ |
84| [AbilityDelegatorArgs](js-apis-inner-application-abilityDelegatorArgs.md) | [AbilityDelegatorArgs](js-apis-inner-application-abilityDelegatorArgs.md)对象。可以用来获取测试参数。 |
85
86**示例:**
87
88```ts
89import { abilityDelegatorRegistry } from '@kit.TestKit';
90
91let args = abilityDelegatorRegistry.getArguments();
92console.info(`getArguments bundleName: ${args.bundleName}`);
93console.info(`getArguments parameters: ${JSON.stringify(args.parameters)}`);
94console.info(`getArguments testCaseNames: ${args.testCaseNames}`);
95console.info(`getArguments testRunnerClassName: ${args.testRunnerClassName}`);
96```
97
98## AbilityDelegator
99
100type AbilityDelegator = _AbilityDelegator
101
102AbilityDelegator模块。
103
104**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
105
106**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
107
108| 类型 | 说明 |
109| --- | --- |
110| [_AbilityDelegator](js-apis-inner-application-abilityDelegator.md) | AbilityDelegator模块。 |
111
112## AbilityDelegatorArgs
113
114type AbilityDelegatorArgs = _AbilityDelegatorArgs
115
116AbilityDelegatorArgs模块。
117
118**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
119
120**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
121
122| 类型 | 说明 |
123| --- | --- |
124| [_AbilityDelegatorArgs](js-apis-inner-application-abilityDelegatorArgs.md) | AbilityDelegatorArgs模块。 |
125
126## AbilityMonitor
127
128type AbilityMonitor = _AbilityMonitor
129
130AbilityMonitor模块。
131
132**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
133
134**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
135
136| 类型 | 说明 |
137| --- | --- |
138| [_AbilityMonitor](../apis-ability-kit/js-apis-inner-application-abilityMonitor.md) | AbilityMonitor模块。 |
139
140## ShellCmdResult
141
142type ShellCmdResult = _ShellCmdResult
143
144ShellCmdResult模块。
145
146**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
147
148**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
149
150| 类型 | 说明 |
151| --- | --- |
152| [_ShellCmdResult](js-apis-inner-application-shellCmdResult.md) | ShellCmdResult模块。 |
153
154## AbilityStageMonitor<sup>14+</sup>
155
156type AbilityStageMonitor = _AbilityStageMonitor
157
158AbilityStageMonitor模块。
159
160**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。
161
162**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
163
164| 类型 | 说明 |
165| --- | --- |
166| [_AbilityStageMonitor](../apis-ability-kit/js-apis-inner-application-abilityStageMonitor.md) | AbilityStageMonitor模块。 |
167