Esempio n. 1
0
 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("已转发")
Esempio n. 2
0
    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()
Esempio n. 3
0
 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的个人名片')
Esempio n. 5
0
    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)
Esempio n. 6
0
 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()
Esempio n. 7
0
 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()
Esempio n. 8
0
    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('拨出电话')
Esempio n. 9
0
    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()
Esempio n. 10
0
    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()
Esempio n. 11
0
    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人')
Esempio n. 12
0
 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()
Esempio n. 13
0
 def remove_members(self, *members):
     from pages.components import ContactsSelector
     self.click_remove_member_menu()
     selector = ContactsSelector()
     selector.select_local_contacts(*members)