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()
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()
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()