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}