Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /webdriver/bidi/session/subscribe/container_isolation.py - WPT Dashboard Interop Dashboard
import pytest
from webdriver.bidi.error import (
NoSuchFrameException,
NoSuchUserContextException,
UnsupportedOperationException,
)
from bidi.support.container_isolation import container_isolation
pytestmark = [pytest.mark.asyncio, container_isolation]
async def test_global(bidi_session):
with pytest.raises(UnsupportedOperationException):
await bidi_session.session.subscribe(events=["browsingContext.load"])
async def test_user_contexts(bidi_session, session_user_context):
result = await bidi_session.session.subscribe(
events=["browsingContext.load"], user_contexts=[session_user_context]
)
await bidi_session.session.unsubscribe(subscriptions=[result["subscription"]])
async def test_user_contexts_outside_container(bidi_session):
with pytest.raises(NoSuchUserContextException):
await bidi_session.session.subscribe(
events=["browsingContext.load"], user_contexts=["default"]
)
async def test_contexts(bidi_session, new_tab):
result = await bidi_session.session.subscribe(
events=["browsingContext.load"], contexts=[new_tab["context"]]
)
await bidi_session.session.unsubscribe(subscriptions=[result["subscription"]])
async def test_contexts_outside_container(bidi_session, tab_outside_container):
with pytest.raises(NoSuchFrameException):
await bidi_session.session.subscribe(
events=["browsingContext.load"], contexts=[tab_outside_container]
)