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
    def test_QYTXL_0010(self):
        """模糊搜索(数字、中文、英文)"""

        # 进入企业通讯录首页
        Preconditions.enter_enterprise_contacts_page()
        ecp = EnterpriseContactsPage()
        # 点击搜索框
        ecp.click_search_box()
        search_name = "陈"
        ecp.input_search_message(search_name)
        time.sleep(2)
        # 1.检查搜索结果是否模糊匹配关键字
        self.assertEquals(ecp.is_search_contacts_name_match(search_name), True)
        search_name2 = "zh"
        ecp.input_search_message(search_name2)
        time.sleep(2)
        # 2.检查搜索结果是否模糊匹配关键字
        self.assertEquals(ecp.is_search_contacts_name_match("郑海"), True)
        search_number = "138028"
        ecp.input_search_message(search_number)
        time.sleep(2)
        # 3.检查搜索结果是否模糊匹配关键字
        self.assertEquals(ecp.is_search_contacts_number_match(search_number),
                          True)
        ecp.click_return()
        time.sleep(1)
        ecp.click_back()
        time.sleep(1)
        ecp.click_back()
        wbp = WorkbenchPage()
        wbp.wait_for_workbench_page_load()
    def test_QYTXL_0004(self):
        """用户同时在两个部门下直接进入企业层级"""

        wbp = WorkbenchPage()
        # 添加本机号码到指定部门1
        department_name1 = "admin_department1"
        Preconditions.add_phone_number_to_department(department_name1)
        # 添加本机号码到指定部门2
        department_name2 = "admin_department2"
        Preconditions.add_phone_number_to_department(department_name2)
        workbench_name = wbp.get_workbench_name()
        # 解决用户部门变更后不能及时刷新的问题
        wbp.click_company_contacts()
        ecp = EnterpriseContactsPage()
        ecp.wait_for_page_load()
        time.sleep(2)
        ecp.click_back()
        time.sleep(2)
        if ecp.is_exist_department_name():
            ecp.click_back()
        wbp.wait_for_workbench_page_load()
        wbp.click_company_contacts()
        ecp.wait_for_page_load()
        # 1.跳转后是否显示企业层级:企业+部门名称(部门随机显示一个)
        self.assertEquals(ecp.is_text_present(workbench_name), True)
        result1 = ecp.is_text_present(department_name1)
        result2 = ecp.is_text_present(department_name2)
        self.assertEquals((result1 or result2), True)
    def test_QYTXL_0003(self):
        """用户在企业部门下又在企业子一层级中,直接进入企业层级"""

        wbp = WorkbenchPage()
        # 添加本机号码到指定部门
        department_name = "admin_department"
        Preconditions.add_phone_number_to_department(department_name)
        # 添加本机号码到和通讯录
        Preconditions.add_phone_number_to_he_contacts()
        workbench_name = wbp.get_workbench_name()
        # 解决用户部门变更后不能及时刷新的问题
        wbp.click_company_contacts()
        ecp = EnterpriseContactsPage()
        ecp.wait_for_page_load()
        time.sleep(2)
        ecp.click_back()
        time.sleep(2)
        if ecp.is_exist_department_name():
            ecp.click_back()
        wbp.wait_for_workbench_page_load()
        wbp.click_company_contacts()
        ecp.wait_for_page_load()
        # 1.是否直接进入企业层级:企业+部门名称
        self.assertEquals(ecp.is_text_present(workbench_name), True)
        result = ecp.is_text_present(department_name)
        self.assertEquals(result, True)
    def test_QYTXL_0008(self):
        """验证点击返回按钮是否正确"""

        # 进入企业通讯录首页
        Preconditions.enter_enterprise_contacts_page()
        ecp = EnterpriseContactsPage()
        # 点击【<】返回
        ecp.click_back()
        time.sleep(1)
        # 1.等待工作台首页加载
        wbp = WorkbenchPage()
        wbp.wait_for_workbench_page_load()
示例#6
0
    def test_YYSC_0019(self):
        """验证点击打开按钮是否跳转正确"""

        # 进入应用商城首页
        Preconditions.enter_app_store_page()
        asp = AppStorePage()
        wbp = WorkbenchPage()
        asp.wait_for_page_load()
        # 搜索应用
        asp.click_search_app()
        search_name = "企业通讯录"
        asp.wait_for_search_page_load()
        asp.input_store_name(search_name)
        time.sleep(1)
        asp.click_search()
        time.sleep(5)
        # 解决工作台不稳定的问题
        if not asp.is_exist_join():
            asp.click_close()
            wbp.wait_for_workbench_page_load()
            wbp.click_app_store()
            asp.wait_for_page_load()
            asp.click_search_app()
            asp.wait_for_search_page_load()
            asp.input_store_name(search_name)
            asp.click_search()
            time.sleep(5)
        # 打开应用
        asp.click_open()
        # 1.等待应用首页加载
        ecp = EnterpriseContactsPage()
        ecp.wait_for_page_load()
        ecp.click_back()
        time.sleep(1)
        ecp.click_back()
        asp.wait_for_search_page_load()
        asp.click_back()
        asp.wait_for_page_load()
        # 进入应用介绍页
        asp.click_text("超级会议")
        asp.wait_for_app_details_page_load()
        # 打开应用
        asp.click_open()
        smp = SuperMeetingPage()
        # 2.等待应用首页加载
        smp.wait_for_page_loads()
        smp.click_close()
        wbp.wait_for_workbench_page_load()
    def test_QFXS_0012(self):
        """用户同时在两个部门下"""

        gmp = GroupMessengerPage()
        # 等待群发信使首页加载
        gmp.wait_for_page_load()
        # 确保用户在企业部门下
        gmp.click_back()
        wbp = WorkbenchPage()
        # 添加本机号码到指定部门1
        department_name1 = "admin_department1"
        Preconditions.add_phone_number_to_department(department_name1)
        # 添加本机号码到指定部门2
        department_name2 = "admin_department2"
        Preconditions.add_phone_number_to_department(department_name2)
        workbench_name = wbp.get_workbench_name()
        # 解决用户部门变更后不能及时刷新的问题
        wbp.click_company_contacts()
        ecp = EnterpriseContactsPage()
        ecp.wait_for_page_load()
        time.sleep(2)
        ecp.click_back()
        time.sleep(2)
        if ecp.is_exist_department_name():
            ecp.click_back()
        wbp.wait_for_workbench_page_load()
        wbp.click_group_messenger()
        gmp.wait_for_page_load()
        gmp.click_new_message()
        nmp = NewMessagePage()
        # 等待群发信使->新建短信页面加载
        nmp.wait_for_page_load()
        nmp.click_add_icon()
        sccp = SelectCompanyContactsPage()
        # 等待群发信使->新建短信->选择联系人页面加载
        sccp.wait_for_page_load()
        # 1.跳转后是否显示企业层级:企业+部门名称(部门随机显示一个)
        self.assertEquals(sccp.is_exist_corporate_grade(), False)
        self.assertEquals(sccp.is_exist_department_by_name(workbench_name),
                          True)
        self.assertEquals(
            (sccp.is_exist_department_by_name(department_name1)
             or sccp.is_exist_department_by_name(department_name2)), True)
        sccp.click_back()
        nmp.wait_for_page_load()
        nmp.click_back()
        # 等待群发信使首页加载
        gmp.wait_for_page_load()
    def test_QYTXL_0001(self):
        """用户不在任何部门下直接进入企业子一层级"""

        # 进入企业通讯录首页
        Preconditions.enter_enterprise_contacts_page()
        ecp = EnterpriseContactsPage()
        # 1.是否直接进入企业子一层级
        self.assertEquals(ecp.is_exist_corporate_grade(), True)
        ecp.click_back()
        time.sleep(2)
        # 2.页面是否跳转到企业层级
        self.assertEquals(ecp.is_exist_corporate_grade(), False)
        self.assertEquals(ecp.is_exist_department_name(), True)
        ecp.click_back()
        # 等待工作台首页加载
        wbp = WorkbenchPage()
        wbp.wait_for_workbench_page_load()
    def test_QFXS_0011(self):
        """用户在企业部门下又在企业子一层级中,直接进入企业层级"""

        gmp = GroupMessengerPage()
        # 等待群发信使首页加载
        gmp.wait_for_page_load()
        # 确保用户既在企业部门下又在企业子一层级
        gmp.click_back()
        wbp = WorkbenchPage()
        # 添加本机号码到指定部门
        department_name = "admin_department"
        Preconditions.add_phone_number_to_department(department_name)
        # 添加本机号码到和通讯录
        Preconditions.add_phone_number_to_he_contacts()
        workbench_name = wbp.get_workbench_name()
        # 解决用户部门变更后不能及时刷新的问题
        wbp.click_company_contacts()
        ecp = EnterpriseContactsPage()
        ecp.wait_for_page_load()
        time.sleep(2)
        ecp.click_back()
        time.sleep(2)
        if ecp.is_exist_department_name():
            ecp.click_back()
        wbp.wait_for_workbench_page_load()
        wbp.click_group_messenger()
        gmp.wait_for_page_load()
        gmp.click_new_message()
        nmp = NewMessagePage()
        # 等待群发信使->新建短信页面加载
        nmp.wait_for_page_load()
        nmp.click_add_icon()
        sccp = SelectCompanyContactsPage()
        # 等待群发信使->新建短信->选择联系人页面加载
        sccp.wait_for_page_load()
        # 1.是否直接进入企业层级:企业+部门名称
        self.assertEquals(sccp.is_exist_corporate_grade(), False)
        self.assertEquals(sccp.is_exist_department_by_name(workbench_name),
                          True)
        self.assertEquals(sccp.is_exist_department_by_name(department_name),
                          True)
        sccp.click_back()
        nmp.wait_for_page_load()
        nmp.click_back()
        # 等待群发信使首页加载
        gmp.wait_for_page_load()
    def test_QYTXL_0002(self):
        """用户在企业部门下直接进入企业层级"""

        wbp = WorkbenchPage()
        # 添加本机号码到指定部门
        department_name = "admin_department"
        Preconditions.add_phone_number_to_department(department_name)
        workbench_name = wbp.get_workbench_name()
        # 解决用户部门变更后不能及时刷新的问题
        wbp.click_company_contacts()
        ecp = EnterpriseContactsPage()
        ecp.wait_for_page_load()
        time.sleep(2)
        ecp.click_back()
        time.sleep(2)
        if ecp.is_exist_department_name():
            ecp.click_back()
        wbp.wait_for_workbench_page_load()
        wbp.click_company_contacts()
        ecp.wait_for_page_load()
        # 1.是否直接进入企业层级:企业+部门名称
        self.assertEquals(ecp.is_exist_corporate_grade(), False)
        self.assertEquals(ecp.is_exist_department_by_name(workbench_name),
                          True)
        self.assertEquals(ecp.is_exist_department_by_name(department_name),
                          True)
        ecp.click_back()
        wbp.wait_for_workbench_page_load()
示例#11
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
    def test_QYTXL_0011(self):
        """网络异常下搜索企业通讯录联系人"""

        # 进入企业通讯录首页
        Preconditions.enter_enterprise_contacts_page()
        ecp = EnterpriseContactsPage()
        # 设置手机网络断开
        ecp.set_network_status(0)
        # 点击搜索框
        ecp.click_search_box()
        search_name = "大佬1"
        ecp.input_search_message(search_name)
        # 1.页面是否出现网络异常提示
        self.assertEquals(ecp.is_toast_exist("网络连接异常"), True)
        self.assertEquals(ecp.is_text_present("网络出错,轻触屏幕重新加载"), True)
        ecp.click_return()
        time.sleep(1)
        ecp.click_back()
        time.sleep(1)
        ecp.click_back()
        wbp = WorkbenchPage()
        wbp.wait_for_workbench_page_load()
    def test_QYTXL_0012(self):
        """搜索企业通讯录联系人结果展示"""

        # 进入企业通讯录首页
        Preconditions.enter_enterprise_contacts_page()
        ecp = EnterpriseContactsPage()
        # 点击搜索框
        ecp.click_search_box()
        search_name = "陈丹丹"
        ecp.input_search_message(search_name)
        time.sleep(2)
        # 1.是否显示头像、姓名、号码、公司部门(没公司部门的不显示)
        self.assertEquals(ecp.is_exists_contacts_image(), True)
        self.assertEquals(ecp.is_exists_contacts_name(), True)
        self.assertEquals(ecp.is_exists_contacts_number(), True)
        self.assertEquals(ecp.is_exists_value_by_name(search_name), True)
        ecp.click_return()
        time.sleep(1)
        ecp.click_back()
        time.sleep(1)
        ecp.click_back()
        wbp = WorkbenchPage()
        wbp.wait_for_workbench_page_load()
    def test_QYTXL_0013(self):
        """点击搜索结果已保存到本地的RCS用户进入联系人详情页"""

        # 进入企业通讯录首页
        Preconditions.enter_enterprise_contacts_page()
        ecp = EnterpriseContactsPage()
        # 点击搜索框
        ecp.click_search_box()
        search_name = "大佬1"
        ecp.input_search_message(search_name)
        time.sleep(2)
        ecp.click_contacts_by_name(search_name)
        cdp = ContactDetailsPage()
        cdp.wait_for_page_load()
        # 1.是否显示用户的详情信息(副号拨打没做验证,需要提供满足条件的测试号码)
        self.assertEquals(cdp.is_exists_contacts_name(), True)
        self.assertEquals(cdp.is_exists_contacts_number(), True)
        self.assertEquals(cdp.is_exists_contacts_image(), True)
        self.assertEquals(cdp.is_exists_value_by_name("公司"), True)
        self.assertEquals(cdp.is_exists_value_by_name("职位"), True)
        self.assertEquals(cdp.is_exists_value_by_name("邮箱"), True)
        self.assertEquals(cdp.is_exists_message_icon(), True)
        self.assertEquals(cdp.is_exists_call_icon(), True)
        self.assertEquals(cdp.is_exists_voice_call_icon(), True)
        self.assertEquals(cdp.is_exists_video_call_icon(), True)
        self.assertEquals(cdp.is_exists_dial_hefeixin_icon(), True)
        self.assertEquals(cdp.is_exists_share_card_icon(), True)
        # 返回工作台
        cdp.click_back_icon()
        time.sleep(1)
        ecp.click_return()
        time.sleep(1)
        ecp.click_back()
        time.sleep(1)
        ecp.click_back()
        wbp = WorkbenchPage()
        wbp.wait_for_workbench_page_load()
    def test_QYTXL_0015(self):
        """点击搜索结果已保存到本地的本机用户进入联系人详情页"""

        # 进入企业通讯录首页
        Preconditions.enter_enterprise_contacts_page()
        ecp = EnterpriseContactsPage()
        # 点击搜索框
        ecp.click_search_box()
        search_number = current_mobile().get_cards(CardType.CHINA_MOBILE)[0]
        ecp.input_search_message(search_number)
        time.sleep(2)
        ecp.click_contacts_by_number(search_number)
        cdp = ContactDetailsPage()
        cdp.wait_for_page_load()
        time.sleep(2)
        # 确保本机用户已保存到本地
        if cdp.is_exists_save_contacts_icon():
            cdp.click_save_contacts_icon()
            ccp = CreateContactPage()
            ccp.wait_for_page_load()
            ccp.save_contact()
            time.sleep(2)
        # 1.是否显示用户的详情信息(副号拨打没做验证,需要提供满足条件的测试号码)
        self.assertEquals(cdp.is_exists_contacts_name(), True)
        self.assertEquals(cdp.is_exists_contacts_number(), True)
        self.assertEquals(cdp.is_exists_contacts_image(), True)
        self.assertEquals(cdp.is_exists_value_by_name("公司"), True)
        self.assertEquals(cdp.is_exists_value_by_name("职位"), True)
        self.assertEquals(cdp.is_exists_value_by_name("邮箱"), True)
        self.assertEquals(cdp.is_exists_message_icon(), True)
        self.assertEquals(cdp.is_exists_call_icon(), True)
        self.assertEquals(cdp.is_exists_voice_call_icon(), True)
        self.assertEquals(cdp.is_exists_video_call_icon(), True)
        self.assertEquals(cdp.is_exists_dial_hefeixin_icon(), True)
        self.assertEquals(cdp.is_exists_share_card_icon(), True)
        # 点击分享名片
        cdp.click_share_card_icon()
        scp = SelectContactsPage()
        scp.wait_for_page_load()
        scp.click_select_one_group()
        sog = SelectOneGroupPage()
        sog.wait_for_page_load()
        name = "群聊1"
        # 分享名片到一个普通群
        sog.selecting_one_group_by_name(name)
        time.sleep(2)
        sog.click_text("发送名片")
        # 2.是否提示已发送
        self.assertEquals(sog.is_toast_exist("已发送"), True)
        time.sleep(2)
        # 3.验证消息、电话、语音视频、视频电话、副号拨打(需要提供满足条件的测试号码)、和飞信电话是否置灰,不可点击
        self.assertEquals(cdp.message_icon_is_enabled(), False)
        self.assertEquals(cdp.call_icon_is_enabled(), False)
        self.assertEquals(cdp.voice_call_icon_is_enabled(), False)
        self.assertEquals(cdp.video_call_icon_is_enabled(), False)
        self.assertEquals(cdp.dial_hefeixin_icon_is_enabled(), False)
        # 返回消息页面验证是否发送成功
        cdp.click_back_icon()
        time.sleep(1)
        ecp.click_return()
        time.sleep(1)
        ecp.click_back()
        time.sleep(1)
        ecp.click_back()
        wbp = WorkbenchPage()
        wbp.wait_for_workbench_page_load()
        mp = MessagePage()
        mp.open_message_page()
        mp.wait_for_page_load()
        mp.choose_chat_by_name(name)
        time.sleep(2)
        cwp = ChatWindowPage()
        cwp.wait_for_msg_send_status_become_to('发送成功', 10)
        gcp = GroupChatPage()
        # 返回工作台
        gcp.click_back()
        mp.wait_for_page_load()
        mp.open_workbench_page()
        wbp.wait_for_workbench_page_load()