Files
conti-retail-app/app/ohos/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ts
T
Guangfei.Zhao f2dabe6b91 feat: Add build info and localization for entry app
- Introduced buildinfo.json5 to enable impeller feature.
- Added Chinese localization strings in string.json for module description and entry ability.
- Created Ability.test.ets for unit testing of ability functionalities.
- Implemented List.test.ets to run the ability tests.
- Developed TestAbility.ets to manage test execution and lifecycle events.
- Created Index.ets as a testability page with UI components.
- Added OpenHarmonyTestRunner.ts for managing test execution in OpenHarmony.
- Defined module.json5 for entry_test module configuration.
- Established color.json and string.json for base resources.
- Included icon.png for the test module.
- Created test_pages.json to define testability page sources.
- Configured hvigor and oh-package.json5 for project setup.
- Updated pubspec.yaml and related files to downgrade Dart SDK to 3.11.0 and adjust dependencies.
- Added PowerShell script to enable OpenHarmony Flutter toolchain.
- Updated multiple package pubspec.yaml files to align with Dart SDK version 3.11.0 and adjust dependencies accordingly.
2026-09-02 23:23:43 +08:00

50 lines
2.1 KiB
TypeScript

import hilog from '@ohos.hilog';
import TestRunner from '@ohos.application.testRunner';
import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
var abilityDelegator = undefined
var abilityDelegatorArguments = undefined
async function onAbilityCreateCallback() {
hilog.info(0x0000, 'testTag', '%{public}s', 'onAbilityCreateCallback');
}
async function addAbilityMonitorCallback(err: any) {
hilog.info(0x0000, 'testTag', 'addAbilityMonitorCallback : %{public}s', JSON.stringify(err) ?? '');
}
export default class OpenHarmonyTestRunner implements TestRunner {
constructor() {
}
onPrepare() {
hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner OnPrepare ');
}
async onRun() {
hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner onRun run');
abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments()
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator()
var testAbilityName = abilityDelegatorArguments.bundleName + '.TestAbility'
let lMonitor = {
abilityName: testAbilityName,
onAbilityCreate: onAbilityCreateCallback,
};
abilityDelegator.addAbilityMonitor(lMonitor, addAbilityMonitorCallback)
var cmd = 'aa start -d 0 -a TestAbility' + ' -b ' + abilityDelegatorArguments.bundleName
var debug = abilityDelegatorArguments.parameters['-D']
if (debug == 'true')
{
cmd += ' -D'
}
hilog.info(0x0000, 'testTag', 'cmd : %{public}s', cmd);
abilityDelegator.executeShellCommand(cmd,
(err: any, d: any) => {
hilog.info(0x0000, 'testTag', 'executeShellCommand : err : %{public}s', JSON.stringify(err) ?? '');
hilog.info(0x0000, 'testTag', 'executeShellCommand : data : %{public}s', d.stdResult ?? '');
hilog.info(0x0000, 'testTag', 'executeShellCommand : data : %{public}s', d.exitCode ?? '');
})
hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner onRun end');
}
}