Skip to content

Commit 772e6c3

Browse files
authored
Merge pull request #2614 from input-output-hk/dlachaume/2579/save-upload-wasm-tests-console-logs
ci: improve `test-mithril-client-wasm` job debugging by uploading logs as artifacts
2 parents 63bc902 + e286e56 commit 772e6c3

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

.github/workflows/scripts/run-wasm-tests-browser-headless.py

100644100755
Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import logging
22
import argparse
3-
import sys
43
from selenium import webdriver
54
from selenium.webdriver.common.by import By
65
from selenium.webdriver.support.ui import WebDriverWait
@@ -14,11 +13,14 @@ def run_headless_test():
1413
if args.browser_type.lower() == 'chrome':
1514
options = webdriver.ChromeOptions()
1615
options.add_argument("--headless=new")
17-
driver = webdriver.Chrome(options=options)
16+
options.set_capability("goog:loggingPrefs", {"browser": "ALL"})
17+
service = webdriver.ChromeService(log_output="chrome-driver.log")
18+
driver = webdriver.Chrome(options=options, service=service)
1819
elif args.browser_type.lower() == 'firefox':
1920
options = webdriver.FirefoxOptions()
2021
options.add_argument("--headless")
21-
driver = webdriver.Firefox(options=options)
22+
service = webdriver.FirefoxService(log_output="firefox-driver.log", service_args=['--log', 'debug'])
23+
driver = webdriver.Firefox(options=options, service=service)
2224
else:
2325
logging.error("Invalid browser type. Supported types are 'chrome' and 'firefox'.")
2426
return
@@ -37,6 +39,15 @@ def run_headless_test():
3739
with open(result_file, "w", encoding="utf-8") as file:
3840
file.write(html)
3941

42+
if args.browser_type.lower() == 'chrome':
43+
logs = driver.get_log('browser')
44+
# Save console logs to a file for easier debugging
45+
with open("chrome-console.log", "w", encoding="utf-8") as f:
46+
for entry in logs:
47+
f.write(f"[{entry['level']}] {entry['message']}\n")
48+
elif args.browser_type.lower() == 'firefox':
49+
print("Console logs cannot be retrieved from Firefox via get_log('browser'). This feature is only supported in Chrome.")
50+
4051
finally:
4152
driver.quit()
4253

.github/workflows/test-client.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -490,5 +490,8 @@ jobs:
490490
name: mithril-client-wasm-tests-artifacts-run_${{ github.run_number }}-attempt_${{ github.run_attempt }}-os_${{ matrix.os }}
491491
path: |
492492
chrome-results.html
493+
chrome-driver.log
494+
chrome-console.log
493495
firefox-results.html
496+
firefox-driver.log
494497
if-no-files-found: error

0 commit comments

Comments
 (0)