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