e2e: starting to-dos
This commit is contained in:
parent
673b1afc3a
commit
aecad2136e
|
@ -437,9 +437,6 @@ class TestCommunityOneDeviceMerged(MultipleSharedDeviceTestCase):
|
||||||
self.errors.verify_no_errors()
|
self.errors.verify_no_errors()
|
||||||
|
|
||||||
@marks.testrail_id(703133)
|
@marks.testrail_id(703133)
|
||||||
@marks.xfail(reason="Restoring communities issue: 16787; "
|
|
||||||
"restoring contacts issue: 15500",
|
|
||||||
run=False)
|
|
||||||
def test_restore_multiaccount_with_waku_backup_remove_switch(self):
|
def test_restore_multiaccount_with_waku_backup_remove_switch(self):
|
||||||
self.home.jump_to_communities_home()
|
self.home.jump_to_communities_home()
|
||||||
profile = self.home.profile_button.click()
|
profile = self.home.profile_button.click()
|
||||||
|
@ -458,12 +455,16 @@ class TestCommunityOneDeviceMerged(MultipleSharedDeviceTestCase):
|
||||||
"Incorrect contacts number restored: %s instead of %s" % (contacts_number, len(waku_user.contacts)))
|
"Incorrect contacts number restored: %s instead of %s" % (contacts_number, len(waku_user.contacts)))
|
||||||
else:
|
else:
|
||||||
for i in range(contacts_number):
|
for i in range(contacts_number):
|
||||||
self.home.click_system_back_button_until_element_is_shown()
|
key = waku_user.contacts[i]
|
||||||
contact_row = self.home.contact_details_row(index=i + 1)
|
if not self.home.element_by_text(key).is_element_displayed(30):
|
||||||
shown_name_text = contact_row.username_text.text
|
self.errors.append('%s was not restored as a contact from waku backup!' % key)
|
||||||
if shown_name_text in waku_user.contacts:
|
# Disabled for simple check as sometimes from waku-backup users restored with 3-random names
|
||||||
waku_user.contacts.remove(shown_name_text)
|
# self.home.click_system_back_button_until_element_is_shown()
|
||||||
continue
|
# contact_row = self.home.contact_details_row(index=i + 1)
|
||||||
|
# shown_name_text = contact_row.username_text.text
|
||||||
|
# if shown_name_text in waku_user.contacts:
|
||||||
|
# waku_user.contacts.remove(shown_name_text)
|
||||||
|
# continue
|
||||||
# else:
|
# else:
|
||||||
# contact_row.click()
|
# contact_row.click()
|
||||||
# shown_name_text = profile.default_username_text.text
|
# shown_name_text = profile.default_username_text.text
|
||||||
|
@ -477,9 +478,9 @@ class TestCommunityOneDeviceMerged(MultipleSharedDeviceTestCase):
|
||||||
# if chat.element_starts_with_text(name).is_element_displayed(sec=20):
|
# if chat.element_starts_with_text(name).is_element_displayed(sec=20):
|
||||||
# waku_user.contacts.remove(name)
|
# waku_user.contacts.remove(name)
|
||||||
# continue
|
# continue
|
||||||
if waku_user.contacts:
|
# if waku_user.contacts:
|
||||||
self.errors.append(
|
# self.errors.append(
|
||||||
"Contact(s) was (were) not restored from backup: %s!" % ", ".join(waku_user.contacts))
|
# "Contact(s) was (were) not restored from backup: %s!" % ", ".join(waku_user.contacts))
|
||||||
|
|
||||||
self.home.just_fyi("Check restored communities")
|
self.home.just_fyi("Check restored communities")
|
||||||
self.home.communities_tab.click()
|
self.home.communities_tab.click()
|
||||||
|
@ -564,10 +565,9 @@ class TestCommunityMultipleDeviceMerged(MultipleSharedDeviceTestCase):
|
||||||
self.channel_1.send_message(self.text_message)
|
self.channel_1.send_message(self.text_message)
|
||||||
|
|
||||||
self.community_1, self.community_2 = self.home_1.get_community_view(), self.home_2.get_community_view()
|
self.community_1, self.community_2 = self.home_1.get_community_view(), self.home_2.get_community_view()
|
||||||
self.community_1.send_invite_to_community(self.community_name, self.username_2)
|
self.community_1.share_community(self.community_name, self.username_2)
|
||||||
self.home_1.get_to_community_channel_from_home(self.community_name)
|
self.home_1.get_to_community_channel_from_home(self.community_name)
|
||||||
|
|
||||||
# self.chat_2 = self.home_2.get_chat(self.username_1).click()
|
|
||||||
self.home_2.just_fyi("Send message to contact (need for blocking contact) test")
|
self.home_2.just_fyi("Send message to contact (need for blocking contact) test")
|
||||||
self.chat_2.send_message(self.text_message)
|
self.chat_2.send_message(self.text_message)
|
||||||
self.chat_2.chat_element_by_text(self.community_name).view_community_button.click()
|
self.chat_2.chat_element_by_text(self.community_name).view_community_button.click()
|
||||||
|
@ -978,9 +978,9 @@ class TestCommunityMultipleDeviceMerged(MultipleSharedDeviceTestCase):
|
||||||
|
|
||||||
@marks.testrail_id(703086)
|
@marks.testrail_id(703086)
|
||||||
def test_community_mark_all_messages_as_read(self):
|
def test_community_mark_all_messages_as_read(self):
|
||||||
self.home_1.jump_to_communities_home()
|
for home in self.home_1, self.home_2:
|
||||||
self.channel_2.click_system_back_button_until_element_is_shown()
|
home.click_system_back_button_until_element_is_shown()
|
||||||
self.home_2.communities_tab.click()
|
home.communities_tab.click()
|
||||||
self.home_2.get_chat(self.community_name, community=True).click()
|
self.home_2.get_chat(self.community_name, community=True).click()
|
||||||
self.community_2.get_channel(self.channel_name).click()
|
self.community_2.get_channel(self.channel_name).click()
|
||||||
self.channel_2.send_message(self.text_message)
|
self.channel_2.send_message(self.text_message)
|
||||||
|
@ -1144,8 +1144,6 @@ class TestCommunityMultipleDeviceMerged(MultipleSharedDeviceTestCase):
|
||||||
self.errors.append('Community is still shown in the list after leave')
|
self.errors.append('Community is still shown in the list after leave')
|
||||||
self.errors.verify_no_errors()
|
self.errors.verify_no_errors()
|
||||||
|
|
||||||
@marks.xfail(reason="Can't invite user to closed community https://github.com/status-im/status-mobile/issues/16968",
|
|
||||||
run=False)
|
|
||||||
@marks.testrail_id(702948)
|
@marks.testrail_id(702948)
|
||||||
def test_community_hashtag_links_to_community_channels(self):
|
def test_community_hashtag_links_to_community_channels(self):
|
||||||
for home in self.homes:
|
for home in self.homes:
|
||||||
|
@ -1156,7 +1154,7 @@ class TestCommunityMultipleDeviceMerged(MultipleSharedDeviceTestCase):
|
||||||
self.home_1.just_fyi("Device 1 creates a closed community")
|
self.home_1.just_fyi("Device 1 creates a closed community")
|
||||||
self.home_1.create_community(community_type="closed")
|
self.home_1.create_community(community_type="closed")
|
||||||
community_name = "closed community"
|
community_name = "closed community"
|
||||||
self.community_1.send_invite_to_community(community_name, self.username_2)
|
self.community_1.share_community(community_name, self.username_2)
|
||||||
|
|
||||||
self.home_2.just_fyi("Device 2 joins the community")
|
self.home_2.just_fyi("Device 2 joins the community")
|
||||||
self.home_2.get_chat(self.username_1).click()
|
self.home_2.get_chat(self.username_1).click()
|
||||||
|
@ -1165,31 +1163,40 @@ class TestCommunityMultipleDeviceMerged(MultipleSharedDeviceTestCase):
|
||||||
self.chat_2.chat_element_by_text(community_name).view_community_button.click()
|
self.chat_2.chat_element_by_text(community_name).view_community_button.click()
|
||||||
self.community_2.join_community()
|
self.community_2.join_community()
|
||||||
|
|
||||||
|
self.home_1.just_fyi("Device 1 accepts the community request")
|
||||||
|
self.home_1.jump_to_communities_home()
|
||||||
|
try:
|
||||||
|
self.home_1.notifications_unread_badge.wait_for_visibility_of_element(120)
|
||||||
|
except TimeoutException:
|
||||||
|
self.errors.append("Unread indicator is not shown in notifications on membership request")
|
||||||
|
self.home_1.open_activity_center_button.click()
|
||||||
|
reply_element = self.home_1.get_element_from_activity_center_view(self.username_2)
|
||||||
|
reply_element.swipe_right_on_element()
|
||||||
|
self.home_1.activity_notification_swipe_button.click()
|
||||||
|
self.home_1.close_activity_centre.click()
|
||||||
|
|
||||||
dogs_channel, cats_channel = "dogs", "cats"
|
dogs_channel, cats_channel = "dogs", "cats"
|
||||||
cats_message = "Where is a cat?"
|
cats_message = "Where is a cat?"
|
||||||
|
|
||||||
self.home_1.just_fyi("Device 1 sends a message in the cats channel")
|
self.home_1.just_fyi("Device 1 sends a message in the cats channel")
|
||||||
self.home_1.get_to_community_channel_from_home(community_name=community_name, channel_name=cats_channel)
|
self.home_1.get_to_community_channel_from_home(community_name=community_name, channel_name=cats_channel)
|
||||||
self.channel_1.send_message(cats_message)
|
self.channel_1.send_message(cats_message)
|
||||||
self.channel_1.click_system_back_button_until_element_is_shown(
|
self.channel_1.jump_to_communities_home()
|
||||||
element=self.community_1.get_channel(dogs_channel))
|
self.home_1.get_to_community_channel_from_home(community_name=community_name, channel_name=dogs_channel)
|
||||||
|
|
||||||
self.home_1.just_fyi("Device 1 sends a message with hashtag in the dogs channel")
|
self.home_1.just_fyi("Device 1 sends a message with hashtag in the dogs channel")
|
||||||
self.community_1.get_channel(dogs_channel).click_until_presence_of_element(self.channel_1.chat_message_input)
|
|
||||||
message_with_hashtag = "#cats"
|
message_with_hashtag = "#cats"
|
||||||
self.channel_1.send_message(message_with_hashtag)
|
self.channel_1.send_message(message_with_hashtag)
|
||||||
|
|
||||||
self.home_2.just_fyi("Device 2 clicks on the message with hashtag in the community channel")
|
self.home_2.just_fyi("Device 2 clicks on the message with hashtag in the community channel")
|
||||||
self.community_2.get_channel(dogs_channel).click_until_presence_of_element(self.channel_2.chat_message_input)
|
self.home_2.jump_to_communities_home()
|
||||||
self.channel_2.chat_element_by_text(message_with_hashtag).message_body.wait_for_visibility_of_element(30)
|
self.home_2.get_to_community_channel_from_home(community_name, dogs_channel)
|
||||||
self.channel_2.chat_element_by_text(message_with_hashtag).message_body.click_inside_element_by_coordinate(
|
self.channel_2.chat_element_by_text(message_with_hashtag).click_on_link_inside_message_body()
|
||||||
rel_x=0.2, rel_y=0.5)
|
|
||||||
if not self.channel_2.chat_element_by_text(cats_message).is_element_displayed(30):
|
if not self.channel_2.chat_element_by_text(cats_message).is_element_displayed(30):
|
||||||
self.errors.append("Receiver was not navigated to the cats channel")
|
self.errors.append("Receiver was not navigated to the cats channel")
|
||||||
|
|
||||||
self.home_1.just_fyi("Device 1 clicks on the message with hashtag in the community channel")
|
self.home_1.just_fyi("Device 1 clicks on the message with hashtag in the community channel")
|
||||||
self.channel_1.chat_element_by_text(message_with_hashtag).message_body.click_inside_element_by_coordinate(
|
self.channel_1.chat_element_by_text(message_with_hashtag).click_on_link_inside_message_body()
|
||||||
rel_x=0.2, rel_y=0.5)
|
|
||||||
if not self.channel_1.chat_element_by_text(cats_message).is_element_displayed(30):
|
if not self.channel_1.chat_element_by_text(cats_message).is_element_displayed(30):
|
||||||
self.errors.append("Sender was not navigated to the cats channel")
|
self.errors.append("Sender was not navigated to the cats channel")
|
||||||
|
|
||||||
|
@ -1201,15 +1208,12 @@ class TestCommunityMultipleDeviceMerged(MultipleSharedDeviceTestCase):
|
||||||
|
|
||||||
self.home_1.just_fyi("Device 1 clicks on the message with hashtag in 1-1 chat")
|
self.home_1.just_fyi("Device 1 clicks on the message with hashtag in 1-1 chat")
|
||||||
self.home_1.get_chat(self.username_2).click()
|
self.home_1.get_chat(self.username_2).click()
|
||||||
self.chat_1.chat_element_by_text(message_with_hashtag).message_body.wait_for_visibility_of_element(30)
|
self.chat_1.chat_element_by_text(message_with_hashtag).click_on_link_inside_message_body()
|
||||||
self.chat_1.chat_element_by_text(message_with_hashtag).message_body.click_inside_element_by_coordinate(
|
|
||||||
rel_x=0.2, rel_y=0.5)
|
|
||||||
if self.chat_1.chat_element_by_text(control_message_1_1_chat).is_element_disappeared():
|
if self.chat_1.chat_element_by_text(control_message_1_1_chat).is_element_disappeared():
|
||||||
self.errors.append("Receiver was navigated out of 1-1 chat")
|
self.errors.append("Receiver was navigated out of 1-1 chat")
|
||||||
|
|
||||||
self.home_2.just_fyi("Device 2 clicks on the message with hashtag in 1-1 chat")
|
self.home_2.just_fyi("Device 2 clicks on the message with hashtag in 1-1 chat")
|
||||||
self.chat_2.chat_element_by_text(message_with_hashtag).message_body.click_inside_element_by_coordinate(
|
self.chat_2.chat_element_by_text(message_with_hashtag).click_on_link_inside_message_body()
|
||||||
rel_x=0.2, rel_y=0.5)
|
|
||||||
if self.chat_2.chat_element_by_text(control_message_1_1_chat).is_element_disappeared():
|
if self.chat_2.chat_element_by_text(control_message_1_1_chat).is_element_disappeared():
|
||||||
self.errors.append("Sender was navigated out of 1-1 chat")
|
self.errors.append("Sender was navigated out of 1-1 chat")
|
||||||
|
|
||||||
|
|
|
@ -168,7 +168,7 @@ class TestActivityMultipleDevicePR(MultipleSharedDeviceTestCase):
|
||||||
self.channel_1.send_message(self.text_message)
|
self.channel_1.send_message(self.text_message)
|
||||||
|
|
||||||
self.community_1, self.community_2 = self.home_1.get_community_view(), self.home_2.get_community_view()
|
self.community_1, self.community_2 = self.home_1.get_community_view(), self.home_2.get_community_view()
|
||||||
self.community_1.send_invite_to_community(self.community_name, self.username_2)
|
self.community_1.share_community(self.community_name, self.username_2)
|
||||||
self.home_1.get_to_community_channel_from_home(self.community_name)
|
self.home_1.get_to_community_channel_from_home(self.community_name)
|
||||||
|
|
||||||
self.chat_2 = self.home_2.get_chat(self.username_1).click()
|
self.chat_2 = self.home_2.get_chat(self.username_1).click()
|
||||||
|
@ -321,8 +321,7 @@ class TestActivityMultipleDevicePR(MultipleSharedDeviceTestCase):
|
||||||
self.channel_name = "dogs"
|
self.channel_name = "dogs"
|
||||||
self.home_1.create_community(community_type="closed")
|
self.home_1.create_community(community_type="closed")
|
||||||
self.home_1.reopen_app()
|
self.home_1.reopen_app()
|
||||||
community_element = self.home_1.get_chat(community_name, community=True)
|
self.community_1.share_community(community_name, self.username_2)
|
||||||
self.community_1.share_community(community_element, self.username_2)
|
|
||||||
|
|
||||||
self.home_2.just_fyi("Request access to community")
|
self.home_2.just_fyi("Request access to community")
|
||||||
self.home_2.jump_to_messages_home()
|
self.home_2.jump_to_messages_home()
|
||||||
|
|
|
@ -604,19 +604,28 @@ class BaseView(object):
|
||||||
sign_in_view = self.get_sign_in_view()
|
sign_in_view = self.get_sign_in_view()
|
||||||
sign_in_view.sign_in(password)
|
sign_in_view.sign_in(password)
|
||||||
|
|
||||||
def jump_to_messages_home(self):
|
def click_on_floating_jump_to(self):
|
||||||
self.hide_keyboard_if_shown()
|
self.hide_keyboard_if_shown()
|
||||||
|
if self.chat_floating_screen.is_element_displayed(1):
|
||||||
|
Button(self.driver, xpath='//*[@content-desc="%s"]//*[@content-desc="%s"]' %
|
||||||
|
(self.chat_floating_screen.accessibility_id, self.jump_to_button.accessibility_id)).click()
|
||||||
|
elif self.community_floating_screen.is_element_displayed(1):
|
||||||
|
Button(self.driver, xpath='//*[@content-desc="%s"]//*[@content-desc="%s"]' %
|
||||||
|
(self.community_floating_screen.accessibility_id,
|
||||||
|
self.jump_to_button.accessibility_id)).click()
|
||||||
|
else:
|
||||||
self.jump_to_button.click()
|
self.jump_to_button.click()
|
||||||
self.chats_tab.click_until_presence_of_element(self.jump_to_button)
|
|
||||||
|
def jump_to_messages_home(self):
|
||||||
|
self.click_on_floating_jump_to()
|
||||||
|
self.chats_tab.click()
|
||||||
|
|
||||||
def jump_to_communities_home(self):
|
def jump_to_communities_home(self):
|
||||||
self.hide_keyboard_if_shown()
|
self.click_on_floating_jump_to()
|
||||||
self.jump_to_button.click()
|
self.communities_tab.click()
|
||||||
self.communities_tab.click_until_presence_of_element(self.jump_to_button)
|
|
||||||
|
|
||||||
def jump_to_card_by_text(self, text: str):
|
def jump_to_card_by_text(self, text: str):
|
||||||
self.hide_keyboard_if_shown()
|
self.click_on_floating_jump_to()
|
||||||
self.jump_to_button.click()
|
|
||||||
self.element_by_text(text).click()
|
self.element_by_text(text).click()
|
||||||
|
|
||||||
def reopen_app(self, password=common_password, sign_in=True):
|
def reopen_app(self, password=common_password, sign_in=True):
|
||||||
|
|
|
@ -183,6 +183,10 @@ class ChatElementByText(Text):
|
||||||
xpath="//%s//android.widget.TextView[contains(@text,'%s')]" % (self.chat_item_locator, self.message_text)
|
xpath="//%s//android.widget.TextView[contains(@text,'%s')]" % (self.chat_item_locator, self.message_text)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def click_on_link_inside_message_body(self):
|
||||||
|
self.message_body.wait_for_visibility_of_element(30)
|
||||||
|
self.message_body.click_inside_element_by_coordinate(rel_x=0.1, rel_y=0.9)
|
||||||
|
|
||||||
def wait_for_sent_state(self, wait_time=30):
|
def wait_for_sent_state(self, wait_time=30):
|
||||||
return BaseElement(self.driver, prefix=self.locator,
|
return BaseElement(self.driver, prefix=self.locator,
|
||||||
xpath="//*[@content-desc='message-sent']").is_element_displayed(wait_time)
|
xpath="//*[@content-desc='message-sent']").is_element_displayed(wait_time)
|
||||||
|
@ -458,6 +462,7 @@ class CommunityView(HomeView):
|
||||||
Button(self.driver, xpath="//*[starts-with(@text,'%s')]%s" % (username, decline_suffix)).click()
|
Button(self.driver, xpath="//*[starts-with(@text,'%s')]%s" % (username, decline_suffix)).click()
|
||||||
self.close_button.click()
|
self.close_button.click()
|
||||||
|
|
||||||
|
# Should not be used anymore, outdated flow
|
||||||
def send_invite_to_community(self, community_name, user_names_to_invite):
|
def send_invite_to_community(self, community_name, user_names_to_invite):
|
||||||
if isinstance(user_names_to_invite, str):
|
if isinstance(user_names_to_invite, str):
|
||||||
user_names_to_invite = [user_names_to_invite]
|
user_names_to_invite = [user_names_to_invite]
|
||||||
|
@ -474,11 +479,15 @@ class CommunityView(HomeView):
|
||||||
self.share_invite_button.click_until_presence_of_element(self.invite_button)
|
self.share_invite_button.click_until_presence_of_element(self.invite_button)
|
||||||
self.back_button.click_until_presence_of_element(self.plus_button)
|
self.back_button.click_until_presence_of_element(self.plus_button)
|
||||||
|
|
||||||
def share_community(self, coummunity_element, user_names_to_share):
|
def share_community(self, community_name, user_names_to_share):
|
||||||
if isinstance(user_names_to_share, str):
|
if isinstance(user_names_to_share, str):
|
||||||
user_names_to_share = [user_names_to_share]
|
user_names_to_share = [user_names_to_share]
|
||||||
self.driver.info("Share to %s community" % ', '.join(map(str, user_names_to_share)))
|
self.driver.info("Share to %s community" % ', '.join(map(str, user_names_to_share)))
|
||||||
coummunity_element.long_press_until_element_is_shown(self.share_community_button)
|
self.jump_to_communities_home()
|
||||||
|
home = self.get_home_view()
|
||||||
|
community_element = home.get_chat(community_name, community=True)
|
||||||
|
# community_element.long_press_until_element_is_shown(self.view_members_button)
|
||||||
|
community_element.long_press_until_element_is_shown(self.share_community_button)
|
||||||
self.share_community_button.click()
|
self.share_community_button.click()
|
||||||
for user_name in user_names_to_share:
|
for user_name in user_names_to_share:
|
||||||
user_contact = self.element_by_text_part(user_name)
|
user_contact = self.element_by_text_part(user_name)
|
||||||
|
|
|
@ -7,6 +7,8 @@ communities = {
|
||||||
'member_closed': 'test_comm_enc',
|
'member_closed': 'test_comm_enc',
|
||||||
'member_pending': 'RC1 testing community'
|
'member_pending': 'RC1 testing community'
|
||||||
}
|
}
|
||||||
# contacts = ['Test_contact', 'MyCustomNickname'] # enable back when https://github.com/status-im/status-mobile/issues/15500 is fixed
|
|
||||||
contacts = ['Used Bulky Wirehair', 'Vengeful Healthy Arcticseal']
|
#contacts = ['Test_contact', 'MyCustomNickname'] # enable back when https://github.com/status-im/status-mobile/issues/15500 is fixed
|
||||||
|
|
||||||
|
contacts = ['zQ3...rLSpUs', 'zQ3...mxAZUU']
|
||||||
blocked_user = 'Clear Flat Milkweedbug'
|
blocked_user = 'Clear Flat Milkweedbug'
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 7.2 KiB |
|
@ -303,7 +303,6 @@ class HomeView(BaseView):
|
||||||
|
|
||||||
# New UI
|
# New UI
|
||||||
self.new_chat_button = Button(self.driver, accessibility_id="new-chat-button")
|
self.new_chat_button = Button(self.driver, accessibility_id="new-chat-button")
|
||||||
self.jump_to_button = Button(self.driver, accessibility_id="jump-to")
|
|
||||||
self.discover_communities_button = Button(self.driver, accessibility_id="communities-home-discover-card")
|
self.discover_communities_button = Button(self.driver, accessibility_id="communities-home-discover-card")
|
||||||
|
|
||||||
# New UI bottom sheet
|
# New UI bottom sheet
|
||||||
|
|
Loading…
Reference in New Issue