• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2* Copyright (c) 2023 Huawei Device Co., Ltd.
3* Licensed under the Apache License, Version 2.0 (the "License");
4* you may not use this file except in compliance with the License.
5* You may obtain a copy of the License at
6*
7*     http://www.apache.org/licenses/LICENSE-2.0
8*
9* Unless required by applicable law or agreed to in writing, software
10* distributed under the License is distributed on an "AS IS" BASIS,
11* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12* See the License for the specific language governing permissions and
13* limitations under the License.
14*/
15
16import hilog from '@ohos.hilog';
17import TestRunner from '@ohos.application.testRunner';
18import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
19import Want from '@ohos.app.ability.Want';
20
21async function onAbilityCreateCallback() {
22  hilog.info(0x0000, 'testTag', '%{public}s', 'onAbilityCreateCallback');
23}
24
25export default class OpenHarmonyTestRunner implements TestRunner {
26  constructor() { }
27
28  onPrepare(): void {
29    hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner OnPrepare ');
30  }
31
32  async onRun() {
33    try {
34      hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner onRun run');
35      let abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
36      const testAbilityName = 'TestAbility';
37      let lMonitor: AbilityDelegatorRegistry.AbilityMonitor = {
38        abilityName: testAbilityName,
39        onAbilityCreate: onAbilityCreateCallback,
40      };
41      await abilityDelegator.addAbilityMonitor(lMonitor);
42
43      let abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments();
44      const bundleName = abilityDelegatorArguments.bundleName;
45      const want: Want = {
46        bundleName: bundleName,
47        abilityName: testAbilityName
48      };
49      abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
50      await abilityDelegator.startAbility(want);
51    } catch (err) {
52      hilog.error(0x0000, 'testTag', ' err : %{public}s', JSON.stringify(err));
53    }
54    hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner onRun end');
55  }
56}
57