e2e: split 1-1 chat test group
This commit is contained in:
parent
56b13cbdca
commit
726b76a290
|
@ -83,7 +83,7 @@ pipeline {
|
||||||
sh 'cp -f $TEST_ETH_ACCOUNTS_FILE users.py'
|
sh 'cp -f $TEST_ETH_ACCOUNTS_FILE users.py'
|
||||||
sh """
|
sh """
|
||||||
python3 -m pytest \
|
python3 -m pytest \
|
||||||
--numprocesses 6 \
|
--numprocesses 8 \
|
||||||
--rerun_count=2 \
|
--rerun_count=2 \
|
||||||
--testrail_report=True \
|
--testrail_report=True \
|
||||||
-m testrail_id \
|
-m testrail_id \
|
||||||
|
|
|
@ -123,7 +123,7 @@ pipeline {
|
||||||
sh 'cp -f $TEST_ETH_ACCOUNTS_FILE users.py'
|
sh 'cp -f $TEST_ETH_ACCOUNTS_FILE users.py'
|
||||||
sh """
|
sh """
|
||||||
python3 -m pytest \
|
python3 -m pytest \
|
||||||
--numprocesses 6 \
|
--numprocesses 8 \
|
||||||
--rerun_count=2 \
|
--rerun_count=2 \
|
||||||
--testrail_report=True \
|
--testrail_report=True \
|
||||||
-k \"${params.KEYWORD_EXPRESSION}\" \
|
-k \"${params.KEYWORD_EXPRESSION}\" \
|
||||||
|
|
|
@ -1327,10 +1327,46 @@ class TestOneToOneChatMultipleSharedDevicesNewUi(MultipleSharedDeviceTestCase):
|
||||||
[device.navigate_back_to_home_view() for device in (self.device_1, self.device_2)]
|
[device.navigate_back_to_home_view() for device in (self.device_1, self.device_2)]
|
||||||
self.errors.verify_no_errors()
|
self.errors.verify_no_errors()
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xdist_group(name="new_seven_2")
|
||||||
|
@marks.new_ui_critical
|
||||||
|
class TestOneToOneChatMultipleSharedDevicesNewUiTwo(MultipleSharedDeviceTestCase):
|
||||||
|
|
||||||
|
def prepare_devices(self):
|
||||||
|
self.drivers, self.loop = create_shared_drivers(2)
|
||||||
|
self.device_1, self.device_2 = SignInView(self.drivers[0]), SignInView(self.drivers[1])
|
||||||
|
|
||||||
|
self.username_1, self.username_2 = 'sender', 'receiver'
|
||||||
|
self.loop.run_until_complete(run_in_parallel(((self.device_1.create_user, {'enable_notifications': True,
|
||||||
|
'username': self.username_1}),
|
||||||
|
(self.device_2.create_user, {'enable_notifications': True,
|
||||||
|
'username': self.username_2}))))
|
||||||
|
self.home_1, self.home_2 = self.device_1.get_home_view(), self.device_2.get_home_view()
|
||||||
|
self.homes = (self.home_1, self.home_2)
|
||||||
|
self.profile_1, self.profile_2 = (home.get_profile_view() for home in self.homes)
|
||||||
|
self.public_key_2 = self.home_2.get_public_key()
|
||||||
|
|
||||||
|
self.profile_1.just_fyi("Sending contact request via Profile > Contacts")
|
||||||
|
for home in (self.home_1, self.home_2):
|
||||||
|
home.navigate_back_to_home_view()
|
||||||
|
home.chats_tab.click()
|
||||||
|
self.home_1.send_contact_request_via_bottom_sheet(self.public_key_2)
|
||||||
|
|
||||||
|
self.home_2.just_fyi("Accepting contact request from activity centre")
|
||||||
|
self.home_2.handle_contact_request(self.username_1)
|
||||||
|
|
||||||
|
self.profile_1.just_fyi("Sending message to contact via Messages > Recent")
|
||||||
|
self.chat_1 = self.home_1.get_chat(self.username_2).click()
|
||||||
|
self.chat_1.send_message('hey')
|
||||||
|
self.home_2.navigate_back_to_home_view()
|
||||||
|
self.chat_2 = self.home_2.get_chat(self.username_1).click()
|
||||||
|
self.message_1, self.message_2, self.message_3, self.message_4 = \
|
||||||
|
"Message 1", "Message 2", "Message 3", "Message 4"
|
||||||
|
|
||||||
@marks.testrail_id(702783)
|
@marks.testrail_id(702783)
|
||||||
def test_1_1_chat_is_shown_message_sent_delivered_from_offline(self):
|
def test_1_1_chat_is_shown_message_sent_delivered_from_offline(self):
|
||||||
self.chat_2.jump_to_card_by_text(self.username_1)
|
# self.chat_2.jump_to_card_by_text(self.username_1)
|
||||||
self.chat_1.jump_to_card_by_text(self.username_2)
|
# self.chat_1.jump_to_card_by_text(self.username_2)
|
||||||
self.home_1.just_fyi('Turn on airplane mode and check that offline status is shown on home view')
|
self.home_1.just_fyi('Turn on airplane mode and check that offline status is shown on home view')
|
||||||
for home in self.homes:
|
for home in self.homes:
|
||||||
home.toggle_airplane_mode()
|
home.toggle_airplane_mode()
|
||||||
|
|
|
@ -1025,6 +1025,7 @@ class TestCommunityMultipleDeviceMerged(MultipleSharedDeviceTestCase):
|
||||||
"New messages badge is shown in community channel element while there are no unread messages")
|
"New messages badge is shown in community channel element while there are no unread messages")
|
||||||
self.errors.verify_no_errors()
|
self.errors.verify_no_errors()
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.xdist_group(name="new_five_2")
|
@pytest.mark.xdist_group(name="new_five_2")
|
||||||
@marks.new_ui_critical
|
@marks.new_ui_critical
|
||||||
class TestCommunityMultipleDeviceMergedTwo(MultipleSharedDeviceTestCase):
|
class TestCommunityMultipleDeviceMergedTwo(MultipleSharedDeviceTestCase):
|
||||||
|
|
|
@ -186,7 +186,9 @@ class TestActivityMultipleDevicePR(MultipleSharedDeviceTestCase):
|
||||||
self.community_1.element_by_translation_id("community-channel").click()
|
self.community_1.element_by_translation_id("community-channel").click()
|
||||||
if not self.channel_1.chat_element_by_text(self.text_message).is_element_displayed(20):
|
if not self.channel_1.chat_element_by_text(self.text_message).is_element_displayed(20):
|
||||||
self.errors.append("User was not redirected to community channel after tapping on community channel card!")
|
self.errors.append("User was not redirected to community channel after tapping on community channel card!")
|
||||||
|
element = self.channel_1.jump_to_button.find_element()
|
||||||
self.channel_1.click_system_back_button()
|
self.channel_1.click_system_back_button()
|
||||||
|
self.channel_1.wait_for_staleness_of_element(element)
|
||||||
self.community_1.jump_to_button.click()
|
self.community_1.jump_to_button.click()
|
||||||
self.community_1.element_by_text_part(self.username_2).click()
|
self.community_1.element_by_text_part(self.username_2).click()
|
||||||
if not self.chat_1.chat_element_by_text(self.one_to_one_message).is_element_displayed(20):
|
if not self.chat_1.chat_element_by_text(self.one_to_one_message).is_element_displayed(20):
|
||||||
|
|
|
@ -149,14 +149,6 @@ class BaseElement(object):
|
||||||
"Device %s: %s by %s: `%s` is still visible on the screen after %s seconds after wait_for_invisibility_of_element" % (
|
"Device %s: %s by %s: `%s` is still visible on the screen after %s seconds after wait_for_invisibility_of_element" % (
|
||||||
self.driver.number, self.name, self.by, self.locator, seconds)) from None
|
self.driver.number, self.name, self.by, self.locator, seconds)) from None
|
||||||
|
|
||||||
def wait_for_staleness_of_element(self, seconds=10):
|
|
||||||
try:
|
|
||||||
return WebDriverWait(self.driver, seconds).until(expected_conditions.staleness_of(self.find_element()))
|
|
||||||
except TimeoutException:
|
|
||||||
raise TimeoutException(
|
|
||||||
"Device %s: %s by %s: `%s` is not stale after %s seconds" % (
|
|
||||||
self.driver.number, self.name, self.by, self.locator, seconds)) from None
|
|
||||||
|
|
||||||
def wait_for_rendering_ended_and_click(self, attempts=3):
|
def wait_for_rendering_ended_and_click(self, attempts=3):
|
||||||
for i in range(attempts):
|
for i in range(attempts):
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -5,8 +5,11 @@ import string
|
||||||
import time
|
import time
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
|
from appium.webdriver import WebElement
|
||||||
from appium.webdriver.common.touch_action import TouchAction
|
from appium.webdriver.common.touch_action import TouchAction
|
||||||
from selenium.common.exceptions import NoSuchElementException, TimeoutException
|
from selenium.common.exceptions import NoSuchElementException, TimeoutException
|
||||||
|
from selenium.webdriver.support import expected_conditions
|
||||||
|
from selenium.webdriver.support.wait import WebDriverWait
|
||||||
|
|
||||||
from support.device_apps import start_web_browser
|
from support.device_apps import start_web_browser
|
||||||
from tests import common_password, pytest_config_global, transl
|
from tests import common_password, pytest_config_global, transl
|
||||||
|
@ -813,3 +816,10 @@ class BaseView(object):
|
||||||
return
|
return
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
raise TimeoutException("Driver current package is '%s' after %s seconds" % (package, timeout))
|
raise TimeoutException("Driver current package is '%s' after %s seconds" % (package, timeout))
|
||||||
|
|
||||||
|
def wait_for_staleness_of_element(self, element_instance: WebElement, seconds=10):
|
||||||
|
try:
|
||||||
|
return WebDriverWait(self.driver, seconds).until(expected_conditions.staleness_of(element_instance))
|
||||||
|
except TimeoutException:
|
||||||
|
raise TimeoutException(
|
||||||
|
"Device %s: expected element is not stale after %s seconds" % (self.driver.number, seconds)) from None
|
||||||
|
|
Loading…
Reference in New Issue