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}