2018-07-03 12:40:44 +00:00
|
|
|
import pytest
|
2018-08-02 10:11:45 +00:00
|
|
|
from tests import marks, connection_not_secure_text, connection_is_secure_text
|
2018-07-03 12:40:44 +00:00
|
|
|
from tests.base_test_case import SingleDeviceTestCase
|
|
|
|
from views.sign_in_view import SignInView
|
2019-09-24 08:50:21 +00:00
|
|
|
from views.dapps_view import DappsView
|
2018-07-03 12:40:44 +00:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.all
|
|
|
|
class TestBrowsing(SingleDeviceTestCase):
|
|
|
|
|
2018-09-28 15:30:06 +00:00
|
|
|
@marks.testrail_id(5424)
|
|
|
|
@marks.medium
|
2018-07-03 12:40:44 +00:00
|
|
|
def test_browse_page_with_non_english_text(self):
|
|
|
|
sign_in = SignInView(self.driver)
|
2018-07-20 08:27:33 +00:00
|
|
|
home_view = sign_in.create_user()
|
2019-04-05 13:05:23 +00:00
|
|
|
daap_view = home_view.dapp_tab_button.click()
|
|
|
|
browsing_view = daap_view.open_url('www.wikipedia.org')
|
2018-07-03 12:40:44 +00:00
|
|
|
wiki_texts = ['Español', '日本語', 'Français', '中文', 'Português']
|
|
|
|
for wiki_text in wiki_texts:
|
|
|
|
browsing_view.find_text_part(wiki_text, 15)
|
|
|
|
|
2020-01-08 15:12:12 +00:00
|
|
|
@marks.testrail_id(5395)
|
|
|
|
@marks.medium
|
|
|
|
def test_navigation_history_kept_after_relogin(self):
|
|
|
|
sign_in = SignInView(self.driver)
|
|
|
|
home_view = sign_in.create_user()
|
|
|
|
dapp_view = home_view.dapp_tab_button.click()
|
2020-02-24 11:30:45 +00:00
|
|
|
ru_url = 'https://ru.m.wikipedia.org'
|
2020-01-08 15:12:12 +00:00
|
|
|
browsing_view = dapp_view.open_url(ru_url)
|
2020-02-24 11:30:45 +00:00
|
|
|
browsing_view.find_text_part('Добро пожаловать')
|
2020-01-08 15:12:12 +00:00
|
|
|
|
2020-02-24 11:30:45 +00:00
|
|
|
browsing_view.just_fyi('Navigate to next page and back')
|
|
|
|
browsing_view.element_by_text_part('свободную энциклопедию').click()
|
|
|
|
browsing_view.element_by_text_part('Свободный контент')
|
2020-01-08 15:12:12 +00:00
|
|
|
browsing_view.browser_previous_page_button.click()
|
|
|
|
|
2020-02-24 11:30:45 +00:00
|
|
|
browsing_view.just_fyi('Relogin and check that tap on "Next" navigates to next page')
|
2020-01-08 15:12:12 +00:00
|
|
|
browsing_view.relogin()
|
|
|
|
home_view.dapp_tab_button.click()
|
|
|
|
dapp_view.element_by_text_part(ru_url).click()
|
|
|
|
browsing_view.browser_next_page_button.click()
|
2020-02-24 11:30:45 +00:00
|
|
|
if not browsing_view.element_by_text_part('Свободный контент').is_element_displayed(20):
|
|
|
|
self.driver.fail("Browser history is not kept after relogin")
|
2020-01-08 15:12:12 +00:00
|
|
|
|
|
|
|
@marks.testrail_id(5438)
|
|
|
|
@marks.medium
|
|
|
|
def test_browser_shows_offline_state(self):
|
|
|
|
sign_in = SignInView(self.driver)
|
|
|
|
home_view = sign_in.create_user()
|
|
|
|
home_view.toggle_airplane_mode()
|
|
|
|
dapp_view = home_view.dapp_tab_button.click()
|
|
|
|
browsing_view = dapp_view.open_url('status.im')
|
|
|
|
offline_texts = ['Unable to load page', 'ERR_INTERNET_DISCONNECTED']
|
|
|
|
for text in offline_texts:
|
|
|
|
browsing_view.find_text_part(text, 15)
|
|
|
|
home_view.toggle_airplane_mode()
|
|
|
|
browsing_view.browser_refresh_page_button.click_until_presence_of_element(browsing_view.element_by_text_part('An Open Source Community'))
|
|
|
|
|
2018-09-28 15:30:06 +00:00
|
|
|
@marks.testrail_id(5465)
|
|
|
|
@marks.medium
|
2018-07-03 12:40:44 +00:00
|
|
|
def test_open_invalid_link(self):
|
|
|
|
sign_in = SignInView(self.driver)
|
2018-07-20 08:27:33 +00:00
|
|
|
home_view = sign_in.create_user()
|
2019-04-05 13:05:23 +00:00
|
|
|
daap_view = home_view.dapp_tab_button.click()
|
|
|
|
browsing_view = daap_view.open_url('invalid.takoe')
|
2018-07-03 12:40:44 +00:00
|
|
|
browsing_view.find_text_part('Unable to load page')
|
2018-08-01 00:16:33 +00:00
|
|
|
browsing_view.cross_icon.click()
|
2019-12-19 09:19:01 +00:00
|
|
|
if home_view.element_by_text('Recent').is_element_displayed():
|
2019-10-21 12:48:45 +00:00
|
|
|
self.driver.fail('Browser entity is shown for an invalid link')
|
2018-07-03 12:40:44 +00:00
|
|
|
|
2019-05-23 09:04:41 +00:00
|
|
|
@marks.testrail_id(6210)
|
|
|
|
@marks.high
|
|
|
|
def test_open_blocked_site(self):
|
|
|
|
home_view = SignInView(self.driver).create_user()
|
|
|
|
daap_view = home_view.dapp_tab_button.click()
|
|
|
|
daap_view.open_url('https://www.cryptokitties.domainname').find_text_part('This site is blocked')
|
|
|
|
|
2018-09-28 15:30:06 +00:00
|
|
|
@marks.testrail_id(5430)
|
|
|
|
@marks.medium
|
2018-07-03 12:40:44 +00:00
|
|
|
def test_connection_is_not_secure(self):
|
|
|
|
sign_in = SignInView(self.driver)
|
2018-07-20 08:27:33 +00:00
|
|
|
home_view = sign_in.create_user()
|
2019-04-05 13:05:23 +00:00
|
|
|
daap_view = home_view.dapp_tab_button.click()
|
|
|
|
browsing_view = daap_view.open_url('http://www.dvwa.co.uk')
|
2018-08-02 10:11:45 +00:00
|
|
|
browsing_view.url_edit_box_lock_icon.click()
|
|
|
|
browsing_view.find_full_text(connection_not_secure_text)
|
|
|
|
|
2018-09-28 15:30:06 +00:00
|
|
|
@marks.testrail_id(5402)
|
|
|
|
@marks.high
|
2018-08-02 10:11:45 +00:00
|
|
|
def test_connection_is_secure(self):
|
|
|
|
sign_in = SignInView(self.driver)
|
|
|
|
home_view = sign_in.create_user()
|
2019-04-05 13:05:23 +00:00
|
|
|
daap_view = home_view.dapp_tab_button.click()
|
|
|
|
browsing_view = daap_view.open_url('https://www.bbc.com')
|
2018-08-02 10:11:45 +00:00
|
|
|
browsing_view.url_edit_box_lock_icon.click()
|
|
|
|
browsing_view.find_full_text(connection_is_secure_text)
|
2018-08-01 00:16:33 +00:00
|
|
|
browsing_view.cross_icon.click()
|
2019-03-21 11:36:09 +00:00
|
|
|
|
2019-04-19 14:37:01 +00:00
|
|
|
browsing_view = daap_view.open_url('https://instant.airswap.io')
|
2018-08-02 10:11:45 +00:00
|
|
|
browsing_view.url_edit_box_lock_icon.click()
|
|
|
|
browsing_view.find_full_text(connection_is_secure_text)
|
2018-07-03 12:40:44 +00:00
|
|
|
|
2018-09-28 15:30:06 +00:00
|
|
|
@marks.testrail_id(5390)
|
|
|
|
@marks.high
|
2019-09-24 08:50:21 +00:00
|
|
|
def test_long_press_delete_clear_all_dapps(self):
|
2018-07-03 12:40:44 +00:00
|
|
|
sign_in = SignInView(self.driver)
|
|
|
|
home_view = sign_in.create_user()
|
2019-09-24 08:50:21 +00:00
|
|
|
dapp_view = home_view.dapp_tab_button.click()
|
|
|
|
browsing_view = dapp_view.open_url('google.com')
|
2018-08-01 00:16:33 +00:00
|
|
|
browsing_view.cross_icon.click()
|
2019-09-24 08:50:21 +00:00
|
|
|
dapp_view = DappsView(self.driver)
|
|
|
|
browser_entry = dapp_view.remove_browser_entry_long_press('Google')
|
2018-07-03 12:40:44 +00:00
|
|
|
home_view.relogin()
|
2019-09-24 08:50:21 +00:00
|
|
|
home_view.dapp_tab_button.click()
|
2019-01-09 14:54:58 +00:00
|
|
|
if browser_entry.is_element_present(20):
|
2019-09-24 08:50:21 +00:00
|
|
|
self.errors.append('The browser entry is present after re-login')
|
|
|
|
for entry in ('google.com', 'status.im'):
|
|
|
|
browsing_view = dapp_view.open_url(entry)
|
|
|
|
browsing_view.cross_icon.click()
|
2019-10-14 10:14:10 +00:00
|
|
|
dapp_view.remove_browser_entry_long_press('Status - Private', clear_all=True)
|
2019-09-24 08:50:21 +00:00
|
|
|
home_view.relogin()
|
|
|
|
home_view.dapp_tab_button.click()
|
2020-01-07 12:33:47 +00:00
|
|
|
if not dapp_view.element_by_text('Browser history will appear here').is_element_displayed():
|
2019-09-24 08:50:21 +00:00
|
|
|
self.errors.append('Browser history is not empty')
|
2018-07-03 18:50:18 +00:00
|
|
|
|
2018-09-28 15:30:06 +00:00
|
|
|
@marks.testrail_id(5320)
|
|
|
|
@marks.critical
|
2018-07-03 18:50:18 +00:00
|
|
|
def test_open_google_com_via_open_dapp(self):
|
|
|
|
sign_in_view = SignInView(self.driver)
|
|
|
|
home = sign_in_view.create_user()
|
2019-03-13 09:36:51 +00:00
|
|
|
open_dapp_view = home.dapp_tab_button.click()
|
|
|
|
open_dapp_view.open_url('google.com')
|
|
|
|
browsing_view = open_dapp_view.get_base_web_view()
|
2018-11-30 11:42:48 +00:00
|
|
|
browsing_view.element_by_text('Google').wait_for_element(30)
|
2018-07-03 18:50:18 +00:00
|
|
|
|
2018-09-28 15:30:06 +00:00
|
|
|
@marks.testrail_id(5321)
|
|
|
|
@marks.critical
|
2018-07-03 18:50:18 +00:00
|
|
|
def test_back_forward_buttons_browsing_website(self):
|
|
|
|
sign_in = SignInView(self.driver)
|
|
|
|
home = sign_in.create_user()
|
2019-04-05 13:05:23 +00:00
|
|
|
daap_view = home.dapp_tab_button.click()
|
2020-02-24 11:30:45 +00:00
|
|
|
browsing_view = daap_view.open_url('dap.ps')
|
2020-03-19 16:34:20 +00:00
|
|
|
browsing_view.wait_for_element_starts_with_text('View all', 30)
|
2020-02-24 11:30:45 +00:00
|
|
|
browsing_view.element_by_text_part('View all', 'button').click()
|
|
|
|
if browsing_view.element_by_text_part('View all').is_element_displayed(20):
|
|
|
|
self.driver.fail("Failed to access Categories using ''View all'")
|
2018-07-03 18:50:18 +00:00
|
|
|
browsing_view.browser_previous_page_button.click()
|
2020-02-24 11:30:45 +00:00
|
|
|
browsing_view.find_text_part('Categories', 15)
|
2018-07-03 18:50:18 +00:00
|
|
|
browsing_view.browser_next_page_button.click()
|
2020-02-24 11:30:45 +00:00
|
|
|
browsing_view.find_text_part('Exchanges', 15)
|
2018-07-03 18:50:18 +00:00
|
|
|
browsing_view.back_to_home_button.click()
|
2018-07-22 13:38:01 +00:00
|
|
|
|
2018-09-28 15:30:06 +00:00
|
|
|
@marks.testrail_id(5354)
|
|
|
|
@marks.critical
|
2018-07-22 13:38:01 +00:00
|
|
|
def test_refresh_button_browsing_app_webview(self):
|
|
|
|
sign_in_view = SignInView(self.driver)
|
2018-12-25 15:39:05 +00:00
|
|
|
home_view = sign_in_view.create_user()
|
|
|
|
status_test_dapp = home_view.open_status_test_dapp()
|
2018-07-22 13:38:01 +00:00
|
|
|
status_test_dapp.transactions_button.click()
|
|
|
|
status_test_dapp.find_full_text('Sign message')
|
|
|
|
status_test_dapp.browser_refresh_page_button.click()
|
|
|
|
status_test_dapp.find_full_text('defaultAccount')
|