Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /webdriver/interop/user_prompts.py - WPT Dashboard Interop Dashboard
import pytest
from tests.support.asserts import assert_dialog_handled, assert_error
def new_window(session, type_hint=None):
return session.transport.send(
"POST",
"session/{session_id}/window/new".format(**vars(session)),
{"type": type_hint},
)
# Set "moz:debuggerAddress" to initialize WebDriver BiDi instance
# to make sure that prompts are still handled my Marionette.
@pytest.mark.capabilities({"moz:debuggerAddress": True})
@pytest.mark.parametrize(
"dialog_type, retval",
[
("alert", None),
("confirm", False),
("prompt", None),
],
)
def test_with_webdriver_bidi_instance(session, create_dialog, dialog_type, retval):
original_handles = session.handles
create_dialog(dialog_type, text="cheese")
response = new_window(session)
assert_error(response, "unexpected alert open", data={"text": "cheese"})
assert_dialog_handled(session, expected_text=dialog_type, expected_retval=retval)
assert len(session.handles) == len(original_handles)