Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

from support.context import using_context
from tests.support.asserts import assert_success
def get_window_handles(session):
return session.transport.send(
"GET", "session/{session_id}/window/handles".format(**vars(session))
)
def test_basic(session):
with using_context(session, "chrome"):
response = get_window_handles(session)
assert_success(response, session.handles)
def test_different_handles_than_content_scope(session):
response = get_window_handles(session)
content_handles = assert_success(response)
with using_context(session, "chrome"):
response = get_window_handles(session)
chrome_handles = assert_success(response)
assert chrome_handles != content_handles
assert len(chrome_handles) == 1
assert len(content_handles) == 1
def test_multiple_windows_and_tabs(session):
session.new_window(type_hint="window")
session.new_window(type_hint="tab")
response = get_window_handles(session)
content_handles = assert_success(response)
with using_context(session, "chrome"):
response = get_window_handles(session)
chrome_handles = assert_success(response)
assert chrome_handles != content_handles
assert len(chrome_handles) == 2
assert len(content_handles) == 3