1# @ohos.app.ability.abilityDelegatorRegistry (AbilityDelegatorRegistry) 2 3**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. 4 5> **NOTE** 6> 7> 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. 8> 9> The APIs of this module can be used only in <!--RP1-->[arkxtest](../../application-test/arkxtest-guidelines.md)<!--RP1End-->. 10 11## Modules to Import 12 13```ts 14import { abilityDelegatorRegistry } from '@kit.TestKit'; 15``` 16 17## AbilityLifecycleState 18 19Enumerates 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. 20 21**Atomic service API**: This API can be used in atomic services since API version 11. 22 23**System capability**: SystemCapability.Ability.AbilityRuntime.Core 24 25| Name | Value | Description | 26| ------------- | ---- | --------------------------- | 27| UNINITIALIZED | 0 | The ability is in an invalid state. | 28| CREATE | 1 | The ability is created.| 29| FOREGROUND | 2 | The ability is running in the foreground. | 30| BACKGROUND | 3 | The ability is running in the background. | 31| DESTROY | 4 | The ability is destroyed.| 32 33## AbilityDelegatorRegistry.getAbilityDelegator 34 35getAbilityDelegator(): AbilityDelegator 36 37Obtains an [AbilityDelegator](js-apis-inner-application-abilityDelegator.md) object. 38 39**Atomic service API**: This API can be used in atomic services since API version 11. 40 41**System capability**: SystemCapability.Ability.AbilityRuntime.Core 42 43**Return value** 44 45| Type | Description | 46| ------------------------------------------------------------ | ------------------------------------------------------------ | 47| [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.| 48 49**Example** 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 74Obtains an [AbilityDelegatorArgs](js-apis-inner-application-abilityDelegatorArgs.md) object. 75 76**Atomic service API**: This API can be used in atomic services since API version 11. 77 78**System capability**: SystemCapability.Ability.AbilityRuntime.Core 79 80**Return value** 81 82| Type | Description | 83| ------------------------------------------------------------ | ------------------------------------------------------------ | 84| [AbilityDelegatorArgs](js-apis-inner-application-abilityDelegatorArgs.md) | [AbilityDelegatorArgs](js-apis-inner-application-abilityDelegatorArgs.md) object, which can be used to obtain test parameters.| 85 86**Example** 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