• 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 */
15
16import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium'
17import { UiDriver, BY, UiComponent, MatchPattern } from '@ohos.uitest'
18import featureAbility from '@ohos.ability.featureAbility'
19import hilog from '@ohos.hilog'
20
21const TAG = '[Sample_Chat]'
22const DOMAIN = 0xF811
23const BUNDLE = 'Chat_'
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 parameter = {
30        "want": {
31          bundleName: "ohos.samples.chat",
32          abilityName: "ohos.samples.chat.MainAbility"
33        }
34      }
35      featureAbility.startAbility(parameter, (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 + 'EnterChatNewsFunction_001', 0, async function () {
46      hilog.info(DOMAIN, TAG, BUNDLE + 'EnterChatNewsFunction_001 begin')
47      let driver = await UiDriver.create()
48      await driver.delayMs(1000)
49      hilog.info(DOMAIN, TAG, BUNDLE + 'EnterChatNewsFunction_001 clickChatList')
50      // 点击聊天列表
51      await driver.assertComponentExist(BY.text('朋友0', MatchPattern.CONTAINS))
52      let chatList = await driver.findComponent(BY.text('朋友0', MatchPattern.CONTAINS))
53      await chatList.click()
54      await driver.delayMs(1000)
55      hilog.info(DOMAIN, TAG, BUNDLE + 'EnterChatNewsFunction_001 clickMoreBtn')
56      // 点击更多
57      await driver.assertComponentExist(BY.key('moreBtn'))
58      let moreBtn = await driver.findComponent(BY.key('moreBtn'))
59      await moreBtn.click()
60      await driver.delayMs(1000)
61      hilog.info(DOMAIN, TAG, BUNDLE + 'EnterChatNewsFunction_001 clickLeftBtn')
62      // 点击返回聊天内容页
63      await driver.assertComponentExist(BY.key('leftBtn'))
64      let leftBtn = await driver.findComponent(BY.key('leftBtn'))
65      await leftBtn.click()
66      await driver.delayMs(1000)
67      hilog.info(DOMAIN, TAG, BUNDLE + 'EnterChatNewsFunction_001 clickReturnBtn')
68      // 点击返回主页
69      await driver.assertComponentExist(BY.key('returnBtn'))
70      let returnChatListPageBtn = await driver.findComponent(BY.key('returnBtn'))
71      await returnChatListPageBtn.click()
72      await driver.delayMs(1000)
73      hilog.info(DOMAIN, TAG, BUNDLE + 'EnterChatNewsFunction_001 existAddBtn')
74      await driver.assertComponentExist(BY.key('addBtn'))
75      hilog.info(DOMAIN, TAG, BUNDLE + 'EnterChatNewsFunction_001 end')
76    })
77    /**
78     * 点击搜索进入搜索页面
79     */
80    it(BUNDLE + 'ClickSearchFunction_001', 0, async function () {
81      hilog.info(DOMAIN, TAG, BUNDLE + 'ClickSearchFunction_001 begin')
82      let driver = await UiDriver.create()
83      await driver.delayMs(1000)
84      hilog.info(DOMAIN, TAG, BUNDLE + 'ClickSearchFunction_001 clickSearch')
85      // 点击搜索
86      await driver.assertComponentExist(BY.key('search'))
87      let searchBtn = await driver.findComponent(BY.key('search'))
88      await searchBtn.click()
89      await driver.delayMs(1000)
90      hilog.info(DOMAIN, TAG, BUNDLE + 'ClickSearchFunction_001 clickCancelSearch')
91      // 点击取消
92      await driver.assertComponentExist(BY.key('cancelSearchBtn'))
93      let cancelSearchBtn = await driver.findComponent(BY.key('cancelSearchBtn'))
94      await cancelSearchBtn.click()
95      await driver.delayMs(1000)
96      hilog.info(DOMAIN, TAG, BUNDLE + 'ClickSearchFunction_001 end')
97    })
98    /**
99     * 点击添加按钮进入添加好友和发起群聊页面
100     */
101    it(BUNDLE + 'ClickAddFunction_001', 0, async function () {
102      hilog.info(DOMAIN, TAG, BUNDLE + 'ClickAddFunction_001 begin')
103      let driver = await UiDriver.create()
104      await driver.delayMs(1000)
105      hilog.info(DOMAIN, TAG, BUNDLE + 'ClickAddFunction_001 clickAddBtn')
106      // 点击添加按钮
107      await driver.assertComponentExist(BY.key('addBtn'))
108      let btnAdd = await driver.findComponent(BY.key('addBtn'))
109      await btnAdd.click()
110      await driver.delayMs(1000)
111      hilog.info(DOMAIN, TAG, BUNDLE + 'ClickAddFunction_001 clickAddFriend')
112      // 点击添加好友
113      await driver.assertComponentExist(BY.text('添加好友', MatchPattern.CONTAINS))
114      let addFriend = await driver.findComponent(BY.text('添加好友', MatchPattern.CONTAINS))
115      await addFriend.click()
116      await driver.delayMs(1000)
117      hilog.info(DOMAIN, TAG, BUNDLE + 'ClickAddFunction_001 clickLeftAddFriendPageBtn')
118      // 点击返回
119      await driver.assertComponentExist(BY.key('leftAddFriendPageBtn'))
120      let leftAddFriendPageBtn = await driver.findComponent(BY.key('leftAddFriendPageBtn'))
121      await leftAddFriendPageBtn.click()
122      await driver.delayMs(1000)
123      hilog.info(DOMAIN, TAG, BUNDLE + 'ClickAddFunction_001 clickAddBtn')
124      // 点击添加按钮
125      await btnAdd.click()
126      hilog.info(DOMAIN, TAG, BUNDLE + 'ClickAddFunction_001 clickGroupChat')
127      // 点击发起群聊
128      await driver.assertComponentExist(BY.text('发起群聊', MatchPattern.CONTAINS))
129      let groupChat = await driver.findComponent(BY.text('发起群聊', MatchPattern.CONTAINS))
130      await groupChat.click()
131      await driver.delayMs(1000)
132      hilog.info(DOMAIN, TAG, BUNDLE + 'ClickAddFunction_001 clickLeftCurrentPage')
133      // 点击返回
134      await driver.assertComponentExist(BY.key('leftCurrentPageBtn'))
135      let leftCurrentPageBtn = await driver.findComponent(BY.key('leftCurrentPageBtn'))
136      await leftCurrentPageBtn.click()
137      await driver.delayMs(1000)
138      hilog.info(DOMAIN, TAG, BUNDLE + 'ClickAddFunction_001 end')
139    })
140    /**
141     * 点击进入聊天内容页输入信息和发送表情
142     */
143    it(BUNDLE + 'SendMessageFunction_001', 0, async function () {
144      hilog.info(DOMAIN, TAG, BUNDLE + 'SendMessageFunction_001 begin')
145      let driver = await UiDriver.create()
146      await driver.delayMs(1000)
147      hilog.info(DOMAIN, TAG, BUNDLE + 'SendMessageFunction_001 clickChatList')
148      // 点击聊天列表
149      await driver.assertComponentExist(BY.text('朋友0', MatchPattern.CONTAINS))
150      let chatList = await driver.findComponent(BY.text('朋友0', MatchPattern.CONTAINS))
151      await chatList.click()
152      await driver.delayMs(1000)
153      hilog.info(DOMAIN, TAG, BUNDLE + 'SendMessageFunction_001 inputText')
154      // 底部输入框输入内容
155      await driver.assertComponentExist(BY.key('bottomTextInput'))
156      let bottomTextInput = await driver.findComponent(BY.key('bottomTextInput'))
157      await bottomTextInput.inputText('good')
158      let inputValue = await bottomTextInput.getText()
159      hilog.info(DOMAIN, TAG, BUNDLE + 'SendMessageFunction_001 inputValue')
160      expect('good').assertEqual(inputValue)
161      await driver.delayMs(1000)
162      hilog.info(DOMAIN, TAG, BUNDLE + 'SendMessageFunction_001 clickChatExpression')
163      // 点击表情图标
164      await driver.assertComponentExist(BY.key('chatExpression'))
165      let chatExpression = await driver.findComponent(BY.key('chatExpression'))
166      await chatExpression.click()
167      await driver.delayMs(1000)
168      hilog.info(DOMAIN, TAG, BUNDLE + 'SendMessageFunction_001 clickReturnBtn')
169      // 点击返回主页
170      await driver.assertComponentExist(BY.key('returnBtn'))
171      let returnChatListPageBtn = await driver.findComponent(BY.key('returnBtn'))
172      await returnChatListPageBtn.click()
173      await driver.delayMs(1000)
174      hilog.info(DOMAIN, TAG, BUNDLE + 'SendMessageFunction_001 existAddBtn')
175      await driver.assertComponentExist(BY.key('addBtn'))
176      hilog.info(DOMAIN, TAG, BUNDLE + 'SendMessageFunction_001 end')
177    })
178  })
179}