Skip to content

Commit 2f368dc

Browse files
committed
e2e: saving logs as zip archive
1 parent 9205997 commit 2f368dc

File tree

2 files changed

+16
-22
lines changed

2 files changed

+16
-22
lines changed

test/appium/support/base_test_report.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,11 @@ def get_test_report_file_path(self, test_name):
2727

2828
def save_logs(self, logs: dict):
2929
logs_paths = {}
30-
for log in logs.keys():
31-
log_path = os.path.join(self.TEST_REPORT_DIR, log)
32-
result = open(log_path, 'wb')
33-
result.write(logs[log])
34-
result.close()
35-
logs_paths[log] = log_path
30+
for log_name, log_content in logs.items():
31+
log_path = os.path.join(self.TEST_REPORT_DIR, log_name)
32+
with open(log_path, "wb") as archive_file:
33+
archive_file.write(log_content)
34+
logs_paths[log_name] = log_path
3635
return logs_paths
3736

3837
def save_test(self, test, geth: dict = None, requests_log: dict = None):

test/appium/tests/base_test_case.py

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -86,13 +86,8 @@ def get_app_path():
8686
return app_path
8787

8888

89-
def pull_geth(driver):
90-
result = driver.pull_file(get_app_path() + 'geth.log')
91-
return base64.b64decode(result)
92-
93-
94-
def pull_requests_log(driver):
95-
result = driver.pull_file(get_app_path() + 'api.log')
89+
def pull_logs_folder(driver):
90+
result = driver.pull_folder(get_app_path())
9691
return base64.b64decode(result)
9792

9893

@@ -260,14 +255,13 @@ def teardown_method(self, method):
260255
self.print_lt_session_info(self.drivers[driver])
261256
self.add_alert_text_to_report(self.drivers[driver])
262257
log_names.append(
263-
'%s_geth%s.log' % (test_suite_data.current_test.name, str(self.drivers[driver].number)))
264-
log_contents.append(pull_geth(self.drivers[driver]))
265-
log_names.append(
266-
'%s_requests%s.log' % (test_suite_data.current_test.name, str(self.drivers[driver].number)))
267-
log_contents.append(pull_requests_log(self.drivers[driver]))
258+
'%s_logs_%s.zip' % (test_suite_data.current_test.name, str(self.drivers[driver].number)))
259+
log_contents.append(pull_logs_folder(self.drivers[driver]))
268260
except (WebDriverException, AttributeError, RemoteDisconnected, ProtocolError):
269261
pass
270262
finally:
263+
if not log_contents:
264+
test_suite_data.current_test.testruns[-1].error += "/nCan't extract logs!"
271265
try:
272266
logs = {log_names[i]: log_contents[i] for i in range(len(log_names))}
273267
test_suite_data.current_test.logs_paths = github_report.save_logs(logs)
@@ -296,10 +290,11 @@ def teardown_class(cls):
296290
try:
297291
for i, driver in cls.drivers.items():
298292
if group_setup_failed:
299-
log_contents.append(pull_geth(driver=driver))
300-
log_names.append('%s_geth%s.log' % (cls.__name__, i))
301-
log_contents.append(pull_requests_log(driver=driver))
302-
log_names.append('%s_requests%s.log' % (cls.__name__, i))
293+
try:
294+
log_contents.append(pull_logs_folder(driver=driver))
295+
log_names.append('%s_logs_%s.zip' % (cls.__name__, i))
296+
except (WebDriverException, AttributeError, RemoteDisconnected, ProtocolError):
297+
test_suite_data.current_test.testruns[-1].error += "/nCan't extract logs!"
303298
lt_session_status = "failed"
304299
else:
305300
lt_session_status = "passed"

0 commit comments

Comments
 (0)