1e41f4b71Sopenharmony_ci# @ohos.app.ability.abilityDelegatorRegistry (AbilityDelegatorRegistry)
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci**AbilityDelegatorRegistry**, a module of the automatic test framework, is used to obtain [AbilityDelegator](js-apis-inner-application-abilityDelegator.md) and [AbilityDelegatorArgs](js-apis-inner-application-abilityDelegatorArgs.md) objects. **AbilityDelegator** provides APIs for creating [AbilityMonitor](../apis-ability-kit/js-apis-inner-application-abilityMonitor.md#abilitymonitor-1) objects, which can be used to listen for ability lifecycle changes. **AbilityDelegatorArgs** provides APIs for obtaining test parameters.
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci> **NOTE**
6e41f4b71Sopenharmony_ci> 
7e41f4b71Sopenharmony_ci> The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.
8e41f4b71Sopenharmony_ci> 
9e41f4b71Sopenharmony_ci> The APIs of this module can be used only in <!--RP1-->[arkxtest](../../application-test/arkxtest-guidelines.md)<!--RP1End-->.
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ci## Modules to Import
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci```ts
14e41f4b71Sopenharmony_ciimport { abilityDelegatorRegistry } from '@kit.TestKit';
15e41f4b71Sopenharmony_ci```
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_ci## AbilityLifecycleState
18e41f4b71Sopenharmony_ci
19e41f4b71Sopenharmony_ciEnumerates the ability lifecycle states. It can be used in [getAbilityState(ability)](js-apis-inner-application-abilityDelegator.md#getabilitystate9) of [AbilityDelegator](js-apis-inner-application-abilityDelegator.md) to return different ability lifecycle states.
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 11.
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Ability.AbilityRuntime.Core
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_ci| Name         | Value  | Description                       |
26e41f4b71Sopenharmony_ci| ------------- | ---- | --------------------------- |
27e41f4b71Sopenharmony_ci| UNINITIALIZED | 0    | The ability is in an invalid state.  |
28e41f4b71Sopenharmony_ci| CREATE        | 1    | The ability is created.|
29e41f4b71Sopenharmony_ci| FOREGROUND    | 2    | The ability is running in the foreground.  |
30e41f4b71Sopenharmony_ci| BACKGROUND    | 3    | The ability is running in the background.  |
31e41f4b71Sopenharmony_ci| DESTROY       | 4    | The ability is destroyed.|
32e41f4b71Sopenharmony_ci
33e41f4b71Sopenharmony_ci## AbilityDelegatorRegistry.getAbilityDelegator
34e41f4b71Sopenharmony_ci
35e41f4b71Sopenharmony_cigetAbilityDelegator(): AbilityDelegator
36e41f4b71Sopenharmony_ci
37e41f4b71Sopenharmony_ciObtains an [AbilityDelegator](js-apis-inner-application-abilityDelegator.md) object.
38e41f4b71Sopenharmony_ci
39e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 11.
40e41f4b71Sopenharmony_ci
41e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Ability.AbilityRuntime.Core
42e41f4b71Sopenharmony_ci
43e41f4b71Sopenharmony_ci**Return value**
44e41f4b71Sopenharmony_ci
45e41f4b71Sopenharmony_ci| Type                                                        | Description                                                        |
46e41f4b71Sopenharmony_ci| ------------------------------------------------------------ | ------------------------------------------------------------ |
47e41f4b71Sopenharmony_ci| [AbilityDelegator](js-apis-inner-application-abilityDelegator.md) | [AbilityDelegator](js-apis-inner-application-abilityDelegator.md) object, which can be used to schedule the functionalities of the test framework.|
48e41f4b71Sopenharmony_ci
49e41f4b71Sopenharmony_ci**Example**
50e41f4b71Sopenharmony_ci
51e41f4b71Sopenharmony_ci```ts
52e41f4b71Sopenharmony_ciimport { abilityDelegatorRegistry } from '@kit.TestKit';
53e41f4b71Sopenharmony_ciimport { Want } from '@kit.AbilityKit';
54e41f4b71Sopenharmony_ci
55e41f4b71Sopenharmony_cilet abilityDelegator = abilityDelegatorRegistry.getAbilityDelegator();
56e41f4b71Sopenharmony_cilet want: Want = {
57e41f4b71Sopenharmony_ci  bundleName: 'com.example.myapplication',
58e41f4b71Sopenharmony_ci  abilityName: 'EntryAbility'
59e41f4b71Sopenharmony_ci};
60e41f4b71Sopenharmony_ci
61e41f4b71Sopenharmony_ciabilityDelegator.startAbility(want, (err) => {
62e41f4b71Sopenharmony_ci  if (err) {
63e41f4b71Sopenharmony_ci    console.error(`Failed start ability, error: ${JSON.stringify(err)}`);
64e41f4b71Sopenharmony_ci  } else {
65e41f4b71Sopenharmony_ci    console.log('Success start ability.');
66e41f4b71Sopenharmony_ci  }
67e41f4b71Sopenharmony_ci});
68e41f4b71Sopenharmony_ci```
69e41f4b71Sopenharmony_ci
70e41f4b71Sopenharmony_ci## AbilityDelegatorRegistry.getArguments
71e41f4b71Sopenharmony_ci
72e41f4b71Sopenharmony_cigetArguments(): AbilityDelegatorArgs
73e41f4b71Sopenharmony_ci
74e41f4b71Sopenharmony_ciObtains an [AbilityDelegatorArgs](js-apis-inner-application-abilityDelegatorArgs.md) object.
75e41f4b71Sopenharmony_ci
76e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 11.
77e41f4b71Sopenharmony_ci
78e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Ability.AbilityRuntime.Core
79e41f4b71Sopenharmony_ci
80e41f4b71Sopenharmony_ci**Return value**
81e41f4b71Sopenharmony_ci
82e41f4b71Sopenharmony_ci| Type                                                        | Description                                                        |
83e41f4b71Sopenharmony_ci| ------------------------------------------------------------ | ------------------------------------------------------------ |
84e41f4b71Sopenharmony_ci| [AbilityDelegatorArgs](js-apis-inner-application-abilityDelegatorArgs.md) | [AbilityDelegatorArgs](js-apis-inner-application-abilityDelegatorArgs.md) object, which can be used to obtain test parameters.|
85e41f4b71Sopenharmony_ci
86e41f4b71Sopenharmony_ci**Example**
87e41f4b71Sopenharmony_ci
88e41f4b71Sopenharmony_ci```ts
89e41f4b71Sopenharmony_ciimport { abilityDelegatorRegistry } from '@kit.TestKit';
90e41f4b71Sopenharmony_ci
91e41f4b71Sopenharmony_cilet args = abilityDelegatorRegistry.getArguments();
92e41f4b71Sopenharmony_ciconsole.info(`getArguments bundleName: ${args.bundleName}`);
93e41f4b71Sopenharmony_ciconsole.info(`getArguments parameters: ${JSON.stringify(args.parameters)}`);
94e41f4b71Sopenharmony_ciconsole.info(`getArguments testCaseNames: ${args.testCaseNames}`);
95e41f4b71Sopenharmony_ciconsole.info(`getArguments testRunnerClassName: ${args.testRunnerClassName}`);
96e41f4b71Sopenharmony_ci```
97