• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1import hilog from '@ohos.hilog';
2import TestRunner from '@ohos.application.testRunner';
3import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
4
5var abilityDelegator = undefined
6var abilityDelegatorArguments = undefined
7
8async function onAbilityCreateCallback() {
9    hilog.info(0x0000, 'testTag', '%{public}s', 'onAbilityCreateCallback');
10}
11
12async function addAbilityMonitorCallback(err: any) {
13    hilog.info(0x0000, 'testTag', 'addAbilityMonitorCallback : %{public}s', JSON.stringify(err) ?? '');
14}
15
16export default class OpenHarmonyTestRunner implements TestRunner {
17    constructor() {
18    }
19
20    onPrepare() {
21        hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner OnPrepare ');
22    }
23
24    async onRun() {
25        hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner onRun run');
26        abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments()
27        abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator()
28        var testAbilityName = abilityDelegatorArguments.bundleName + '.TestAbility'
29        let lMonitor = {
30            abilityName: testAbilityName,
31            onAbilityCreate: onAbilityCreateCallback,
32        };
33        abilityDelegator.addAbilityMonitor(lMonitor, addAbilityMonitorCallback)
34        var cmd = 'aa start -d 0 -a TestAbility' + ' -b ' + abilityDelegatorArguments.bundleName
35        var debug = abilityDelegatorArguments.parameters['-D']
36        if (debug == 'true')
37        {
38            cmd += ' -D'
39        }
40        hilog.info(0x0000, 'testTag', 'cmd : %{public}s', cmd);
41        abilityDelegator.executeShellCommand(cmd,
42            (err: any, d: any) => {
43                hilog.info(0x0000, 'testTag', 'executeShellCommand : err : %{public}s', JSON.stringify(err) ?? '');
44                hilog.info(0x0000, 'testTag', 'executeShellCommand : data : %{public}s', d.stdResult ?? '');
45                hilog.info(0x0000, 'testTag', 'executeShellCommand : data : %{public}s', d.exitCode ?? '');
46            })
47        hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner onRun end');
48    }
49}