def default_setUp(self): """确保每个用例运行前在消息页面""" Preconditions.select_mobile('Android-移动') mess = MessagePage() if mess.is_on_this_page(): return else: current_mobile().launch_app() Preconditions.make_already_in_message_page()
def test_msg_huangcaizui_A_0045(self): """消息-消息列表界面+功能页面元素检查""" mess = MessagePage() # 点击+号 mess.click_add_icon() mess.page_should_contain_text('新建消息') mess.page_should_contain_text('发送短信') mess.page_should_contain_text('发起群聊') mess.page_should_contain_text('群发助手') mess.page_should_contain_text('扫一扫')
def test_msg_huangcaizui_A_0078(self): """消息-一对一消息会话-设置页面查找不存在的聊天内容""" Preconditions.enter_single_chat_page("大佬2") single = SingleChatPage() mess = MessagePage() chat_set = SingleChatSetPage() findchat = FindChatRecordPage() single.click_setting() chat_set.is_on_this_page() chat_set.search_chat_record() findchat.wait_for_page_loads() findchat.input_search_message('ADDWOQWIQWOPPQWIDIWQDQW') mess.page_should_contain_element((MobileBy.XPATH, '//*[@text ="无搜索结果"]'))
def make_in_message_page(moible_param, reset=False): """确保应用在消息页面""" Preconditions.select_mobile(moible_param, reset) 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()
def test_msg_huangcaizui_A_0100(self): """长按消息体是否弹出多功能列表""" Preconditions.enter_single_chat_page("大佬2") single = SingleChatPage() mess = MessagePage() # 如果当前页面不存在消息,发送一条消息 if single._is_element_present((MobileBy.XPATH, '//*[@text ="呵呵哒"]')): single.press_mess('呵呵哒') mess.click_element((MobileBy.XPATH, '//*[@text ="删除"]')) single.input_text_message("呵呵哒") single.send_text() single.press_mess('呵呵哒') single.page_should_contain_text("复制") single.page_should_contain_text("转发") single.page_should_contain_text("收藏") single.page_should_contain_text("撤回") single.page_should_contain_text("删除") single.page_should_contain_text("多选")
def test_msg_hanjiabin_0195(self): """名片消息——单聊——发出名片后--消息界面——长按""" mess = MessagePage() ChatMorePage().close_more() ChatMorePage().click_card() SelectContactsPage().click_one_contact_631("给个名片2") send_card = Send_CardNamePage() send_card.click_share_btn() send_card.press_mess('给个名片2') mess.click_element((MobileBy.XPATH, '//*[@text="多选"]')) mess.page_should_contain_element((MobileBy.XPATH, '//*[@text="删除"]')) mess.page_should_contain_element((MobileBy.XPATH, '//*[@text="转发"]')) mess.click_element((MobileBy.XPATH, '//*[@text="删除"]'))
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() agreement = AgreementDetailPage() time.sleep(1) agreement.click_agree_button() # 等待消息页 message_page = MessagePage() message_page.wait_login_success(60)
def test_msg_huangcaizui_A_0184(self): """聊天会话窗口的批量选择器页面展示""" Preconditions.enter_single_chat_page("大佬2") mess = MessagePage() single = SingleChatPage() # 如果当前页面不存在消息,发送一条消息 if not single._is_element_present((MobileBy.XPATH, '//*[@text ="测试一个呵呵"]')): single.input_text_message("测试一个呵呵") single.send_text() single.press_mess("测试一个呵呵") single.click_multiple_selection() time.sleep(2) group_chat = GroupChatPage() # 勾选消息时校验页面元素 self.assertTrue(group_chat.is_exist_multiple_selection_back()) mess.page_should_contain_text('已选择') self.assertTrue(group_chat.is_exist_multiple_selection_count()) self.assertTrue(group_chat.is_enabled_multiple_selection_delete()) self.assertTrue(group_chat.is_enabled_multiple_selection_forward()) # 未勾选消息时校验页面元素 group_chat.get_multiple_selection_select_box()[0].click() time.sleep(1) self.assertTrue(group_chat.is_exist_multiple_selection_back()) mess.page_should_contain_text('未选择') self.assertFalse(group_chat.is_exist_multiple_selection_count()) self.assertFalse(group_chat.is_enabled_multiple_selection_delete()) self.assertFalse(group_chat.is_enabled_multiple_selection_forward())
def test_msg_huangcaizui_A_0182(self): """自己撤回文本消息,是否会起新的头像""" Preconditions.enter_single_chat_page("大佬2") single = SingleChatPage() mess = MessagePage() # 如果当前页面不存在消息,发送一条消息 if single._is_element_present((MobileBy.XPATH, '//*[@text ="呵呵哒"]')): single.press_mess('呵呵哒') mess.click_element((MobileBy.XPATH, '//*[@text ="删除"]')) single.input_text_message("呵呵哒") single.send_text() single.press_mess('呵呵哒') mess.click_element((MobileBy.XPATH, '//*[@text ="撤回"]')) # single.click_i_know() time.sleep(3) mess.page_should_contain_element((MobileBy.XPATH, '//*[@text ="你撤回了一条信息"]'))
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()
def test_msg_huangcaizui_A_0022(self): """免费/发送短信—选择手机联系人""" mess = MessagePage() # 点击+号 mess.click_add_icon() # 点击免费短信 mess.click_free_sms() mess_call_page = CallPage() freemsg = FreeMsgPage() # 若存在欢迎页面 if freemsg.is_exist_welcomepage(): # 点击确定按钮 freemsg.click_sure_btn() time.sleep(2) # 若存在权限控制 if mess_call_page.is_exist_allow_button(): # 存在提示点击允许 mess_call_page.wait_for_freemsg_load() mess.click_element((MobileBy.XPATH, '//*[@text ="测试短信1"]')) # 判断存在?标志 FreeMsgPage().wait_is_exist_wenhao() # 判断存在退出短信按钮 FreeMsgPage().wait_is_exist_exit()
def make_already_have_my_group(reset=False): """确保有群,没有群则创建群名为mygroup+电话号码后4位的群""" # 消息页面 Preconditions.make_already_in_message_page(reset) mess = MessagePage() mess.wait_for_page_load() # 点击 + mess.click_add_icon() # 点击 发起群聊 mess.click_group_chat() # 选择联系人界面,选择一个群 sc = SelectContactsPage() times = 15 n = 0 # 重置应用时需要再次点击才会出现选择一个群 while n < times: flag = sc.wait_for_page_load() if not flag: sc.click_back() time.sleep(2) mess.click_add_icon() mess.click_group_chat() sc = SelectContactsPage() else: break n = n + 1 time.sleep(3) sc.click_select_one_group() # 群名 group_name = Preconditions.get_group_chat_name() # 获取已有群名 sog = SelectOneGroupPage() sog.wait_for_page_load() sog.click_search_group() time.sleep(2) sog.input_search_keyword(group_name) time.sleep(2) if sog.is_element_exit("群聊名"): current_mobile().back() time.sleep(2) current_mobile().back() return current_mobile().back() time.sleep(2) current_mobile().back() sog.click_back() time.sleep(2) sc.click_back() mess.wait_for_page_load() # 点击 + mess.click_add_icon() # 点击 发起群聊 mess.click_group_chat() # 从本地联系人中选择成员创建群 sc.click_local_contacts() time.sleep(2) slc = SelectLocalContactsPage() a = 0 names = {} while a < 3: names = slc.get_contacts_name() num = len(names) if not names: raise AssertionError("No contacts, please add contacts in address book.") if num == 1: sog.page_up() a += 1 if a == 3: raise AssertionError("联系人只有一个,请再添加多个不同名字联系人组成群聊") else: break # 选择成员 for name in names: slc.select_one_member_by_name(name) slc.click_sure() # 创建群 cgnp = CreateGroupNamePage() cgnp.input_group_name(group_name) cgnp.click_sure() # 等待群聊页面加载 GroupChatPage().wait_for_page_load()
def get_into_group_chat_page(name): """进入群聊聊天会话页面""" mp = MessagePage() mp.wait_for_page_load() # 点击 + mp.click_add_icon() # 点击发起群聊 mp.click_group_chat() scg = SelectContactsPage() times = 15 n = 0 # 重置应用时需要再次点击才会出现选择一个群 while n < times: # 等待选择联系人页面加载 flag = scg.wait_for_page_load() if not flag: scg.click_back() time.sleep(2) mp.click_add_icon() mp.click_group_chat() else: break n += 1 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()
def go_to_group_double(group_name): """从消息列表进入双机群聊,前提:已经存在双机群聊""" mess = MessagePage() mess.wait_for_page_load() mess = MessagePage() mess.wait_for_page_load() # 点击 + mess.click_add_icon() # 点击 发起群聊 mess.click_group_chat() # 选择联系人界面,选择一个群 sc = SelectContactsPage() times = 15 n = 0 # 重置应用时需要再次点击才会出现选择一个群 while n < times: flag = sc.wait_for_page_load() if not flag: sc.click_back() time.sleep(2) mess.click_add_icon() mess.click_group_chat() sc = SelectContactsPage() else: break n = n + 1 time.sleep(3) sc.click_select_one_group() # # 群名 # group_name = Preconditions.get_group_chat_name_double() # 获取已有群名 sog = SelectOneGroupPage() sog.wait_for_page_load() sog.click_search_group() time.sleep(2) sog.input_search_keyword(group_name) time.sleep(2) if not sog.is_element_exit("群聊名"): raise AssertionError("没有找到双机群聊,请确认是否创建") sog.click_element_("群聊名") gcp = GroupChatPage() gcp.wait_for_page_load()
def build_one_new_group_with_number(puhone_number, group_name): """新建一个指定成员和名称的群,如果已存在,不建群""" # 消息页面 mess = MessagePage() mess.wait_for_page_load() # 点击 + mess.click_add_icon() # 点击 发起群聊 mess.click_group_chat() # 选择联系人界面,选择一个群 sc = SelectContactsPage() times = 15 n = 0 # 重置应用时需要再次点击才会出现选择一个群 while n < times: flag = sc.wait_for_page_load() if not flag: sc.click_back() time.sleep(2) mess.click_add_icon() mess.click_group_chat() sc = SelectContactsPage() else: break n = n + 1 time.sleep(3) sc.click_select_one_group() # 群名 # group_name = Preconditions.get_group_chat_name() # 获取已有群名 sog = SelectOneGroupPage() sog.wait_for_page_load() sog.click_search_group() time.sleep(2) sog.input_search_keyword(group_name) time.sleep(2) if sog.is_element_exit("群聊名"): current_mobile().back() time.sleep(2) current_mobile().back() return True current_mobile().back() time.sleep(2) current_mobile().back() current_mobile().back() time.sleep(2) current_mobile().back() time.sleep(2) # 点击 + mess.click_add_icon() # 点击 发起群聊 mess.click_group_chat() # 添加指定电话成员 time.sleep(2) sc.input_search_keyword(puhone_number) time.sleep(2) sog.click_text("tel") time.sleep(2) # 从本地联系人中选择成员创建群 sc.click_local_contacts() time.sleep(2) slc = SelectLocalContactsPage() SelectContactsPage().click_one_contact_631("飞信电话") # a = 0 # names = {} # while a < 3: # names = slc.get_contacts_name() # num = len(names) # if not names: # raise AssertionError("No contacts, please add contacts in address book.") # if num == 1: # sog.page_up() # a += 1 # if a == 3: # raise AssertionError("联系人只有一个,请再添加多个不同名字联系人组成群聊") # else: # break # # 选择成员 # for name in names: # slc.select_one_member_by_name(name) slc.click_sure() # 创建群 cgnp = CreateGroupNamePage() cgnp.input_group_name(group_name) cgnp.click_sure() # 等待群聊页面加载 GroupChatPage().wait_for_page_load() return False