def test_msg_xiaoqiu_0411(self): """长按——识别群二维码——进入群会话窗口和群设置页面""" # 1、已登录客户端 # 2、网络正常 # 3、当前消息列表页面 mess = MessagePage() Preconditions.enter_group_chat_page("群聊1") groupchat = GroupChatPage() groupset = GroupChatSetPage() contactsel = ContactsSelector() sel_con = SelectContactsPage() groupchat.wait_for_page_load() # Step 进入群聊设置页面 groupchat.click_setting() groupset.wait_for_page_load() groupset.click_group_avatars() # Step 点击左下角的分享按钮 groupset.click_qecode_share_button() # Checkpoint 跳转到联系人选择器页面 contactsel.wait_for_contacts_selector_page_load() # Step 点击选择一个群 sel_con.click_select_one_group() # Step 搜索选中一个群 time.sleep(2) SearchGroupPage().click_group('测试群组2') # Step 点击确定 SingleChatPage().click_sure() # Checkpoint 弹出toast提示:已转发 mess.is_toast_exist("已转发")
def test_call_wangqiong_0063(self): """发起1人的多方电话--再次呼叫,网络正常重新呼叫和飞信电话""" # 启动App Preconditions.select_mobile('Android-移动') # 启动后不论当前在哪个页面,强制进入消息页面 Preconditions.force_enter_message_page_631() # 下面根据用例情况进入相应的页面 # 需要预置联系人 contactname1 = Preconditions.contacts_name_1 contactnum1 = Preconditions.telephone_num_1 # 新建联系人 contactspage = ContactsPage() contactspage.open_contacts_page() contactspage.create_contacts_if_not_exits_631(contactname1, contactnum1) # 进入通话页签 Preconditions.enter_call_page() # 如果存在多方通话引导页跳过引导页 callcontact = CalllogBannerPage() callcontact.skip_multiparty_call() # 点击多方通话 callcontact.click_free_call() # 选择指定联系人 点击呼叫 from pages.components import ContactsSelector contactselect = ContactsSelector() contactselect.select_local_contacts(contactname1) # 是否存在请先接听“和飞信电话”,点击“我知道了” 并自动允许和飞信管理 callcontact.click_elsfif_ikonw() # 是否存在权限窗口 自动赋权 from pages import GrantPemissionsPage grantpemiss = GrantPemissionsPage() grantpemiss.allow_contacts_permission() # 是否存在设置悬浮窗,存在暂不开启 from pages.components.dialogs import SuspendedTips suspend = SuspendedTips() suspend.ignore_tips_if_tips_display() # 会控页面挂断和飞信电话,回到通话页 callpage = CallPage() callpage.hang_up_hefeixin_call_631() # Checkpoint:拨打的通话记录为飞信电话 进入通话详情页,标题为飞信通话类型 callpage.is_type_hefeixin(0, '飞信电话') # 进入详情页 time.sleep(3) callpage.click_ganggang_call_time() # Checkpoint:查看详情页面是否是为飞信电话? callpage.is_hefeixin_page('飞信电话') # 点击‘再次呼叫’ callpage.click_mutil_call_again() suspend.ignore_tips_if_tips_display() # Checkpoint:当前是否是和飞信通话会控页 # time.sleep(2) callpage.hang_up_hefeixin_call_631()
def create_group_if_not_exist_631(group_name, *member_list): """ 创建群聊并进入群聊页面 :param group_name:群聊名称 :return: """ mess = MessagePage() # 点击消息页搜索 mess.click_search() # 搜索关键词测试群组1 SearchPage().input_search_keyword(group_name) # 如果能搜到对应群组,则点击进入;否则创建群组 if mess._is_element_present( (MobileBy.XPATH, '//*[@resource-id="com.chinasofti.rcs:id/tv_conv_name" and @text ="%s"]' % group_name)): mess.click_element(( MobileBy.XPATH, '//*[@resource-id="com.chinasofti.rcs:id/tv_conv_name" and @text ="%s"]' % group_name)) else: ContactListSearchPage().click_back() contactspage = ContactsPage() # 打开联系人页 contactspage.open_contacts_page() contactspage.wait_for_contact_load() contactspage.click_sim_contact() contactspage.click_group_chat_631() # 点击创建群组 GroupListPage().click_create_group() mess.click_element((MobileBy.XPATH, '//*[@text ="选择手机联系人"]')) from pages.components import ContactsSelector ContactsSelector().select_local_contacts(*member_list) BuildGroupChatPage().create_group_chat(group_name)
def test_msg_hanjiabin_0192(self): mess = MessagePage() singlechat = SingleChatPage() # Step 1.进入一对一聊天窗口 mess.search_and_enter_631('给个名片1') ContactDetailsPage().click_message_icon() chatdialog = ChatNoticeDialog() # 若存在资费提醒对话框,点击确认 if chatdialog.is_exist_tips(): chatdialog.accept_and_close_tips_alert() singlechat.click_more() singlechat.click_profile() selectcontact = SelectLocalContactsPage() send_card = Send_CardNamePage() # Checkpoint 进入到联系人选择器页面 selectcontact.wait_for_page_load() # Step 任意选中一个联系人的名片,发送出去 ContactsSelector().click_local_contacts('给个名片2') time.sleep(2) send_card.click_share_btn() send_card.press_mess('给个名片2') singlechat.select_collect_item() mess.click_back_by_android(times=3) mess.click_me_icon() me = MePage() me.click_collection() mess.is_text_present('[名片]给个名片2的个人名片')
def test_me_0009(self): """我的二维码转发-选择本地通讯录联系人-搜索未保存到本地通讯录联系人的手机号""" # 进入我的二维码页面 me_page = MePage() me_page.click_qr_code_icon() # 点击转发 qr_code = MyQRCodePage() # 等待加载完成 qr_code.wait_for_loading_animation_end() # 解析二维码 import time time.sleep(2) # 获取要转发的二维码(解析为链接) my_link = qr_code.decode_qr_code() print(my_link) qr_code.click_forward_qr_code() # current_mobile().click_text("选择本地联系人", True) pg = ContactsSelector() pg.wait_for_page_load() pg.search('13500000000') time.sleep(1) pg.click_local_contacts('13500000000(未知号码)') current_mobile().click_text("确定", True) toast = current_mobile().wait_until( condition=lambda d: current_mobile().get_element(['xpath', '//android.widget.Toast']) ) self.assertEqual('已转发', toast.text) qr_code.wait_for_page_load() qr_code.click_back() me_page.open_message_page() current_mobile().click_text('13500000000') chat = ChatWindowPage() chat.wait_for_page_load() # 如果弹出提示框就点击空白 if chat.is_tips_display(): chat.directly_close_tips_alert() # 获取截图 screen_shot = current_mobile().get_screenshot_as_png() import io from PIL import Image from pyzbar import pyzbar # 屏幕是否包含刚刚转发的二维码(解析为文本链接) qrs = pyzbar.decode(Image.open(io.BytesIO(screen_shot))) self.assertIsNotNone(qrs) links = [] for qr in qrs: links.append(qr.data.decode('utf-8')) self.assertIn(my_link, links)
def test_msg_huangcaizui_A_0089(self): """一对一聊天设置创建群聊""" Preconditions.enter_single_chat_page("大佬2") single = SingleChatPage() chat_set = SingleChatSetPage() single.click_setting() chat_set.is_on_this_page() chat_set.click_add_icon() ContactsSelector().wait_for_contacts_selector_page_load()
def test_msg_xiaoqiu_0411(self): """长按——识别群二维码——进入群会话窗口和群设置页面""" # 1、已登录客户端 # 2、网络正常 # 3、当前消息列表页面 mess = MessagePage() # Step 进入群聊页面 mess.search_and_enter('测试群组1') groupchat = GroupChatPage() groupset = GroupChatSetPage() contactsel = ContactsSelector() sel_con = SelectContactsPage() groupchat.wait_for_page_load() # Step 进入群聊设置页面 groupchat.click_setting() groupset.wait_for_page_load() groupset.click_group_avatars() # Step 点击左下角的分享按钮 groupset.click_qecode_share_button() # Checkpoint 跳转到联系人选择器页面 contactsel.wait_for_contacts_selector_page_load() # Step 点击选择一个群 sel_con.click_select_one_group() # Step 搜索选中一个群 time.sleep(2) SearchGroupPage().click_group('测试群组2') # Step 点击确定 SingleChatPage().click_sure() # Checkpoint 弹出toast提示:已转发 mess.is_toast_exist("已转发") groupset.click_back() groupset.click_back() groupchat.click_back() SearchPage().click_back_button() mess.search_and_enter('测试群组2') # Step 1、长按识别群二维码 sel_con.click_group_code() sel_con.click_recognize_code_631() # Checkpoint 1、进入会话窗口页面 groupchat.wait_for_page_load() # Step 2、点击右上角的群设置按钮 groupchat.click_setting() # Checkpoint 2、进入到群设置页面 groupset.wait_for_page_load()
def test_call_wangqiong_0147(self): """发起1人的多方电话--再次呼叫,网络正常重新呼叫和飞信电话""" # 启动App Preconditions.select_mobile('Android-移动') # 启动后不论当前在哪个页面,强制进入消息页面 Preconditions.force_enter_message_page_631() # 下面根据用例情况进入相应的页面 # 新建联系人 contactspage = ContactsPage() contactspage.open_contacts_page() Preconditions.create_contacts_if_not_exist_631([ "给个名片1, 13800138200", "给个名片2, 13800138300", "测试短信1, 13800138111", "测试短信2, 13800138112", "给个红包1, 13800138000", "联系人1, 18312345678", "联系人2, 18323456789" ]) # 进入通话页签 Preconditions.enter_call_page() # 如果存在多方通话引导页跳过引导页 callcontact = CalllogBannerPage() callcontact.skip_multiparty_call() # 点击多方通话 callcontact.click_free_call() # 选择指定联系人 点击呼叫 from pages.components import ContactsSelector cmvp = MultiPartyVideoPage() cmvp.input_contact_search("15875537272") cmvp.click_text('未知号码') ContactsSelector().select_local_contacts('给个名片1', '给个名片2', '测试短信1', '测试短信2', '给个红包1', '联系人1', '联系人2') # 是否存在请先接听“和飞信电话”,点击“我知道了” 并自动允许和飞信管理 callcontact.click_elsfif_ikonw() # 是否存在权限窗口 自动赋权 from pages import GrantPemissionsPage grantpemiss = GrantPemissionsPage() grantpemiss.allow_contacts_permission() # 是否存在设置悬浮窗,存在暂不开启 from pages.components.dialogs import SuspendedTips suspend = SuspendedTips() suspend.ignore_tips_if_tips_display() # 会控页面挂断和飞信电话,回到通话页 callpage = CallPage() callpage.hang_up_hefeixin_call_631() # Checkpoint:拨打的通话记录为飞信电话 进入通话详情页,标题为飞信通话类型 callpage.is_type_hefeixin(0, '飞信电话') # 进入详情页 time.sleep(3) callpage.click_ganggang_call_time() # Checkpoint:查看详情页面是否是为飞信电话? callpage.page_should_contain_text('[飞信电话]') callpage.page_should_contain_text('拨出电话')
def test_Conts_TagsGrouping_0011(self): """多方视频""" group_name = uuid.uuid4().__str__() members = [ '给个红包1', '给个红包2', ] # 进入标签分组列表页面 conts_page = ContactsPage() conts_page.open_contacts_page() conts_page.click_label_grouping() # 创建分组 lg = LabelGroupingPage() real_name = lg.create_group(group_name, *members) # 进入分组 lg.wait_for_page_load() lg.click_label_group(real_name) # 点击多方视频 detail = LableGroupDetailPage() detail.click_multiparty_videos() # 选择联系人 contacts_selector = ContactsSelector() current_mobile().wait_until( condition=lambda d: current_mobile().is_text_present('多方视频'), timeout=3, ) contacts_selector.select_local_contacts(*members) tips = MutiVideoTipsPage() tips.go_on_if_tips_pop_out() tips1 = SuspendedTips() tips1.ignore_tips_if_tips_display() mtv = MutiVideoPage() mtv.wait_for_page_load()
def test_Conts_TagsGrouping_0010(self): """多方电话""" group_name = uuid.uuid4().__str__() members = [ '给个红包1', '给个红包2', ] # 进入标签分组列表页面 conts_page = ContactsPage() conts_page.open_contacts_page() conts_page.click_label_grouping() # 创建分组 lg = LabelGroupingPage() real_name = lg.create_group(group_name, *members) # 进入分组 lg.wait_for_page_load() lg.click_label_group(real_name) # 点击多方通话 detail = LableGroupDetailPage() detail.click_multi_tel() # 选择联系人 contacts_selector = ContactsSelector() contacts_selector.select_local_contacts(*members) mtc = MultipartyCallPage() mtc.ignore_tips_if_tips_display() # 检查点:进入多方通话主叫页面 mtc.assert_caller_tips_is_display() # 等待来电 mtc.wait_for_call_back(max_wait_time=16) # 挂断电话 current_mobile().hang_up_the_call()
def test_call_zhenyishan_0112(self): """通话模块:当前勾选人数已有8人,继续勾选团队联系人,检查提示""" # 1、当前为团队联系人选择页 mess = MessagePage() # Step 2、进行拨打语音通话 mess.click_calls() cp = CallPage() cp.wait_for_page_load() cp.click_multi_party_video() ContactsSelector().select_local_contacts('给个名片1', '给个名片2', '测试短信1', '测试短信2', '给个红包1', '联系人1', '联系人2', '联系人3', '联系人4') mess.is_toast_exist('最多只能选择8人')
def test_msg_huangcaizui_A_0089(self): single = SingleChatPage() mess = MessagePage() chat_set = SingleChatSetPage() findchat = FindChatRecordPage() # 如果当前页面不存在消息,发送一条消息 if not mess._is_element_present( (MobileBy.XPATH, '//*[@text ="给个红包1"]')): # 点击+号 mess.click_add_icon() mess.click_new_message() select_page = SelectContactsPage() select_page.select_one_contact_by_name('给个红包1') else: mess.click_element((MobileBy.XPATH, '//*[@text ="给个红包1"]')) chatdialog = ChatNoticeDialog() # 若存在资费提醒对话框,点击确认 if chatdialog.is_exist_tips(): chatdialog.accept_and_close_tips_alert() single.click_setting() chat_set.is_on_this_page() chat_set.click_add_icon() ContactsSelector().wait_for_contacts_selector_page_load()
def remove_members(self, *members): from pages.components import ContactsSelector self.click_remove_member_menu() selector = ContactsSelector() selector.select_local_contacts(*members)