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 */ 15import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' 16import { UiDriver, BY, UiComponent, MatchPattern } from '@ohos.uitest' 17import featureAbility from '@ohos.ability.featureAbility'; 18import hilog from '@ohos.hilog'; 19 20const BUNDLE = 'Contact' 21const TAG = '[Sample_Contact]' 22const DOMAIN = 0xF811 23 24export default function appTest() { 25 describe('appTest', function () { 26 /** 27 * 启动一个Ability 28 */ 29 it(BUNDLE + '_startAbility', 0, async function (done) { 30 hilog.info(DOMAIN, TAG, BUNDLE + '_startAbility start') 31 let parameter = { 32 "want": { 33 bundleName: "ohos.samples.contact", 34 abilityName: "ohos.samples.contact.MainAbility" 35 } 36 } 37 await featureAbility.startAbility(parameter, (err, data) => { 38 hilog.info(DOMAIN, TAG, BUNDLE + '_startAbility get err ' + JSON.stringify(err)) 39 expect(0).assertEqual(err.code) 40 done() 41 hilog.info(DOMAIN, TAG, BUNDLE + '_startAbility end') 42 }) 43 }) 44 /** 45 * 允许授予权限 46 */ 47 it(BUNDLE + '_IndexPage_AgreeBtn', 0, async () => { 48 hilog.info(DOMAIN, TAG, BUNDLE + '_IndexPage_AgreeBtn start') 49 let driver = await UiDriver.create() 50 await driver.delayMs(1000) 51 // 授权 52 await driver.assertComponentExist(BY.text('允许')) 53 let agreeBtn = await driver.findComponent(BY.text('允许')) 54 await agreeBtn.click() 55 await driver.delayMs(1000) 56 hilog.info(DOMAIN, TAG, BUNDLE + '_IndexPage_AgreeBtn end') 57 }) 58 /** 59 * 点击首页Tabs 60 */ 61 it(BUNDLE + '_IndexPage_TabBtn', 0, async () => { 62 hilog.info(DOMAIN, TAG, BUNDLE + '_IndexPage_TabBtn start') 63 let driver = await UiDriver.create() 64 await driver.delayMs(1000) 65 // 电话tab 66 await driver.assertComponentExist(BY.key('tab0')) 67 let tabPhone = await driver.findComponent(BY.key('tab0')) 68 await tabPhone.click() 69 await driver.delayMs(1000) 70 // 收藏tab 71 await driver.assertComponentExist(BY.key('tab2')) 72 let tabCollect = await driver.findComponent(BY.key('tab2')) 73 await tabCollect.click() 74 await driver.delayMs(1000) 75 // 联系人tab 76 await driver.assertComponentExist(BY.key('tab1')) 77 let tabContact = await driver.findComponent(BY.key('tab1')) 78 await tabContact.click() 79 await driver.delayMs(1000) 80 hilog.info(DOMAIN, TAG, BUNDLE + '_IndexPage_TabBtn end') 81 }) 82 /** 83 * 添加联系人,readme中约束限制讲述add接口有问题,这个功能存在不确定性,暂时点击返回 84 */ 85 it(BUNDLE + '_AddContactPage_ContactAdd', 0, async () => { 86 hilog.info(DOMAIN, TAG, BUNDLE + '_AddContactPage_ContactAdd start') 87 let driver = await UiDriver.create() 88 await driver.delayMs(1000) 89 // 点击进入添加联系人页面 90 await driver.assertComponentExist(BY.key('add')) 91 let addBtn = await driver.findComponent(BY.key('add')) 92 await addBtn.click() 93 await driver.delayMs(1000) 94 // 点击返回首页,readme中约束限制讲述add接口有问题,这个功能存在不确定性,暂时点击返回 95 await driver.assertComponentExist(BY.key('backIndex')) 96 let backBtn = await driver.findComponent(BY.key('backIndex')) 97 await backBtn.click() 98 hilog.info(DOMAIN, TAG, BUNDLE + '_AddContactPage_ContactAdd end') 99 }) 100 /** 101 * 进入设置界面新建联系人 102 */ 103 it(BUNDLE + '_SettingPage_Setting', 0, async () => { 104 hilog.info(DOMAIN, TAG, BUNDLE + '_SettingPage_Setting start') 105 let driver = await UiDriver.create() 106 await driver.delayMs(1000) 107 // 进入设置界面 108 await driver.assertComponentExist(BY.key('setting')) 109 let agreeBtn = await driver.findComponent(BY.key('setting')) 110 await agreeBtn.click() 111 await driver.delayMs(1000) 112 // 新建联系人 113 await driver.assertComponentExist(BY.key('newAddContact')) 114 let addBtn = await driver.findComponent(BY.key('newAddContact')) 115 await addBtn.click() 116 await driver.delayMs(1000) 117 // 点击返回设置界面 118 await driver.assertComponentExist(BY.key('backIndex')) 119 let backSetting = await driver.findComponent(BY.key('backIndex')) 120 await backSetting.click() 121 await driver.delayMs(1000) 122 // 点击从设置页返回首页 123 await driver.assertComponentExist(BY.key('back')) 124 let backBtn = await driver.findComponent(BY.key('back')) 125 await backBtn.click() 126 await driver.delayMs(1000) 127 hilog.info(DOMAIN, TAG, BUNDLE + '_SettingPage_Setting end') 128 }) 129 }) 130} 131