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'; 21import abilityAccessCtrl from '@ohos.abilityAccessCtrl'; 22 23export default class TestAbility extends UIAbility { 24 onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) { 25 hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onCreate'); 26 hilog.info(0x0000, 'testTag', '%{public}s', 'want param:' + JSON.stringify(want) ?? ''); 27 hilog.info(0x0000, 'testTag', '%{public}s', 'launchParam:'+ JSON.stringify(launchParam) ?? ''); 28 let abilityDelegator: abilityDelegatorRegistry.AbilityDelegator; 29 abilityDelegator = abilityDelegatorRegistry.getAbilityDelegator(); 30 let abilityDelegatorArguments: abilityDelegatorRegistry.AbilityDelegatorArgs; 31 abilityDelegatorArguments = abilityDelegatorRegistry.getArguments(); 32 hilog.info(0x0000, 'testTag', '%{public}s', 'start run testcase!!!'); 33 Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite) 34 } 35 36 onDestroy() { 37 hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onDestroy'); 38 } 39 40 onWindowStageCreate(windowStage: window.WindowStage) { 41 hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onWindowStageCreate'); 42 windowStage.loadContent('testability/pages/Index', (err, data) => { 43 if (err.code) { 44 hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); 45 return; 46 } 47 hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', 48 JSON.stringify(data) ?? ''); 49 }); 50 let atManager = abilityAccessCtrl.createAtManager(); 51 try { 52 console.info('requestPermissionsFromUser start'); 53 atManager.requestPermissionsFromUser(this.context, ['ohos.permission.ACCESS_BLUETOOTH']).then((data) => { 54 console.info('data:' + JSON.stringify(data)); 55 console.info('data permissions:' + data.permissions); 56 console.info('data authResults:' + data.authResults); 57 }).catch((err: Error) => { 58 console.info('data:' + JSON.stringify(err)); 59 }) 60 } catch(err) { 61 console.log(`catch err->${JSON.stringify(err)}`); 62 } 63 console.info('requestPermissionsFromUser end'); 64 } 65 66 onWindowStageDestroy() { 67 hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onWindowStageDestroy'); 68 } 69 70 onForeground() { 71 hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onForeground'); 72 } 73 74 onBackground() { 75 hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onBackground'); 76 } 77}