• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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对象的能力,[AbilityDelegatorArgs](js-apis-inner-application-abilityDelegatorArgs.md)对象提供获取当前测试参数的能力。
4
5> **说明:**
6>
7> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8> 本模块接口仅可在测试框架中使用。
9
10## 导入模块
11
12```ts
13import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
14```
15
16## AbilityLifecycleState
17
18Ability生命周期状态,该类型为枚举,可配合[AbilityDelegator](js-apis-inner-application-abilityDelegator.md)的[getAbilityState(ability)](js-apis-inner-application-abilityDelegator.md#getabilitystate9)方法返回不同ability生命周期。
19
20**系统能力** :以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
21
22| 名称          | 值   | 说明                        |
23| ------------- | ---- | --------------------------- |
24| UNINITIALIZED | 0    | 表示Ability处于无效状态。   |
25| CREATE        | 1    | 表示Ability处于已创建状态。 |
26| FOREGROUND    | 2    | 表示Ability处于前台状态。   |
27| BACKGROUND    | 3    | 表示Ability处于后台状态。   |
28| DESTROY       | 4    | 表示Ability处于已销毁状态。 |
29
30## AbilityDelegatorRegistry.getAbilityDelegator
31
32getAbilityDelegator(): AbilityDelegator
33
34获取应用程序的[AbilityDelegator](js-apis-inner-application-abilityDelegator.md)对象,该对象能够使用调度测试框架的相关功能。
35
36**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
37
38**返回值:**
39
40| 类型                                                         | 说明                                                         |
41| ------------------------------------------------------------ | ------------------------------------------------------------ |
42| [AbilityDelegator](js-apis-inner-application-abilityDelegator.md#AbilityDelegator) | [AbilityDelegator](js-apis-inner-application-abilityDelegator.md#AbilityDelegator)对象。可以用来调度测试框架相关功能。 |
43
44**示例:**
45
46```ts
47import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
48
49let abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
50
51let want = {
52    bundleName: 'com.ohos.example',
53    abilityName: 'MainAbility'
54};
55abilityDelegator.startAbility(want, (err) => {
56    if (err.code !== 0) {
57        console.log('Success start ability.');
58    } else {
59        console.log('Failed start ability, error: ' + JSON.stringify(err));
60    }
61})
62```
63
64## AbilityDelegatorRegistry.getArguments
65
66getArguments(): AbilityDelegatorArgs
67
68获取单元测试参数[AbilityDelegatorArgs](js-apis-inner-application-abilityDelegatorArgs.md)对象。
69
70**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
71
72**返回值:**
73
74| 类型                                                         | 说明                                                         |
75| ------------------------------------------------------------ | ------------------------------------------------------------ |
76| [AbilityDelegatorArgs](js-apis-inner-application-abilityDelegatorArgs.md) | [AbilityDelegatorArgs](js-apis-inner-application-abilityDelegatorArgs.md)对象。可以用来获取测试参数。 |
77
78**示例:**
79
80```ts
81import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
82
83let args = AbilityDelegatorRegistry.getArguments();
84console.info('getArguments bundleName:' + args.bundleName);
85console.info('getArguments parameters:' + JSON.stringify(args.parameters));
86console.info('getArguments testCaseNames:' + args.testCaseNames);
87console.info('getArguments testRunnerClassName:' + args.testRunnerClassName);
88```
89