interface.py (965B)
1 import pytest 2 from webdriver.bidi.client import BidiSession 3 from webdriver.bidi.modules.script import ContextTarget 4 5 pytestmark = pytest.mark.asyncio 6 7 8 async def test_navigator_webdriver_enabled(inline, browser): 9 # Request a new browser with only WebDriver BiDi and not Marionette enabled. 10 current_browser = browser(use_bidi=True) 11 server_host = current_browser.remote_agent_host 12 server_port = current_browser.remote_agent_port 13 14 async with BidiSession.bidi_only( 15 f"ws://{server_host}:{server_port}", requested_capabilities={"alwaysMatch": {}} 16 ) as bidi_session: 17 contexts = await bidi_session.browsing_context.get_tree(max_depth=0) 18 assert len(contexts) > 0 19 20 result = await bidi_session.script.evaluate( 21 expression="navigator.webdriver", 22 target=ContextTarget(contexts[0]["context"]), 23 await_promise=False, 24 ) 25 26 assert result == {"type": "boolean", "value": True}