improve logging, get rid of 2 e2e
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
This commit is contained in:
parent
741e9e834b
commit
b73fcba395
|
@ -1,7 +1,7 @@
|
||||||
import random
|
import random
|
||||||
|
|
||||||
from support.utilities import fill_string_with_char
|
from support.utilities import fill_string_with_char
|
||||||
from tests import marks, common_password
|
from tests import marks, common_password, unique_password
|
||||||
from tests.base_test_case import SingleDeviceTestCase
|
from tests.base_test_case import SingleDeviceTestCase
|
||||||
from views.sign_in_view import SignInView
|
from views.sign_in_view import SignInView
|
||||||
from tests.users import basic_user, transaction_senders, recovery_users
|
from tests.users import basic_user, transaction_senders, recovery_users
|
||||||
|
|
|
@ -52,43 +52,65 @@ class TestWalletManagement(SingleDeviceTestCase):
|
||||||
|
|
||||||
@marks.testrail_id(5384)
|
@marks.testrail_id(5384)
|
||||||
@marks.critical
|
@marks.critical
|
||||||
def test_open_transaction_on_etherscan(self):
|
def test_open_transaction_on_etherscan_copy_tx_hash(self):
|
||||||
user = wallet_users['D']
|
user = wallet_users['D']
|
||||||
sign_in_view = SignInView(self.driver)
|
home = SignInView(self.driver).recover_access(user['passphrase'])
|
||||||
home_view = sign_in_view.recover_access(user['passphrase'])
|
wallet = home.wallet_button.click()
|
||||||
wallet_view = home_view.wallet_button.click()
|
wallet.set_up_wallet()
|
||||||
wallet_view.set_up_wallet()
|
wallet.accounts_status_account.click()
|
||||||
wallet_view.accounts_status_account.click()
|
|
||||||
transactions_view = wallet_view.transaction_history_button.click()
|
wallet.just_fyi("Open transaction on etherscan")
|
||||||
transaction_details = transactions_view.transactions_table.transaction_by_index(0).click()
|
transactions = wallet.transaction_history_button.click()
|
||||||
|
transaction_details = transactions.transactions_table.transaction_by_index(0).click()
|
||||||
transaction_hash = transaction_details.get_transaction_hash()
|
transaction_hash = transaction_details.get_transaction_hash()
|
||||||
transaction_details.options_button.click()
|
transaction_details.options_button.click()
|
||||||
transaction_details.open_transaction_on_etherscan_button.click()
|
transaction_details.open_transaction_on_etherscan_button.click()
|
||||||
base_web_view = wallet_view.get_base_web_view()
|
web_page = wallet.get_base_web_view()
|
||||||
base_web_view.open_in_webview()
|
web_page.open_in_webview()
|
||||||
base_web_view.find_text_part(transaction_hash)
|
web_page.element_by_text_part(transaction_hash).wait_for_visibility_of_element(30)
|
||||||
|
|
||||||
@marks.testrail_id(5427)
|
wallet.just_fyi("Copy transaction hash")
|
||||||
@marks.medium
|
web_page.click_system_back_button()
|
||||||
def test_copy_transaction_hash(self):
|
|
||||||
user = wallet_users['D']
|
|
||||||
sign_in_view = SignInView(self.driver)
|
|
||||||
home_view = sign_in_view.recover_access(user['passphrase'])
|
|
||||||
wallet_view = home_view.wallet_button.click()
|
|
||||||
wallet_view.set_up_wallet()
|
|
||||||
wallet_view.accounts_status_account.click()
|
|
||||||
transactions_view = wallet_view.transaction_history_button.click()
|
|
||||||
transaction_details = transactions_view.transactions_table.transaction_by_index(0).click()
|
|
||||||
transaction_hash = transaction_details.get_transaction_hash()
|
|
||||||
transaction_details.options_button.click()
|
transaction_details.options_button.click()
|
||||||
transaction_details.copy_transaction_hash_button.click()
|
transaction_details.copy_transaction_hash_button.click()
|
||||||
transaction_details.get_back_to_home_view()
|
wallet.home_button.click()
|
||||||
wallet_view.home_button.click()
|
public_chat = home.join_public_chat('testchat')
|
||||||
public_chat = home_view.join_public_chat('testchat')
|
|
||||||
public_chat.chat_message_input.paste_text_from_clipboard()
|
public_chat.chat_message_input.paste_text_from_clipboard()
|
||||||
if public_chat.chat_message_input.text != transaction_hash:
|
if public_chat.chat_message_input.text != transaction_hash:
|
||||||
self.driver.fail('Transaction hash was not copied')
|
self.driver.fail('Transaction hash was not copied')
|
||||||
|
|
||||||
|
@marks.testrail_id(5346)
|
||||||
|
@marks.high
|
||||||
|
def test_collectible_from_wallet(self):
|
||||||
|
passphrase = wallet_users['F']['passphrase']
|
||||||
|
home = SignInView(self.driver).recover_access(passphrase=passphrase)
|
||||||
|
profile = home.profile_button.click()
|
||||||
|
profile.switch_network()
|
||||||
|
wallet = profile.wallet_button.click()
|
||||||
|
wallet.set_up_wallet()
|
||||||
|
wallet.scan_tokens()
|
||||||
|
wallet.accounts_status_account.click()
|
||||||
|
wallet.collectibles_button.click()
|
||||||
|
|
||||||
|
wallet.just_fyi('Check collectibles amount in wallet')
|
||||||
|
wallet.cryptokitties_in_collectibles_number.wait_for_visibility_of_element(30)
|
||||||
|
if wallet.cryptokitties_in_collectibles_number.text != '1':
|
||||||
|
self.errors.append(
|
||||||
|
'Wrong number is shown on CK assets: %s' % wallet.cryptokitties_in_collectibles_number.text)
|
||||||
|
|
||||||
|
wallet.just_fyi('Check that collectibles are not shown when sending assets from wallet')
|
||||||
|
send_transaction = wallet.send_transaction_button.click()
|
||||||
|
send_transaction.select_asset_button.click()
|
||||||
|
if send_transaction.asset_by_name("CryptoKitties").is_element_displayed():
|
||||||
|
self.errors.append('Collectibles can be sent from wallet')
|
||||||
|
wallet.back_button.click(2)
|
||||||
|
|
||||||
|
wallet.just_fyi('Check "Open in OpenSea"')
|
||||||
|
wallet.element_by_translation_id("check-on-opensea").click()
|
||||||
|
if not wallet.allow_button.is_element_displayed(40):
|
||||||
|
self.errors.append('OpenSea app is not opened when navigating from wallet')
|
||||||
|
self.errors.verify_no_errors()
|
||||||
|
|
||||||
@marks.testrail_id(5341)
|
@marks.testrail_id(5341)
|
||||||
@marks.critical
|
@marks.critical
|
||||||
def test_manage_assets(self):
|
def test_manage_assets(self):
|
||||||
|
@ -126,32 +148,6 @@ class TestWalletManagement(SingleDeviceTestCase):
|
||||||
wallet.backup_recovery_phrase_warning_text.click()
|
wallet.backup_recovery_phrase_warning_text.click()
|
||||||
profile.backup_recovery_phrase()
|
profile.backup_recovery_phrase()
|
||||||
|
|
||||||
@marks.testrail_id(5440)
|
|
||||||
@marks.medium
|
|
||||||
def test_no_collectibles_to_send_from_wallet(self):
|
|
||||||
sign_in = SignInView(self.driver)
|
|
||||||
sign_in.create_user()
|
|
||||||
profile = sign_in.profile_button.click()
|
|
||||||
profile.switch_network('Mainnet with upstream RPC')
|
|
||||||
wallet = sign_in.wallet_button.click()
|
|
||||||
wallet.set_up_wallet()
|
|
||||||
assets = ['CryptoKitties', 'CryptoStrikers']
|
|
||||||
for asset in assets:
|
|
||||||
wallet.select_asset(asset)
|
|
||||||
wallet.accounts_status_account.click_until_presence_of_element(wallet.collectibles_button)
|
|
||||||
wallet.collectibles_button.click()
|
|
||||||
for asset in assets:
|
|
||||||
if not wallet.element_by_text(asset).is_element_displayed():
|
|
||||||
self.errors.append('Assets are not shown in Collectibles after adding')
|
|
||||||
wallet.transaction_history_button.click()
|
|
||||||
send_transaction = wallet.send_transaction_button.click()
|
|
||||||
send_transaction.select_asset_button.click()
|
|
||||||
for asset in assets:
|
|
||||||
if send_transaction.asset_by_name(asset).is_element_displayed():
|
|
||||||
self.errors.append('Collectibles can be sent from wallet')
|
|
||||||
self.errors.verify_no_errors()
|
|
||||||
|
|
||||||
|
|
||||||
@marks.testrail_id(5381)
|
@marks.testrail_id(5381)
|
||||||
@marks.high
|
@marks.high
|
||||||
def test_user_can_see_all_own_assets_after_account_recovering(self):
|
def test_user_can_see_all_own_assets_after_account_recovering(self):
|
||||||
|
@ -171,32 +167,6 @@ class TestWalletManagement(SingleDeviceTestCase):
|
||||||
if not wallet_view.element_by_text('1').is_element_displayed():
|
if not wallet_view.element_by_text('1').is_element_displayed():
|
||||||
self.driver.fail('User collectibles amount does not match')
|
self.driver.fail('User collectibles amount does not match')
|
||||||
|
|
||||||
@marks.testrail_id(5346)
|
|
||||||
@marks.high
|
|
||||||
def test_collectible_from_wallet(self):
|
|
||||||
passphrase = wallet_users['F']['passphrase']
|
|
||||||
signin_view = SignInView(self.driver)
|
|
||||||
home_view = signin_view.recover_access(passphrase=passphrase)
|
|
||||||
profile = home_view.profile_button.click()
|
|
||||||
profile.switch_network()
|
|
||||||
wallet_view = profile.wallet_button.click()
|
|
||||||
wallet_view.set_up_wallet()
|
|
||||||
wallet_view.scan_tokens()
|
|
||||||
wallet_view.accounts_status_account.click()
|
|
||||||
wallet_view.collectibles_button.click()
|
|
||||||
|
|
||||||
wallet_view.just_fyi('Check collectibles amount in wallet')
|
|
||||||
wallet_view.cryptokitties_in_collectibles_number.wait_for_visibility_of_element(30)
|
|
||||||
if wallet_view.cryptokitties_in_collectibles_number.text != '1':
|
|
||||||
self.errors.append('Wrong number is shown on CK assets: %s' % wallet_view.cryptokitties_in_collectibles_number.text)
|
|
||||||
|
|
||||||
wallet_view.just_fyi('Check "Open in OpenSea"')
|
|
||||||
wallet_view.element_by_text('Check on opensea').click()
|
|
||||||
if not wallet_view.allow_button.is_element_displayed(40):
|
|
||||||
self.errors.append('OpenSea app is not opened when navigating from wallet')
|
|
||||||
self.errors.verify_no_errors()
|
|
||||||
|
|
||||||
|
|
||||||
@marks.testrail_id(6224)
|
@marks.testrail_id(6224)
|
||||||
@marks.critical
|
@marks.critical
|
||||||
def test_add_account_to_multiaccount_instance_generate_new(self):
|
def test_add_account_to_multiaccount_instance_generate_new(self):
|
||||||
|
@ -357,7 +327,6 @@ class TestWalletManagement(SingleDeviceTestCase):
|
||||||
'Wrong address %s is shown in "Receive" popup account ' % wallet_view.address_text.text)
|
'Wrong address %s is shown in "Receive" popup account ' % wallet_view.address_text.text)
|
||||||
self.errors.verify_no_errors()
|
self.errors.verify_no_errors()
|
||||||
|
|
||||||
|
|
||||||
@marks.testrail_id(5406)
|
@marks.testrail_id(5406)
|
||||||
@marks.critical
|
@marks.critical
|
||||||
def test_ens_username_recipient(self):
|
def test_ens_username_recipient(self):
|
||||||
|
|
|
@ -67,7 +67,7 @@ class BaseElement(object):
|
||||||
return self.driver.find_element(self.by, self.locator)
|
return self.driver.find_element(self.by, self.locator)
|
||||||
except NoSuchElementException:
|
except NoSuchElementException:
|
||||||
raise NoSuchElementException(
|
raise NoSuchElementException(
|
||||||
"Device %s: '%s' is not found on the screen" % (self.driver.number, self.name)) from None
|
"Device %s: %s by %s: `%s` is not found on the screen" % (self.driver.number, self.name, self.by, self.locator)) from None
|
||||||
except Exception as exception:
|
except Exception as exception:
|
||||||
if 'Internal Server Error' in str(exception):
|
if 'Internal Server Error' in str(exception):
|
||||||
continue
|
continue
|
||||||
|
@ -90,7 +90,7 @@ class BaseElement(object):
|
||||||
.until(expected_conditions.presence_of_element_located((self.by, self.locator)))
|
.until(expected_conditions.presence_of_element_located((self.by, self.locator)))
|
||||||
except TimeoutException:
|
except TimeoutException:
|
||||||
raise TimeoutException(
|
raise TimeoutException(
|
||||||
"Device %s: '%s' is not found on the screen" % (self.driver.number, self.name)) from None
|
"Device %s: %s by %s: `%s` is not found on the screen" % (self.driver.number, self.name, self.by, self.locator)) from None
|
||||||
|
|
||||||
def wait_for_elements(self, seconds=10):
|
def wait_for_elements(self, seconds=10):
|
||||||
try:
|
try:
|
||||||
|
@ -98,7 +98,7 @@ class BaseElement(object):
|
||||||
.until(expected_conditions.presence_of_all_elements_located((self.by, self.locator)))
|
.until(expected_conditions.presence_of_all_elements_located((self.by, self.locator)))
|
||||||
except TimeoutException:
|
except TimeoutException:
|
||||||
raise TimeoutException(
|
raise TimeoutException(
|
||||||
"Device %s: '%s' is not found on the screen" % (self.driver.number, self.name)) from None
|
"Device %s: %s by %s:`%s` is not found on the screen" % (self.driver.number, self.name, self.by, self.locator)) from None
|
||||||
|
|
||||||
def wait_for_visibility_of_element(self, seconds=10, ignored_exceptions=None):
|
def wait_for_visibility_of_element(self, seconds=10, ignored_exceptions=None):
|
||||||
try:
|
try:
|
||||||
|
@ -106,15 +106,15 @@ class BaseElement(object):
|
||||||
.until(expected_conditions.visibility_of_element_located((self.by, self.locator)))
|
.until(expected_conditions.visibility_of_element_located((self.by, self.locator)))
|
||||||
except TimeoutException:
|
except TimeoutException:
|
||||||
raise TimeoutException(
|
raise TimeoutException(
|
||||||
"Device %s: '%s' is not found on the screen" % (self.driver.number, self.name)) from None
|
"Device %s: %s by %s:`%s` is not found on the screen" % (self.driver.number, self.name, self.by, self.locator)) from None
|
||||||
|
|
||||||
def wait_for_invisibility_of_element(self, seconds=10):
|
def wait_for_invisibility_of_element(self, seconds=10):
|
||||||
try:
|
try:
|
||||||
return WebDriverWait(self.driver, seconds) \
|
return WebDriverWait(self.driver, seconds) \
|
||||||
.until(expected_conditions.invisibility_of_element_located((self.by, self.locator)))
|
.until(expected_conditions.invisibility_of_element_located((self.by, self.locator)))
|
||||||
except TimeoutException:
|
except TimeoutException:
|
||||||
raise TimeoutException("Device %s: '%s' is still visible on the screen after %s seconds" % (
|
raise TimeoutException("Device %s: %s by %s:* `%s` is still visible on the screen after %s seconds" % (
|
||||||
self.driver.number, self.name, seconds)) from None
|
self.driver.number, self.name, self.by, self.locator, seconds)) from None
|
||||||
|
|
||||||
def scroll_to_element(self, depth: int = 9, direction='down'):
|
def scroll_to_element(self, depth: int = 9, direction='down'):
|
||||||
self.driver.info('*Scrolling %s to %s*' % (direction, self.name))
|
self.driver.info('*Scrolling %s to %s*' % (direction, self.name))
|
||||||
|
|
Loading…
Reference in New Issue