• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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