summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/mozilla/tests/webdriver/bidi/session/end/end.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/mozilla/tests/webdriver/bidi/session/end/end.py')
-rw-r--r--testing/web-platform/mozilla/tests/webdriver/bidi/session/end/end.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/testing/web-platform/mozilla/tests/webdriver/bidi/session/end/end.py b/testing/web-platform/mozilla/tests/webdriver/bidi/session/end/end.py
new file mode 100644
index 0000000000..f1f9c84263
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/webdriver/bidi/session/end/end.py
@@ -0,0 +1,53 @@
+import pytest
+from webdriver.bidi.error import InvalidSessionIDError
+
+pytestmark = pytest.mark.asyncio
+
+
+async def test_session_end(new_session, add_browser_capabilities, bidi_client):
+ bidi_session = await new_session(
+ capabilities={"alwaysMatch": add_browser_capabilities({})}
+ )
+
+ await bidi_session.session.end()
+
+ # Connect the client again.
+ not_active_bidi_session = await bidi_client()
+ response = await not_active_bidi_session.session.status()
+
+ # Make sure that session can be created.
+ assert response["ready"] is True
+
+
+async def test_start_session_again(new_session, add_browser_capabilities):
+ bidi_session = await new_session(
+ capabilities={"alwaysMatch": add_browser_capabilities({})}
+ )
+ first_session_id = bidi_session.session_id
+
+ await bidi_session.session.end()
+
+ # Try to create a session again
+ bidi_session = await new_session(
+ capabilities={"alwaysMatch": add_browser_capabilities({})}
+ )
+
+ assert isinstance(bidi_session.session_id, str)
+ assert first_session_id != bidi_session.session_id
+
+
+async def test_send_the_command_after_session_end(
+ new_session, add_browser_capabilities, bidi_client
+):
+ bidi_session = await new_session(
+ capabilities={"alwaysMatch": add_browser_capabilities({})}
+ )
+
+ await bidi_session.session.end()
+
+ # Connect the client again.
+ not_active_bidi_session = await bidi_client()
+
+ # Make sure that command will fail, since the session was closed.
+ with pytest.raises(InvalidSessionIDError):
+ await not_active_bidi_session.browsing_context.create(type_hint="tab")