Skip to content

Commit

Permalink
e2e: added gathering Status.log for failed tests
Browse files Browse the repository at this point in the history
  • Loading branch information
yevh-berdnyk committed Sep 28, 2024
1 parent c166c7c commit f8772b4
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 35 deletions.
37 changes: 16 additions & 21 deletions test/appium/tests/base_test_case.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,13 +111,11 @@ def get_app_path():
return app_path


def pull_geth(driver):
result = driver.pull_file(get_app_path() + 'geth.log')
return base64.b64decode(result)
log_file_names = ['geth', 'requests', 'Status']


def pull_requests_log(driver):
result = driver.pull_file(get_app_path() + 'requests.log')
def pull_log_file(driver, log_file_name):
result = driver.pull_file(get_app_path() + '%s.log' % log_file_name)
return base64.b64decode(result)


Expand Down Expand Up @@ -216,7 +214,7 @@ def teardown_method(self, method):
self.print_sauce_lab_info(self.driver)
try:
self.add_alert_text_to_report(self.driver)
geth_content = pull_geth(self.driver)
geth_content = pull_log_file(self.driver, 'geth')
self.driver.quit()
if pytest_config_global['docker']:
appium_container.stop_container()
Expand Down Expand Up @@ -279,7 +277,7 @@ def teardown_method(self, method):
self.add_alert_text_to_report(self.drivers[driver])
geth_names.append(
'%s_geth%s.log' % (test_suite_data.current_test.name, str(self.drivers[driver].number)))
geth_contents.append(pull_geth(self.drivers[driver]))
geth_contents.append(pull_log_file(self.drivers[driver], log_file_name='geth'))
self.drivers[driver].quit()
except (WebDriverException, AttributeError):
pass
Expand Down Expand Up @@ -383,14 +381,12 @@ def teardown_method(self, method):
try:
self.print_sauce_lab_info(self.drivers[driver])
self.add_alert_text_to_report(self.drivers[driver])
log_names.append(
'%s_geth%s.log' % (test_suite_data.current_test.name, str(self.drivers[driver].number)))
log_contents.append(pull_geth(self.drivers[driver]))
log_names.append(
'%s_requests%s.log' % (test_suite_data.current_test.name, str(self.drivers[driver].number)))
log_contents.append(pull_requests_log(self.drivers[driver]))
except (WebDriverException, AttributeError, RemoteDisconnected, ProtocolError):
pass
for log in log_file_names:
log_names.append(
'%s_%s%s.log' % (test_suite_data.current_test.name, log, str(self.drivers[driver].number)))
log_contents.append(pull_log_file(self.drivers[driver], log_file_name=log))
except (WebDriverException, AttributeError, RemoteDisconnected, ProtocolError) as e:
raise e
finally:
try:
logs = {log_names[i]: log_contents[i] for i in range(len(log_names))}
Expand Down Expand Up @@ -420,15 +416,14 @@ def teardown_class(cls):
try:
for i, driver in cls.drivers.items():
if group_setup_failed:
log_contents.append(pull_geth(driver=driver))
log_names.append('%s_geth%s.log' % (cls.__name__, i))
log_contents.append(pull_requests_log(driver=driver))
log_names.append('%s_requests%s.log' % (cls.__name__, i))
for log in log_file_names:
log_contents.append(pull_log_file(driver=driver, log_file_name=log))
log_names.append('%s_%s%s.log' % (cls.__name__, log, i))
session_id = driver.session_id
try:
sauce.jobs.update_job(username=sauce_username, job_id=session_id, name=cls.__name__)
except (RemoteDisconnected, SauceException, requests.exceptions.ConnectionError):
pass
except (RemoteDisconnected, SauceException, requests.exceptions.ConnectionError) as e:
raise e
try:
driver.quit()
except WebDriverException:
Expand Down
4 changes: 2 additions & 2 deletions test/appium/views/base_view.py
Original file line number Diff line number Diff line change
Expand Up @@ -747,8 +747,8 @@ def find_values_in_logcat(self, **kwargs):
return items_in_logcat

def find_values_in_geth(self, *args):
from tests.base_test_case import pull_geth
b64_log = pull_geth(self.driver)
from tests.base_test_case import pull_log_file
b64_log = pull_log_file(self.driver, log_file_name='geth')
file = base64.b64decode(b64_log)
result = False
for value in args:
Expand Down
24 changes: 12 additions & 12 deletions test/appium/views/sign_in_view.py
Original file line number Diff line number Diff line change
Expand Up @@ -263,20 +263,20 @@ def create_user(self, password=common_password, keycard=False, enable_notificati
# self.identifiers_button.wait_and_click(30)
if enable_notifications:
self.enable_notifications_button.wait_and_click()
self.cancel_button.click_if_shown() # TODO: remove when issue 20806 is fixed
for _ in range(3):
self.allow_button.click_if_shown(sec=10)
self.cancel_button.click_if_shown() # TODO: remove when issue 20806 is fixed
self.enable_notifications_button.click_if_shown()
if self.chats_tab.is_element_displayed():
break
# self.cancel_button.click_if_shown() # TODO: remove when issue 20806 is fixed
# for _ in range(3):
self.allow_button.click_if_shown(sec=10)
# self.cancel_button.click_if_shown() # TODO: remove when issue 20806 is fixed
# self.enable_notifications_button.click_if_shown()
# if self.chats_tab.is_element_displayed():
# break
else:
self.maybe_later_button.wait_and_click()
for _ in range(3):
self.cancel_button.click_if_shown() # TODO: remove when issue 20806 is fixed
self.maybe_later_button.click_if_shown()
if self.chats_tab.is_element_displayed():
break
# for _ in range(3):
# self.cancel_button.click_if_shown() # TODO: remove when issue 20806 is fixed
# self.maybe_later_button.click_if_shown()
# if self.chats_tab.is_element_displayed():
# break
self.chats_tab.wait_for_visibility_of_element(30)
self.driver.info("## New multiaccount is created successfully!", device=False)
return self.get_home_view()
Expand Down

0 comments on commit f8772b4

Please sign in to comment.