1/*
2 * Copyright (c) 2024 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 */
15import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit';
16import { abilityDelegatorRegistry } from '@kit.TestKit';
17import { hilog } from '@kit.PerformanceAnalysisKit';
18import { window } from '@kit.ArkUI';
19import { Hypium } from '@ohos/hypium';
20import testsuite from '../test/List.test';
21
22export default class TestAbility extends UIAbility {
23  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
24      hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onCreate');
25      hilog.info(0x0000, 'testTag', '%{public}s', 'want param:' + JSON.stringify(want) ?? '');
26      hilog.info(0x0000, 'testTag', '%{public}s', 'launchParam:'+ JSON.stringify(launchParam) ?? '');
27      let abilityDelegator: abilityDelegatorRegistry.AbilityDelegator;
28      abilityDelegator = abilityDelegatorRegistry.getAbilityDelegator();
29      let abilityDelegatorArguments: abilityDelegatorRegistry.AbilityDelegatorArgs;
30      abilityDelegatorArguments = abilityDelegatorRegistry.getArguments();
31      hilog.info(0x0000, 'testTag', '%{public}s', 'start run testcase!!!');
32      Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite)
33    }
34
35  onDestroy() {
36    // Ability is destroying, release resources for this ability
37    console.log("[Demo] TestAbility onDestroy");
38  }
39
40  onWindowStageCreate(windowStage: window.WindowStage) {
41    // Main window is created, set main page for this ability
42    console.log("[Demo] TestAbility onWindowStageCreate windowStage=" + windowStage);
43    windowStage.loadContent("TestAbility/pages/Index", (err, data) => {
44      if (err.code) {
45        console.error('[Demo] Failed to load the content. Cause:' + JSON.stringify(err));
46        return;
47      }
48      console.info('[Demo] Succeeded in loading the content. Data: ' + JSON.stringify(data));
49    });
50  }
51
52  onWindowStageDestroy() {
53    //Main window is destroyed, release UI related resources
54    console.log("[Demo] TestAbility onWindowStageDestroy");
55  }
56
57  onForeground() {
58    // Ability has brought to foreground
59    console.log("[Demo] TestAbility onForeground");
60  }
61
62  onBackground() {
63    // Ability has back to background
64    console.log("[Demo] TestAbility onBackground");
65  }
66};