diff --git a/webdriver/tests/classic/new_session/support/create.py b/webdriver/tests/classic/new_session/support/create.py index ac8d0098dbe3cd..dbf15e16c8a6cf 100644 --- a/webdriver/tests/classic/new_session/support/create.py +++ b/webdriver/tests/classic/new_session/support/create.py @@ -83,7 +83,6 @@ {"page load": 10}, {" pageLoad": 10}, {"pageLoad ": 10}, - {"pageLoad": None}, {"pageLoad": False}, {"pageLoad": []}, {"pageLoad": "10"}, diff --git a/webdriver/tests/classic/new_session/timeouts.py b/webdriver/tests/classic/new_session/timeouts.py index 4f2652bba86ce6..40ff368e0f94df 100644 --- a/webdriver/tests/classic/new_session/timeouts.py +++ b/webdriver/tests/classic/new_session/timeouts.py @@ -2,6 +2,7 @@ from tests.support.asserts import assert_success, assert_error +MAX_SAFE_INTEGER = 2**53 - 1 def test_default_values(session): timeouts = session.capabilities["timeouts"] @@ -11,22 +12,36 @@ def test_default_values(session): assert timeouts["script"] == 30000 -@pytest.mark.parametrize("timeouts", [ - {"implicit": 444, "pageLoad": 300000,"script": 30000}, - {"implicit": 0, "pageLoad": 444,"script": 30000}, - {"implicit": 0, "pageLoad": 300000,"script": 444}, - {"implicit": 0, "pageLoad": 300000,"script": None}, -]) -def test_timeouts(new_session, add_browser_capabilities, timeouts): +@pytest.mark.parametrize("value", [None, 0, 3000]) +@pytest.mark.parametrize("key", ["implicit", "pageLoad", "script"]) +def test_timeouts(new_session, add_browser_capabilities, key, value): + timeouts = {key: value} response, _ = new_session({"capabilities": {"alwaysMatch": add_browser_capabilities({"timeouts": timeouts})}}) value = assert_success(response) assert value["capabilities"]["timeouts"] == timeouts -@pytest.mark.parametrize("timeouts", [ - {"implicit": None, "pageLoad": 300000,"script": 30000}, - {"implicit": 0, "pageLoad": None,"script": 30000}, - {"implicit": None, "pageLoad": None,"script": None} -]) -def test_invalid_timeouts(new_session, add_browser_capabilities, timeouts): - response, _ = new_session({"capabilities": {"alwaysMatch": add_browser_capabilities({"timeouts": timeouts})}}) +@pytest.mark.parametrize("value", [MAX_SAFE_INTEGER + 1, -1]) +@pytest.mark.parametrize("key", ["implicit", "pageLoad", "script"]) +def test_invalid_timeouts_value(new_session, add_browser_capabilities, key, value): + timeouts = {key: value} + + response, _ = new_session({ + "capabilities": { + "alwaysMatch": add_browser_capabilities({"timeouts": timeouts}) + } + }) + + assert_error(response, "invalid argument") + +@pytest.mark.parametrize("value", ["foo", False, [], {}]) +@pytest.mark.parametrize("key", ["implicit", "pageLoad", "script"]) +def test_invalid_timeouts_type(new_session, add_browser_capabilities, key, value): + timeouts = {key: value} + + response, _ = new_session({ + "capabilities": { + "alwaysMatch": add_browser_capabilities({"timeouts": timeouts}) + } + }) + assert_error(response, "invalid argument")