response.py (2424B)
1 # META: timeout=long 2 3 import uuid 4 5 import pytest 6 7 pytestmark = pytest.mark.asyncio 8 9 10 async def test_session_id(new_session, add_browser_capabilities): 11 bidi_session = await new_session( 12 capabilities={"alwaysMatch": add_browser_capabilities({})} 13 ) 14 assert isinstance(bidi_session.session_id, str) 15 uuid.UUID(hex=bidi_session.session_id) 16 17 18 async def test_capability_type(new_session, add_browser_capabilities): 19 bidi_session = await new_session( 20 capabilities={"alwaysMatch": add_browser_capabilities({})} 21 ) 22 23 default_capability_types = [ 24 ("acceptInsecureCerts", bool), 25 ("browserName", str), 26 ("browserVersion", str), 27 ("platformName", str), 28 ("proxy", dict), 29 ("setWindowRect", bool), 30 ("userAgent", str), 31 ] 32 33 assert isinstance(bidi_session.capabilities, dict) 34 35 for capability, type in default_capability_types: 36 assert isinstance(bidi_session.capabilities[capability], type) 37 38 39 async def test_capability_default_value(new_session, add_browser_capabilities): 40 bidi_session = await new_session( 41 capabilities={"alwaysMatch": add_browser_capabilities({})} 42 ) 43 assert isinstance(bidi_session.capabilities, dict) 44 45 default_capability_values = [ 46 ("acceptInsecureCerts", False), 47 ("proxy", {}), 48 ] 49 50 for capability, value in default_capability_values: 51 assert bidi_session.capabilities[capability] == value 52 53 54 async def test_ignore_non_spec_fields_in_capabilities( 55 new_session, add_browser_capabilities 56 ): 57 bidi_session = await new_session( 58 capabilities={ 59 "alwaysMatch": add_browser_capabilities({}), 60 "nonSpecCapabilities": {"acceptInsecureCerts": True}, 61 } 62 ) 63 64 assert bidi_session.capabilities["acceptInsecureCerts"] is False 65 66 67 @pytest.mark.parametrize("match_type", ["alwaysMatch", "firstMatch"]) 68 @pytest.mark.parametrize( 69 "key, value", 70 [ 71 ("pageLoadStrategy", "none"), 72 ("strictFileInteractability", True), 73 ("timeouts", {"script": 500}), 74 ], 75 ) 76 async def test_with_webdriver_classic_capabilities( 77 new_session, match_capabilities, match_type, key, value 78 ): 79 capabilities = match_capabilities(match_type, key, value) 80 81 bidi_session = await new_session(capabilities=capabilities) 82 83 assert isinstance(bidi_session.capabilities, dict) 84 assert key not in bidi_session.capabilities