From b1f877305c34e612e35344e85f4f25147f87dfbf Mon Sep 17 00:00:00 2001 From: AutomatedTester Date: Fri, 27 Nov 2020 16:08:54 +0000 Subject: [PATCH] [py] Re-enabling console differentiation when listening for console logs --- py/selenium/webdriver/remote/webdriver.py | 6 +++++- py/test/selenium/webdriver/common/bidi_tests.py | 16 ++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/py/selenium/webdriver/remote/webdriver.py b/py/selenium/webdriver/remote/webdriver.py index 8695881edddf0..db430bbac3e9f 100644 --- a/py/selenium/webdriver/remote/webdriver.py +++ b/py/selenium/webdriver/remote/webdriver.py @@ -1527,13 +1527,17 @@ async def add_listener(self, event_type): await session.execute(devtools.runtime.enable()) console = { "message": None, + "level": None } async with session.wait_for(devtools.runtime.ConsoleAPICalled) as messages: yield console + if event_type == Console.ERROR: + console["message"] = messages.value.args[0].value + console["level"] = messages.value.args[0].type_ if event_type == Console.ALL: console["message"] = messages.value.args[0].value - # console["level"] = messages.value.message.level + console["level"] = messages.value.args[0].type_ @asynccontextmanager async def _get_bidi_connection(self): diff --git a/py/test/selenium/webdriver/common/bidi_tests.py b/py/test/selenium/webdriver/common/bidi_tests.py index a2afde58acddf..4ef550555495c 100644 --- a/py/test/selenium/webdriver/common/bidi_tests.py +++ b/py/test/selenium/webdriver/common/bidi_tests.py @@ -28,14 +28,14 @@ async def test_check_console_messages(driver, pages): assert messages["message"] == "I love cheese" -# Disabling for now after moving to Runtime APIs for console messages -# async def test_check_error_console_messages(driver, pages): -# pages.load("javascriptPage.html") -# from selenium.webdriver.common.bidi.console import Console -# async with driver.add_listener(Console.ERROR) as messages: -# driver.execute_script("console.error(\"I don't cheese\")") -# driver.execute_script("console.log('I love cheese')") -# assert messages["message"] == "I don't cheese" +async def test_check_error_console_messages(driver, pages): + pages.load("javascriptPage.html") + from selenium.webdriver.common.bidi.console import Console + async with driver.add_listener(Console.ERROR) as messages: + driver.execute_script("console.error(\"I don't cheese\")") + driver.execute_script("console.log('I love cheese')") + assert messages["message"] == "I don't cheese" + @pytest.mark.xfail_firefox @pytest.mark.xfail_safari