Пример #1
0
 def test_QFXS_0008(self):
     """1、点击用户本人头像"""
     mess = MessagePage()
     mess.open_workbench_page()
     wp = WorkbenchPage()
     wp.wait_for_page_load()
     #点击群发信使
     wp.click_group_messenger()
     #等待页面加载
     mgp=MessageGroupPage()
     mgp.wait_for_page_load()
     #点击新建短信
     mgp.click_build_message()
     mgp.wait_for_edit_message_page_load()
     #点击收件人
     mgp.click_addressee()
     #点击本机号码
     sccp=SelectCompanyContactsPage()
     sccp.wait_for_page_load()
     phone_number = current_mobile().get_cards(CardType.CHINA_MOBILE)[0]
     sccp.click_text(phone_number)
     if not sccp.is_toast_exist("该联系人不可选"):
         raise AssertionError("没有toast提示该联系人不可选")
     sccp.click_back()
     time.sleep(2)
     sccp.click_back()
     mgp.wait_for_edit_message_page_load()
     mgp.click_close()
    def tearDown_test_QYTXL_0004():
        """恢复环境"""

        fail_time = 0
        while fail_time < 5:
            try:
                Preconditions.make_already_in_message_page()
                mp = MessagePage()
                mp.open_workbench_page()
                wbp = WorkbenchPage()
                Preconditions.delete_department_by_name("admin_department1")
                Preconditions.delete_department_by_name("admin_department2")
                workbench_name = wbp.get_workbench_name()
                # 查找并点击所有展开元素
                wbp.find_and_click_open_element()
                # 解决用户部门变更后不能及时刷新的问题
                wbp.click_company_contacts()
                ecp = EnterpriseContactsPage()
                ecp.wait_for_page_load()
                if ecp.is_exist_department_by_name(workbench_name):
                    ecp.click_corporate_by_name(workbench_name)
                time.sleep(2)
                ecp.click_back()
                time.sleep(2)
                if ecp.is_exist_department_name():
                    ecp.click_back()
                wbp.wait_for_workbench_page_load()
                return
            except:
                fail_time += 1
Пример #3
0
 def test_QFXS_0013(self):
     """1、点击“+”,添加接收人
         2、添加人数小于当前企业剩余条数"""
     mess = MessagePage()
     mess.open_workbench_page()
     wp = WorkbenchPage()
     wp.wait_for_page_load()
     # 点击群发信使
     wp.click_group_messenger()
     # 等待页面加载
     mgp = MessageGroupPage()
     mgp.wait_for_page_load()
     # 点击新建短信
     mgp.click_build_message()
     mgp.wait_for_edit_message_page_load()
     # 点击收件人
     mgp.click_addressee()
     # 点击指定联系人
     sccp = SelectCompanyContactsPage()
     sccp.wait_for_page_load()
     sccp.click_one_contact("飞信电话")
     if not sccp.is_left_head_exit():
         raise AssertionError("找不到搜索栏左侧被点击人员人名和头像")
     #返回
     sccp.click_back()
     time.sleep(2)
     if sccp.is_exist_corporate_name():
         sccp.click_back_by_android()
     mgp.wait_for_edit_message_page_load()
     mgp.click_close()
Пример #4
0
 def test_QFXS_0010(self):
     """1、搜索不存在的用户名称"""
     mess = MessagePage()
     mess.open_workbench_page()
     wp = WorkbenchPage()
     wp.wait_for_page_load()
     # 点击群发信使
     wp.click_group_messenger()
     # 等待页面加载
     mgp = MessageGroupPage()
     mgp.wait_for_page_load()
     # 点击新建短信
     mgp.click_build_message()
     mgp.wait_for_edit_message_page_load()
     # 点击收件人
     mgp.click_addressee()
     # 点击本机号码
     sccp = SelectCompanyContactsPage()
     sccp.wait_for_page_load()
     import random
     a=str(random.random())
     #搜索框输入不存在用户名
     sccp.input_search_message(a)
     if not sccp.is_toast_exist("无搜索结果"):
         raise AssertionError("没有提示 无搜索结果")
     sccp.click_back()
     time.sleep(2)
     if sccp.is_exist_corporate_name():
         sccp.click_back_by_android()
     mgp.wait_for_edit_message_page_load()
     mgp.click_close()
Пример #5
0
 def enter_message_page():
     """进入到消息列表页面"""
     Preconditions.select_mobile('Android-移动', False)
     current_mobile().hide_keyboard_if_display()
     time.sleep(1)
     # 如果在消息页,不做任何操作
     mess = MessagePage()
     if mess.is_on_this_page():
         return
     # 进入一键登录页
     Preconditions.make_already_in_one_key_login_page()
     #  从一键登录页面登录
     Preconditions.login_by_one_key_login()
Пример #6
0
 def default_setUp(self):
     """确保进入消息列表页面"""
     Preconditions.select_mobile('Android-移动')
     mess = MessagePage()
     if mess.is_on_this_page():
         return
     wp = WorkbenchPage()
     if wp.is_on_this_page():
         current_mobile().hide_keyboard_if_display()
         wp.open_message_page()
         return
     else:
         current_mobile().launch_app()
         Preconditions.enter_message_page()
Пример #7
0
 def test_QFXS_0011(self):
     """1、再次点击头像,取消选择人员"""
     mess = MessagePage()
     mess.open_workbench_page()
     wp = WorkbenchPage()
     wp.wait_for_page_load()
     # 点击组织架构,添加联系人
     wp.click_organization()
     org=Organization()
     org.wait_for_page_load()
     if not org.is_exit_element_by_text_swipe("飞信电话"):
         org.click_text("添加联系人")
         time.sleep(2)
         org.click_text("从手机通讯录添加")
         sccp = SelectCompanyContactsPage()
         sccp.wait_for_page_load()
         # 飞信电话 or 和飞信电话
         sccp.click_one_contact("飞信电话")
         sccp.click_sure()
         time.sleep(1)
         org.click_back_by_android()
         time.sleep(2)
         org.wait_for_page_load()
     org.click_back()
     wp.wait_for_page_load()
     # 点击群发信使
     wp.click_group_messenger()
     # 等待页面加载
     mgp = MessageGroupPage()
     mgp.wait_for_page_load()
     # 点击新建短信
     mgp.click_build_message()
     mgp.wait_for_edit_message_page_load()
     # 点击收件人
     mgp.click_addressee()
     # 点击指定联系人
     sccp = SelectCompanyContactsPage()
     sccp.wait_for_page_load()
     sccp.click_one_contact("飞信电话")
     time.sleep(3)
     sccp.click_text("飞信电话")
     if sccp.is_left_head_exit():
         raise AssertionError("搜索栏左侧被取消人员人名和头像没有被移除")
     #返回
     sccp.click_back()
     time.sleep(2)
     if sccp.is_exist_corporate_name():
         sccp.click_back_by_android()
     mgp.wait_for_edit_message_page_load()
     mgp.click_close()
Пример #8
0
 def make_already_in_message_page(reset=False):
     """确保应用在消息页面"""
     # 如果在消息页,不做任何操作
     mp = MessagePage()
     if mp.is_on_this_page():
         return
     else:
         try:
             current_mobile().launch_app()
             mp.wait_for_page_load()
         except:
             # 进入一键登录页
             Preconditions.make_already_in_one_key_login_page()
             #  从一键登录页面登录
             Preconditions.login_by_one_key_login()
Пример #9
0
    def default_setUp(self):
        """
        1、成功登录和飞信
        2、当前页面在群发信使首页
        """

        Preconditions.select_mobile('IOS-移动')
        mp = MessagePage()
        if mp.is_on_this_page():
            Preconditions.enter_group_messenger_page()
            return
        gmp = GroupMessengerPage()
        if not gmp.is_on_group_messenger_page():
            current_mobile().launch_app()
            Preconditions.make_already_in_message_page()
            Preconditions.enter_group_messenger_page()
Пример #10
0
    def default_setUp(self):
        """
        1、成功登录和飞信
        2、当前页面在工作台首页
        """

        Preconditions.select_mobile('IOS-移动')
        mp = MessagePage()
        if mp.is_on_this_page():
            Preconditions.enter_workbench_page()
            return
        wbp = WorkbenchPage()
        if not wbp.is_on_workbench_page():
            current_mobile().launch_app()
            Preconditions.make_already_in_message_page()
            Preconditions.enter_workbench_page()
 def setUp_test_ZYSX_0001():
     Preconditions.select_mobile('Android-移动')
     mp = MessagePage()
     mp.wait_for_page_load()
     if mp.is_on_this_page():
         mp.click_workbench()
         wbp = WorkbenchPage()
         wbp.wait_for_workbench_page_load()
         # 查找并点击所有展开元素
         wbp.find_and_click_open_element()
         if wbp.is_text_present("ateam7272"):
             wbp.click_setting_icon()
             wbp.click_text_or_description("默认团队")
             wbp.click_text_or_description("测试团队1")
             wbp.click_text_or_description("确定")
             time.sleep(2)
             wbp.click_setting_back()
         wbp.click_message_icon()
         Preconditions.enter_important_matters_page()
         return
     imp = ImportantMattersPage()
     if imp.is_on_important_matters_page():
         current_mobile().hide_keyboard_if_display()
     else:
         current_mobile().launch_app()
         Preconditions.make_already_in_message_page()
         Preconditions.enter_important_matters_page()
Пример #12
0
    def default_setUp(self):
        """
        1、成功登录和飞信
        2、当前页面在工作台首页
        """

        Preconditions.select_mobile('Android-移动')
        mp = MessagePage()
        if mp.is_on_this_page():
            Preconditions.enter_workbench_page()
            return
        wbp = WorkbenchPage()
        if wbp.is_on_workbench_page():
            current_mobile().hide_keyboard_if_display()
        else:
            current_mobile().launch_app()
            Preconditions.make_already_in_message_page()
            Preconditions.enter_workbench_page()
Пример #13
0
 def login_by_one_key_login():
     """
     从一键登录页面登录
     :return:
     """
     # 等待号码加载完成后,点击一键登录
     one_key = OneKeyLoginPage()
     one_key.wait_for_page_load()
     # one_key.wait_for_tell_number_load(60)
     one_key.click_one_key_login()
     if one_key.have_read_agreement_detail():
         one_key.click_read_agreement_detail()
         # 同意协议
         agreement = AgreementDetailPage()
         agreement.click_agree_button()
     # 等待消息页
     message_page = MessagePage()
     message_page.wait_login_success(60)
Пример #14
0
    def default_setUp(self):
        """
        1、成功登录和飞信
        2、当前页面在群发信使首页
        """

        Preconditions.select_mobile('Android-移动')
        mp = MessagePage()
        if mp.is_on_this_page():
            Preconditions.enter_group_messenger_page()
            return
        gmp = GroupMessengerPage()
        if gmp.is_on_group_messenger_page():
            current_mobile().hide_keyboard_if_display()
        else:
            current_mobile().launch_app()
            Preconditions.make_already_in_message_page()
            Preconditions.enter_group_messenger_page()
Пример #15
0
    def default_setUp(self):
        """
        1、成功登录和飞信
        2、当前页面在重要事项首页
        """

        Preconditions.select_mobile('Android-移动')
        mp = MessagePage()
        if mp.is_on_this_page():
            Preconditions.enter_important_matters_page()
            return
        imp = ImportantMattersPage()
        if imp.is_on_important_matters_page():
            current_mobile().hide_keyboard_if_display()
        else:
            current_mobile().launch_app()
            Preconditions.make_already_in_message_page()
            Preconditions.enter_important_matters_page()
Пример #16
0
    def default_setUp(self):
        """
        1、成功登录和飞信
        2、当前页面在考勤打卡首页
        """

        Preconditions.select_mobile('Android-移动')
        mp = MessagePage()
        if mp.is_on_this_page():
            Preconditions.enter_attendance_card_page()
            return
        acp = AttendanceCardPage()
        if acp.is_on_attendance_card_page():
            current_mobile().hide_keyboard_if_display()
        else:
            current_mobile().launch_app()
            Preconditions.make_already_in_message_page()
            Preconditions.enter_attendance_card_page()
    def tearDown_test_QYTXL_0016():
        """恢复环境"""

        Preconditions.make_already_in_message_page()
        mp = MessagePage()
        mp.open_contacts_page()
        cp = ContactsPage()
        cp.wait_for_page_load()
        # 删除指定联系人
        cp.click_search_box()
        name = "陈丹丹"
        contact_search = ContactListSearchPage()
        contact_search.wait_for_page_load()
        contact_search.input_search_keyword(name)
        if contact_search.is_contact_in_list(name):
            cp.select_contacts_by_name(name)
            cdp = ContactDetailsPage()
            cdp.wait_for_page_load()
            cdp.click_edit_contact()
            time.sleep(1)
            current_mobile().hide_keyboard_if_display()
            time.sleep(1)
            cdp.change_delete_number()
            cdp.click_sure_delete()
        contact_search.click_back()
        cp.wait_for_page_load()
        mp.open_workbench_page()
        wbp = WorkbenchPage()
        # 返回工作台
        wbp.wait_for_workbench_page_load()
Пример #18
0
    def tearDown_test_QFXS_0012():
        """恢复环境"""

        fail_time = 0
        while fail_time < 5:
            try:
                Preconditions.make_already_in_message_page()
                mp = MessagePage()
                mp.open_workbench_page()
                wbp = WorkbenchPage()
                Preconditions.delete_department_by_name("admin_department1")
                Preconditions.delete_department_by_name("admin_department2")
                workbench_name = wbp.get_workbench_name()
                # 查找并点击所有展开元素
                wbp.find_and_click_open_element()
                # 解决用户部门变更后不能及时刷新的问题
                wbp.click_company_contacts()
                ecp = EnterpriseContactsPage()
                ecp.wait_for_page_load()
                if ecp.is_exist_department_by_name(workbench_name):
                    ecp.click_corporate_by_name(workbench_name)
                time.sleep(2)
                ecp.click_back()
                sccp = SelectCompanyContactsPage()
                time.sleep(2)
                if sccp.is_exist_department_name():
                    ecp.click_back()
                wbp.wait_for_workbench_page_load()
                wbp.click_group_messenger()
                n = 1
                # 解决工作台不稳定问题
                while not wbp.page_should_contain_text2("新建短信"):
                    wbp.click_group_messenger()
                    n += 1
                    if n > 20:
                        break
                return
            except:
                fail_time += 1
Пример #19
0
    def enter_workbench_page():
        """进入工作台首页"""

        mp = MessagePage()
        mp.wait_for_page_load()
        mp.click_workbench()
        wbp = WorkbenchPage()
        wbp.wait_for_page_load()
Пример #20
0
    def enter_group_messenger_page():
        """进入群发信使首页"""

        mp = MessagePage()
        mp.wait_for_page_load()
        mp.click_workbench()
        wbp = WorkbenchPage()
        wbp.wait_for_page_load()
        wbp.click_add_group_messenger()
Пример #21
0
    def enter_workbench_page():
        """进入工作台首页"""

        mp = MessagePage()
        mp.wait_for_page_load()
        mp.click_workbench()
        wbp = WorkbenchPage()
        wbp.wait_for_workbench_page_load()
        # 查找并点击所有展开元素
        wbp.find_and_click_open_element()
Пример #22
0
    def get_into_group_chat_page(name):
        """进入群聊聊天会话页面"""

        mp = MessagePage()
        mp.wait_for_page_load()
        # 点击 +
        mp.click_add_icon()
        # 点击发起群聊
        mp.click_group_chat()
        scg = SelectContactsPage()
        scg.wait_for_page_load()
        scg.click_select_one_group()
        sog = SelectOneGroupPage()
        # 等待“选择一个群”页面加载
        sog.wait_for_page_load()
        # 选择一个普通群
        sog.selecting_one_group_by_name(name)
        gcp = GroupChatPage()
        gcp.wait_for_page_load()
Пример #23
0
 def enter_single_chat_page(name):
     """进入单聊聊天会话页面"""
     mp = MessagePage()
     mp.wait_for_page_load()
     # 点击 +
     mp.click_add_icon()
     # 点击“新建消息”
     mp.click_new_message()
     slc = SelectLocalContactsPage()
     slc.wait_for_page_load()
     # 进入单聊会话页面
     slc.selecting_local_contacts_by_name(name)
     bcp = BaseChatPage()
     if bcp.is_exist_dialog():
         # 点击我已阅读
         bcp.click_i_have_read()
     scp = SingleChatPage()
     # 等待单聊会话页面加载
     scp.wait_for_page_load()
Пример #24
0
    def get_into_enterprise_group_chat_page():
        """进入企业群聊天会话页面 返回群名"""

        mp = MessagePage()
        mp.wait_for_page_load()
        # 点击 +
        mp.click_add_icon()
        # 点击发起群聊
        mp.click_group_chat()
        scg = SelectContactsPage()
        scg.wait_for_page_load()
        scg.click_select_one_group()
        sog = SelectOneGroupPage()
        # 等待“选择一个群”页面加载
        sog.wait_for_page_load()
        # 选择一个企业群
        name = sog.select_one_enterprise_group()
        gcp = GroupChatPage()
        gcp.wait_for_page_load()
        return name
Пример #25
0
    def enter_group_messenger_page():
        """进入群发信使首页"""

        mp = MessagePage()
        mp.wait_for_page_load()
        mp.click_workbench()
        wbp = WorkbenchPage()
        wbp.wait_for_workbench_page_load()
        # 查找并点击所有展开元素
        wbp.find_and_click_open_element()
        wbp.click_add_group_messenger()
        n = 1
        # 解决工作台不稳定问题
        while not wbp.page_should_contain_text2("新建短信"):
            wbp.click_group_messenger()
            n += 1
            if n > 20:
                break
Пример #26
0
    def make_already_in_message_page():
        """确保进入消息界面"""
        preconditions.connect_mobile(REQUIRED_MOBILES['Android-移动'])
        current_mobile().hide_keyboard_if_display()
        message_page = MessagePage()
        if message_page.is_on_this_page():
            return
        try:
            current_mobile().terminate_app('com.chinasofti.rcs', timeout=2000)
        except:
            pass
        current_mobile().launch_app()
        try:
            message_page.wait_until(
                condition=lambda d: message_page.is_on_this_page(),
                timeout=15
            )
            return
        except TimeoutException:
            pass
        preconditions.reset_and_relaunch_app()
        preconditions.make_already_in_one_key_login_page()
        preconditions.login_by_one_key_login()

        @staticmethod
        def enter_single_chat_page(name):
            """进入单聊聊天会话页面"""
            mp = MessagePage()
            mp.wait_for_page_load()
            # 点击 +
            mp.click_add_icon()
            # 点击“新建消息”
            mp.click_new_message()
            slc = SelectLocalContactsPage()
            slc.wait_for_page_load()
            # 进入单聊会话页面
            slc.selecting_local_contacts_by_name(name)
            bcp = BaseChatPage()
            if bcp.is_exist_dialog():
                # 点击我已阅读
                bcp.click_i_have_read()
            scp = SingleChatPage()
            # 等待单聊会话页面加载
            scp.wait_for_page_load()
Пример #27
0
    def enter_mobile_attendance_page():
        """进入移动出勤首页"""

        mp = MessagePage()
        mp.wait_for_page_load()
        mp.click_workbench()
        wbp = WorkbenchPage()
        wbp.wait_for_workbench_page_load()
        # 查找并点击所有展开元素
        wbp.find_and_click_open_element()
        wbp.click_add_mobile_attendance()
        # 解决工作台不稳定问题
        map = MobileAttendancePage()
        n = 1
        while not map.page_should_contain_text2("考勤签到"):
            map.click_back()
            wbp.wait_for_workbench_page_load()
            wbp.click_mobile_attendance()
            n += 1
            if n > 20:
                break
Пример #28
0
    def enter_important_matters_page():
        """进入重要事项首页"""

        mp = MessagePage()
        mp.wait_for_page_load()
        mp.click_workbench()
        wbp = WorkbenchPage()
        wbp.wait_for_workbench_page_load()
        # 查找并点击所有展开元素
        wbp.find_and_click_open_element()
        wbp.click_add_important_matters()
        imp = ImportantMattersPage()
        # 解决工作台不稳定问题
        n = 1
        while not imp.page_should_contain_text2("新建事项"):
            imp.click_back()
            wbp.wait_for_workbench_page_load()
            wbp.click_important_items()
            n += 1
            if n > 20:
                break
Пример #29
0
    def enter_attendance_card_page():
        """进入考勤打卡首页"""

        mp = MessagePage()
        mp.wait_for_page_load()
        mp.click_workbench()
        wbp = WorkbenchPage()
        wbp.wait_for_workbench_page_load()
        # 查找并点击所有展开元素
        wbp.find_and_click_open_element()
        wbp.click_add_attendance_card()
        acp = AttendanceCardPage()
        # 解决工作台不稳定问题
        n = 1
        while not acp.page_should_contain_text2("考勤组"):
            acp.click_back_by_android()
            wbp.wait_for_workbench_page_load()
            wbp.click_attendance_card()
            n += 1
            if n > 20:
                break
        # 确保已经加入考勤组
        if not acp.is_on_attendance_card_page():
            acp.click_text("新建考勤组")
            time.sleep(2)
            if acp.is_text_present("始终允许"):
                acp.click_text("始终允许")
            time.sleep(2)
            acp.click_text("请选择")
            time.sleep(5)
            acp.click_text("全选")
            time.sleep(1)
            acp.click_text("确认")
            time.sleep(1)
            acp.click_create_attendance_group_button()
            time.sleep(5)
            acp.click_back()
            acp.wait_for_page_load()
Пример #30
0
    def make_already_in_message_page(reset_required=False):
        """确保应用在消息页面"""

        if not reset_required:
            message_page = MessagePage()
            if message_page.is_on_this_page():
                return
            else:
                try:
                    current_mobile().terminate_app('com.chinasofti.rcs', timeout=2000)
                except:
                    pass
                current_mobile().launch_app()
            try:
                message_page.wait_until(
                    condition=lambda d: message_page.is_on_this_page(),
                    timeout=3
                )
                return
            except TimeoutException:
                pass
        Preconditions.reset_and_relaunch_app()
        Preconditions.make_already_in_one_key_login_page()
        Preconditions.login_by_one_key_login()