Журналы консоли браузера пусты при неудачном тесте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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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