1# @ohos.app.ability.abilityDelegatorRegistry (AbilityDelegatorRegistry) 2 3**AbilityDelegatorRegistry**, a module of the [Automatic Test Framework](../../application-test/arkxtest-guidelines.md), 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](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> The APIs provided by this module can be used only in the test framework. 9 10## Modules to Import 11 12```ts 13import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry'; 14``` 15 16## AbilityLifecycleState 17 18Enumerates 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. 19 20**System capability**: SystemCapability.Ability.AbilityRuntime.Core 21 22| Name | Value | Description | 23| ------------- | ---- | --------------------------- | 24| UNINITIALIZED | 0 | The ability is in an invalid state. | 25| CREATE | 1 | The ability is created.| 26| FOREGROUND | 2 | The ability is running in the foreground. | 27| BACKGROUND | 3 | The ability is running in the background. | 28| DESTROY | 4 | The ability is destroyed.| 29 30## AbilityDelegatorRegistry.getAbilityDelegator 31 32getAbilityDelegator(): AbilityDelegator 33 34Obtains an [AbilityDelegator](js-apis-inner-application-abilityDelegator.md) object. 35 36**System capability**: SystemCapability.Ability.AbilityRuntime.Core 37 38**Return value** 39 40| Type | Description | 41| ------------------------------------------------------------ | ------------------------------------------------------------ | 42| [AbilityDelegator](js-apis-inner-application-abilityDelegator.md#AbilityDelegator) | [AbilityDelegator](js-apis-inner-application-abilityDelegator.md#AbilityDelegator) object, which can be used to schedule the functionalities of the test framework.| 43 44**Example** 45 46```ts 47import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry'; 48import Want from '@ohos.app.ability.Want'; 49 50let abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 51 52let want: Want = { 53 bundleName: 'com.example.myapplication', 54 abilityName: 'EntryAbility' 55}; 56abilityDelegator.startAbility(want, (err) => { 57 if (err) { 58 console.error(`Failed start ability, error: ${JSON.stringify(err)}`); 59 } else { 60 console.log('Success start ability.'); 61 } 62}); 63``` 64 65## AbilityDelegatorRegistry.getArguments 66 67getArguments(): AbilityDelegatorArgs 68 69Obtains an [AbilityDelegatorArgs](js-apis-inner-application-abilityDelegatorArgs.md) object. 70 71**System capability**: SystemCapability.Ability.AbilityRuntime.Core 72 73**Return value** 74 75| Type | Description | 76| ------------------------------------------------------------ | ------------------------------------------------------------ | 77| [AbilityDelegatorArgs](js-apis-inner-application-abilityDelegatorArgs.md) | [AbilityDelegatorArgs](js-apis-inner-application-abilityDelegatorArgs.md) object, which can be used to obtain test parameters.| 78 79**Example** 80 81```ts 82import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry'; 83 84let args = AbilityDelegatorRegistry.getArguments(); 85console.info(`getArguments bundleName: ${args.bundleName}`); 86console.info(`getArguments parameters: ${JSON.stringify(args.parameters)}`); 87console.info(`getArguments testCaseNames: ${args.testCaseNames}`); 88console.info(`getArguments testRunnerClassName: ${args.testRunnerClassName}`); 89``` 90