Журналы консоли браузера пусты при неудачном тестеPython

Программы на Python
Anonymous
 Журналы консоли браузера пусты при неудачном тесте

Сообщение Anonymous »

Я пытаюсь записать журналы консоли браузера с помощью Selenium + Pytest, и вот мой текущий фрагмент кода:

Код: Выделить всё

def test_capture_console_logs(driver, capture_browser_logs):

driver.get("https://www.google.com")

# Execute JavaScript to log information in the browser console

script = """

console.log('Info: This is a test log.');

console.warn('Warning: This is a warning log.');

console.error('Error: This is an error log.');

"""

driver.execute_script(script)

assert False

@pytest.fixture(scope="function")

def capture_browser_logs(driver):

yield

print("\n=== Attempting to capture browser logs ===")

try:

browser_logs = driver.get_log("browser")

print(f"Successfully retrieved {len(browser_logs)} log entries")

if browser_logs:

for entry in browser_logs:

print(f"[{entry['level']}] {entry['message']}")

except Exception as e:

print(f"Error retrieving logs: {e}")

print("=== End capture attempt ===")

Когда я запускаю «assert True», тест проходит успешно, и я вижу, что журналы браузера записаны успешно.

Код: Выделить всё

=== Attempting to capture browser logs ===

Successfully retrieved 3 log entries

[INFO] console-api 3:16 "Info: This is a test log."

[WARNING] console-api 4:16 "Warning: This is a warning log."

[SEVERE] console-api 5:16 "Error: This is an error log."

=== End capture attempt ===

Когда я запускаю с «assert False», тест завершается неудачно, как и ожидалось, но журналы браузера пусты (т. е. возвращается пустой массив).

Код: Выделить всё

=== Attempting to capture browser logs ===

Successfully retrieved 0 log entries

=== End capture attempt ===

Почему журналы браузера пусты, если тест не пройден?

Подробнее здесь: https://stackoverflow.com/questions/798 ... test-fails

Вернуться в «Python»