1/* 2 * Copyright (c) 2022 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 */ 15 16import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' 17import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry' 18import { UiDriver, BY, UiComponent, MatchPattern } from '@ohos.uitest' 19import hilog from '@ohos.hilog' 20 21const TAG = '[Sample_ServiceExtAbility]' 22const DOMAIN = 0xF811 23const BUNDLE = 'ServiceExtAbility_' 24 25export default function appTest() { 26 describe('appTest', function () { 27 it(BUNDLE + 'StartAbilityFunction_001', 0, async function (done) { 28 hilog.info(DOMAIN, TAG, BUNDLE + 'StartAbilityFunction_001 begin') 29 let want = { 30 bundleName: "ohos.samples.eTSServiceExtAbility", 31 abilityName: "MainAbility" 32 } 33 var abilityDelegator: any 34 abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator() 35 abilityDelegator.startAbility(want, (err, data) => { 36 hilog.info(DOMAIN, TAG, BUNDLE + 'StartAbilityFunction_001,err.code:' + err.code) 37 expect(0).assertEqual(err.code) 38 done() 39 hilog.info(DOMAIN, TAG, BUNDLE + 'StartAbilityFunction_001 end') 40 }) 41 }) 42 /** 43 * 启动服务 44 */ 45 it(BUNDLE + 'StartServiceFunction_001', 0, async function () { 46 hilog.info(DOMAIN, TAG, BUNDLE + 'StartServiceFunction_001 begin') 47 let driver = await UiDriver.create() 48 await driver.delayMs(1000) 49 hilog.info(DOMAIN, TAG, BUNDLE + 'StartServiceFunction_001 clickStartService') 50 // 点击启动服务 51 await driver.assertComponentExist(BY.key('startService')) 52 let startService = await driver.findComponent(BY.key('startService')) 53 await startService.click() 54 await driver.delayMs(1000) 55 hilog.info(DOMAIN, TAG, BUNDLE + 'StartServiceFunction_001 getConnectState') 56 // 连接状态变为已启动服务 57 await driver.assertComponentExist(BY.key('connectState')) 58 let connectState = await driver.findComponent(BY.key('connectState')) 59 let state = await connectState.getText() 60 hilog.info(DOMAIN, TAG, BUNDLE + 'StartServiceFunction_001 state') 61 expect('已启动服务').assertEqual(state) 62 hilog.info(DOMAIN, TAG, BUNDLE + 'StartServiceFunction_001 end') 63 }) 64 /** 65 * 输入两个数字 66 */ 67 it(BUNDLE + 'InputTwoNumFunction_001', 0, async function () { 68 hilog.info(DOMAIN, TAG, BUNDLE + 'InputTwoNumFunction_001 begin') 69 let driver = await UiDriver.create() 70 await driver.delayMs(1000) 71 hilog.info(DOMAIN, TAG, BUNDLE + 'InputTwoNumFunction_001 inputFirstNum') 72 // 输入第一个数字 73 await driver.assertComponentExist(BY.key('inputFirstNum')) 74 let inputFirstNum = await driver.findComponent(BY.key('inputFirstNum')) 75 await inputFirstNum.inputText('5') 76 let firstNumValue = await inputFirstNum.getText() 77 hilog.info(DOMAIN, TAG, BUNDLE + 'InputTwoNumFunction_001 firstNumValue') 78 expect('5').assertEqual(firstNumValue) 79 await driver.delayMs(1000) 80 hilog.info(DOMAIN, TAG, BUNDLE + 'InputTwoNumFunction_001 inputSecondNum') 81 // 输入第二个数字 82 await driver.assertComponentExist(BY.key('inputSecondNum')) 83 let inputSecondNum = await driver.findComponent(BY.key('inputSecondNum')) 84 await inputSecondNum.inputText('7') 85 let secondNumValue = await inputSecondNum.getText() 86 hilog.info(DOMAIN, TAG, BUNDLE + 'InputTwoNumFunction_001 secondNumValue') 87 expect('7').assertEqual(secondNumValue) 88 await driver.delayMs(1000) 89 hilog.info(DOMAIN, TAG, BUNDLE + 'InputTwoNumFunction_001 end') 90 }) 91 /** 92 * 连接服务 93 */ 94 it(BUNDLE + 'ConnectServiceFunction_001', 0, async function () { 95 hilog.info(DOMAIN, TAG, BUNDLE + 'ConnectServiceFunction_001 begin') 96 let driver = await UiDriver.create() 97 await driver.delayMs(1000) 98 hilog.info(DOMAIN, TAG, BUNDLE + 'ConnectServiceFunction_001 clickConnectService') 99 // 点击连接服务 100 await driver.assertComponentExist(BY.key('connectService')) 101 let connectService = await driver.findComponent(BY.key('connectService')) 102 await connectService.click() 103 await driver.delayMs(1000) 104 hilog.info(DOMAIN, TAG, BUNDLE + 'ConnectServiceFunction_001 getConnectState') 105 // 连接状态变为已连接服务 106 await driver.assertComponentExist(BY.key('connectState')) 107 let connectState = await driver.findComponent(BY.key('connectState')) 108 let state = await connectState.getText() 109 hilog.info(DOMAIN, TAG, BUNDLE + 'ConnectServiceFunction_001 state') 110 expect('已连接服务').assertEqual(state) 111 hilog.info(DOMAIN, TAG, BUNDLE + 'ConnectServiceFunction_001 end') 112 }) 113 /** 114 * 断开服务 115 */ 116 it(BUNDLE + 'DisconnectServiceFunction_001', 0, async function () { 117 hilog.info(DOMAIN, TAG, BUNDLE + 'DisconnectServiceFunction_001 begin') 118 let driver = await UiDriver.create() 119 await driver.delayMs(1000) 120 hilog.info(DOMAIN, TAG, BUNDLE + 'DisconnectServiceFunction_001 click DisconnectService') 121 // 断开服务 122 await driver.assertComponentExist(BY.key('disconnectService')) 123 let disconnectService = await driver.findComponent(BY.key('disconnectService')) 124 await disconnectService.click() 125 await driver.delayMs(1000) 126 hilog.info(DOMAIN, TAG, BUNDLE + 'DisconnectServiceFunction_001 getConnectState') 127 // 连接状态变为已断开服务 128 await driver.assertComponentExist(BY.key('connectState')) 129 let connectState = await driver.findComponent(BY.key('connectState')) 130 let state = await connectState.getText() 131 hilog.info(DOMAIN, TAG, BUNDLE + 'DisconnectServiceFunction_001 state') 132 expect('已断开服务').assertEqual(state) 133 hilog.info(DOMAIN, TAG, BUNDLE + 'DisconnectServiceFunction_001 end') 134 }) 135 }) 136}