1# @ohos.app.ability.abilityDelegatorRegistry (AbilityDelegatorRegistry) 2 3AbilityDelegatorRegistry是[自动化测试框架使用指南](../../application-test/arkxtest-guidelines.md)模块,该模块用于获取[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> 本模块接口仅可在[自动化测试框架arkxtest](../../application-test/arkxtest-guidelines.md)中使用。 10 11## 导入模块 12 13```ts 14import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry'; 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**系统能力** :以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core 22 23| 名称 | 值 | 说明 | 24| ------------- | ---- | --------------------------- | 25| UNINITIALIZED | 0 | 表示Ability处于无效状态。 | 26| CREATE | 1 | 表示Ability处于已创建状态。 | 27| FOREGROUND | 2 | 表示Ability处于前台状态。 | 28| BACKGROUND | 3 | 表示Ability处于后台状态。 | 29| DESTROY | 4 | 表示Ability处于已销毁状态。 | 30 31## AbilityDelegatorRegistry.getAbilityDelegator 32 33getAbilityDelegator(): AbilityDelegator 34 35获取应用程序的[AbilityDelegator](js-apis-inner-application-abilityDelegator.md)对象,该对象能够使用调度测试框架的相关功能。 36 37**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 38 39**返回值:** 40 41| 类型 | 说明 | 42| ------------------------------------------------------------ | ------------------------------------------------------------ | 43| [AbilityDelegator](js-apis-inner-application-abilityDelegator.md) | [AbilityDelegator](js-apis-inner-application-abilityDelegator.md)对象。可以用来调度测试框架相关功能。 | 44 45**示例:** 46 47```ts 48import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry'; 49import Want from '@ohos.app.ability.Want'; 50 51let abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 52 53let want: Want = { 54 bundleName: 'com.example.myapplication', 55 abilityName: 'EntryAbility' 56}; 57abilityDelegator.startAbility(want, (err) => { 58 if (err) { 59 console.error(`Failed start ability, error: ${JSON.stringify(err)}`); 60 } else { 61 console.log('Success start ability.'); 62 } 63}); 64``` 65 66## AbilityDelegatorRegistry.getArguments 67 68getArguments(): AbilityDelegatorArgs 69 70获取单元测试参数[AbilityDelegatorArgs](js-apis-inner-application-abilityDelegatorArgs.md)对象。 71 72**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 73 74**返回值:** 75 76| 类型 | 说明 | 77| ------------------------------------------------------------ | ------------------------------------------------------------ | 78| [AbilityDelegatorArgs](js-apis-inner-application-abilityDelegatorArgs.md) | [AbilityDelegatorArgs](js-apis-inner-application-abilityDelegatorArgs.md)对象。可以用来获取测试参数。 | 79 80**示例:** 81 82```ts 83import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry'; 84 85let args = AbilityDelegatorRegistry.getArguments(); 86console.info(`getArguments bundleName: ${args.bundleName}`); 87console.info(`getArguments parameters: ${JSON.stringify(args.parameters)}`); 88console.info(`getArguments testCaseNames: ${args.testCaseNames}`); 89console.info(`getArguments testRunnerClassName: ${args.testRunnerClassName}`); 90``` 91