diff --git a/py/test/selenium/webdriver/common/bidi_input_tests.py b/py/test/selenium/webdriver/common/bidi_input_tests.py index 9929a01117924..c415cc2e69b49 100644 --- a/py/test/selenium/webdriver/common/bidi_input_tests.py +++ b/py/test/selenium/webdriver/common/bidi_input_tests.py @@ -74,9 +74,7 @@ def test_basic_key_input(driver, pages): driver.input.perform_actions(driver.current_window_handle, [key_actions]) - WebDriverWait(driver, 5).until( - lambda d: input_element.get_attribute("value") == "hello" - ) + WebDriverWait(driver, 5).until(lambda d: input_element.get_attribute("value") == "hello") assert input_element.get_attribute("value") == "hello" @@ -100,9 +98,7 @@ def test_key_input_with_pause(driver, pages): driver.input.perform_actions(driver.current_window_handle, [key_actions]) - WebDriverWait(driver, 5).until( - lambda d: input_element.get_attribute("value") == "ab" - ) + WebDriverWait(driver, 5).until(lambda d: input_element.get_attribute("value") == "ab") assert input_element.get_attribute("value") == "ab" @@ -208,11 +204,7 @@ def test_wheel_scroll(driver, pages): # Scroll down wheel_actions = WheelSourceActions( id="wheel", - actions=[ - WheelScrollAction( - x=100, y=100, delta_x=0, delta_y=100, origin=Origin.VIEWPORT - ) - ], + actions=[WheelScrollAction(x=100, y=100, delta_x=0, delta_y=100, origin=Origin.VIEWPORT)], ) driver.input.perform_actions(driver.current_window_handle, [wheel_actions]) @@ -263,13 +255,9 @@ def test_combined_input_actions(driver, pages): ], ) - driver.input.perform_actions( - driver.current_window_handle, [pointer_actions, key_actions] - ) + driver.input.perform_actions(driver.current_window_handle, [pointer_actions, key_actions]) - WebDriverWait(driver, 5).until( - lambda d: input_element.get_attribute("value") == "test" - ) + WebDriverWait(driver, 5).until(lambda d: input_element.get_attribute("value") == "test") assert input_element.get_attribute("value") == "test" @@ -281,9 +269,7 @@ def test_set_files(driver, pages): assert upload_element.get_attribute("value") == "" # Create a temporary file - with tempfile.NamedTemporaryFile( - mode="w", suffix=".txt", delete=False - ) as temp_file: + with tempfile.NamedTemporaryFile(mode="w", suffix=".txt", delete=False) as temp_file: temp_file.write("test content") temp_file_path = temp_file.name @@ -293,9 +279,7 @@ def test_set_files(driver, pages): element_ref = {"sharedId": element_id} # Set files using BiDi - driver.input.set_files( - driver.current_window_handle, element_ref, [temp_file_path] - ) + driver.input.set_files(driver.current_window_handle, element_ref, [temp_file_path]) # Verify file was set value = upload_element.get_attribute("value") @@ -370,9 +354,7 @@ def test_release_actions(driver, pages): driver.input.perform_actions(driver.current_window_handle, [key_actions2]) # Should be able to type normally - WebDriverWait(driver, 5).until( - lambda d: "b" in input_element.get_attribute("value") - ) + WebDriverWait(driver, 5).until(lambda d: "b" in input_element.get_attribute("value")) @pytest.mark.parametrize("multiple", [True, False]) @@ -388,9 +370,7 @@ def file_dialog_handler(file_dialog_info): handler_id = driver.input.add_file_dialog_handler(file_dialog_handler) assert handler_id is not None - driver.get( - f"data:text/html," - ) + driver.get(f"data:text/html,") # Use script.evaluate to trigger the file dialog with user activation driver.script._evaluate( @@ -490,9 +470,7 @@ def test_perform_actions_rapid_key_sequence(driver, pages): driver.input.perform_actions(driver.current_window_handle, [key_actions]) - WebDriverWait(driver, 5).until( - lambda d: input_element.get_attribute("value") == "abcd" - ) + WebDriverWait(driver, 5).until(lambda d: input_element.get_attribute("value") == "abcd") assert input_element.get_attribute("value") == "abcd" @@ -617,11 +595,7 @@ def test_wheel_scroll_negative_delta(driver, pages): # First scroll down wheel_actions_down = WheelSourceActions( id="wheel_down", - actions=[ - WheelScrollAction( - x=100, y=100, delta_x=0, delta_y=100, origin=Origin.VIEWPORT - ) - ], + actions=[WheelScrollAction(x=100, y=100, delta_x=0, delta_y=100, origin=Origin.VIEWPORT)], ) driver.input.perform_actions(driver.current_window_handle, [wheel_actions_down]) @@ -632,11 +606,7 @@ def test_wheel_scroll_negative_delta(driver, pages): # Then scroll back up (negative delta) wheel_actions_up = WheelSourceActions( id="wheel_up", - actions=[ - WheelScrollAction( - x=100, y=100, delta_x=0, delta_y=-50, origin=Origin.VIEWPORT - ) - ], + actions=[WheelScrollAction(x=100, y=100, delta_x=0, delta_y=-50, origin=Origin.VIEWPORT)], ) driver.input.perform_actions(driver.current_window_handle, [wheel_actions_up]) @@ -676,11 +646,7 @@ def test_wheel_scroll_horizontal(driver, pages): # Scroll horizontally wheel_actions = WheelSourceActions( id="wheel", - actions=[ - WheelScrollAction( - x=100, y=100, delta_x=50, delta_y=0, origin=Origin.VIEWPORT - ) - ], + actions=[WheelScrollAction(x=100, y=100, delta_x=50, delta_y=0, origin=Origin.VIEWPORT)], ) driver.input.perform_actions(driver.current_window_handle, [wheel_actions]) @@ -711,9 +677,7 @@ def test_key_input_special_characters(driver, pages): driver.input.perform_actions(driver.current_window_handle, [key_actions]) - WebDriverWait(driver, 5).until( - lambda d: "!" in input_element.get_attribute("value") - ) + WebDriverWait(driver, 5).until(lambda d: "!" in input_element.get_attribute("value")) def test_set_files_empty_file_list(driver, pages): @@ -741,9 +705,7 @@ def test_set_files_with_absolute_path(driver): upload_element = driver.find_element(By.ID, "upload") # Create a temporary file - with tempfile.NamedTemporaryFile( - mode="w", suffix=".txt", delete=False - ) as temp_file: + with tempfile.NamedTemporaryFile(mode="w", suffix=".txt", delete=False) as temp_file: temp_file.write("test file content") temp_file_path = temp_file.name @@ -753,9 +715,7 @@ def test_set_files_with_absolute_path(driver): element_ref = {"sharedId": element_id} # Set file using absolute path - driver.input.set_files( - driver.current_window_handle, element_ref, [temp_file_path] - ) + driver.input.set_files(driver.current_window_handle, element_ref, [temp_file_path]) value = upload_element.get_attribute("value") assert os.path.basename(temp_file_path) in value @@ -882,15 +842,11 @@ def test_combined_keyboard_and_wheel_actions(driver, pages): id="wheel", actions=[ PauseAction(duration=0), # Sync with keyboard - WheelScrollAction( - x=100, y=100, delta_x=0, delta_y=100, origin=Origin.VIEWPORT - ), + WheelScrollAction(x=100, y=100, delta_x=0, delta_y=100, origin=Origin.VIEWPORT), ], ) - driver.input.perform_actions( - driver.current_window_handle, [key_actions, wheel_actions] - ) + driver.input.perform_actions(driver.current_window_handle, [key_actions, wheel_actions]) scroll_y = driver.execute_script("return window.pageYOffset;") assert scroll_y == 100 @@ -917,9 +873,7 @@ def test_key_input_with_value_attribute(driver, pages): driver.input.perform_actions(driver.current_window_handle, [key_actions]) - WebDriverWait(driver, 5).until( - lambda d: input_element.get_attribute("value") == "xyz" - ) + WebDriverWait(driver, 5).until(lambda d: input_element.get_attribute("value") == "xyz") assert input_element.get_attribute("value") == "xyz" @@ -936,11 +890,7 @@ def test_wheel_scroll_with_element_origin(driver, pages): # Scroll with element origin wheel_actions = WheelSourceActions( id="wheel", - actions=[ - WheelScrollAction( - x=100, y=100, delta_x=0, delta_y=100, origin=element_origin - ) - ], + actions=[WheelScrollAction(x=100, y=100, delta_x=0, delta_y=100, origin=element_origin)], ) driver.input.perform_actions(driver.current_window_handle, [wheel_actions]) diff --git a/py/test/selenium/webdriver/common/bidi_integration_tests.py b/py/test/selenium/webdriver/common/bidi_integration_tests.py index 85323f49b3ccf..18098d2e7cb2a 100644 --- a/py/test/selenium/webdriver/common/bidi_integration_tests.py +++ b/py/test/selenium/webdriver/common/bidi_integration_tests.py @@ -175,9 +175,7 @@ def test_multiple_console_handlers(self, driver): try: driver.execute_script("console.log('test message');") - WebDriverWait(driver, 5).until( - lambda _: len(messages1) > 0 and len(messages2) > 0 - ) + WebDriverWait(driver, 5).until(lambda _: len(messages1) > 0 and len(messages2) > 0) assert len(messages1) > 0 assert len(messages2) > 0 @@ -220,9 +218,7 @@ def test_cookie_attributes(self, driver, pages): """Test cookie with various attributes.""" pages.load("blank.html") - driver.add_cookie( - {"name": "attr_cookie", "value": "test_value", "path": "/", "secure": False} - ) + driver.add_cookie({"name": "attr_cookie", "value": "test_value", "path": "/", "secure": False}) cookies = driver.get_cookies() cookie = next((c for c in cookies if c.get("name") == "attr_cookie"), None) @@ -257,9 +253,7 @@ def test_navigation_in_context(self, driver, pages): pages.load("blank.html") # Navigate using the BiDi API with the current context - driver.browsing_context.navigate( - context=driver.current_window_handle, url=pages.url("blank.html") - ) + driver.browsing_context.navigate(context=driver.current_window_handle, url=pages.url("blank.html")) # Verify page loaded element = driver.find_element(By.TAG_NAME, "body") diff --git a/py/test/selenium/webdriver/common/bidi_log_tests.py b/py/test/selenium/webdriver/common/bidi_log_tests.py index fbbd3a8166b2d..540100098ec16 100644 --- a/py/test/selenium/webdriver/common/bidi_log_tests.py +++ b/py/test/selenium/webdriver/common/bidi_log_tests.py @@ -82,9 +82,7 @@ def test_add_and_remove_handler(self, driver): try: driver.execute_script("console.log('first message');") - WebDriverWait(driver, 5).until( - lambda _: len(log_entries1) > 0 and len(log_entries2) > 0 - ) + WebDriverWait(driver, 5).until(lambda _: len(log_entries1) > 0 and len(log_entries2) > 0) assert len(log_entries1) > 0 assert len(log_entries2) > 0 diff --git a/py/test/selenium/webdriver/common/bidi_script_tests.py b/py/test/selenium/webdriver/common/bidi_script_tests.py index 5d5fc6ef9b780..d7ddf6d5d6882 100644 --- a/py/test/selenium/webdriver/common/bidi_script_tests.py +++ b/py/test/selenium/webdriver/common/bidi_script_tests.py @@ -115,9 +115,7 @@ def test_removes_console_message_handler(driver, pages): try: driver.find_element(By.ID, "consoleLog").click() - WebDriverWait(driver, 5).until( - lambda _: len(log_entries1) and len(log_entries2) - ) + WebDriverWait(driver, 5).until(lambda _: len(log_entries1) and len(log_entries2)) driver.script.remove_console_message_handler(id1) driver.find_element(By.ID, "consoleLog").click() @@ -158,9 +156,7 @@ def test_removes_javascript_message_handler(driver, pages): try: driver.find_element(By.ID, "jsException").click() - WebDriverWait(driver, 5).until( - lambda _: len(log_entries1) and len(log_entries2) - ) + WebDriverWait(driver, 5).until(lambda _: len(log_entries1) and len(log_entries2)) driver.script.remove_javascript_error_handler(id1) driver.find_element(By.ID, "jsException").click() @@ -196,13 +192,9 @@ def test_add_preload_script_with_arguments(driver, pages): """Test adding a preload script with channel arguments.""" function_declaration = "(channelFunc) => { channelFunc('test_value'); window.preloadValue = 'received'; }" - arguments = [ - {"type": "channel", "value": {"channel": "test-channel", "ownership": "root"}} - ] + arguments = [{"type": "channel", "value": {"channel": "test-channel", "ownership": "root"}}] - script_id = driver.script._add_preload_script( - function_declaration, arguments=arguments - ) + script_id = driver.script._add_preload_script(function_declaration, arguments=arguments) assert script_id is not None pages.load("blank.html") @@ -220,9 +212,7 @@ def test_add_preload_script_with_contexts(driver, pages): function_declaration = "() => { window.contextSpecific = true; }" contexts = [driver.current_window_handle] - script_id = driver.script._add_preload_script( - function_declaration, contexts=contexts - ) + script_id = driver.script._add_preload_script(function_declaration, contexts=contexts) assert script_id is not None pages.load("blank.html") @@ -247,9 +237,7 @@ def test_add_preload_script_with_user_contexts(driver, pages): try: user_contexts = [user_context] - script_id = driver.script._add_preload_script( - function_declaration, user_contexts=user_contexts - ) + script_id = driver.script._add_preload_script(function_declaration, user_contexts=user_contexts) assert script_id is not None pages.load("blank.html") @@ -270,9 +258,7 @@ def test_add_preload_script_with_sandbox(driver, pages): """Test adding a preload script with sandbox.""" function_declaration = "() => { window.sandboxScript = true; }" - script_id = driver.script._add_preload_script( - function_declaration, sandbox="test-sandbox" - ) + script_id = driver.script._add_preload_script(function_declaration, sandbox="test-sandbox") assert script_id is not None pages.load("blank.html") @@ -298,12 +284,8 @@ def test_add_preload_script_invalid_arguments(driver): """Test that providing both contexts and user_contexts raises an error.""" function_declaration = "() => {}" - with pytest.raises( - ValueError, match="Cannot specify both contexts and user_contexts" - ): - driver.script._add_preload_script( - function_declaration, contexts=["context1"], user_contexts=["user1"] - ) + with pytest.raises(ValueError, match="Cannot specify both contexts and user_contexts"): + driver.script._add_preload_script(function_declaration, contexts=["context1"], user_contexts=["user1"]) def test_remove_preload_script(driver, pages): @@ -329,9 +311,7 @@ def test_evaluate_expression(driver, pages): """Test evaluating a simple expression.""" pages.load("blank.html") - result = driver.script._evaluate( - "1 + 2", {"context": driver.current_window_handle}, await_promise=False - ) + result = driver.script._evaluate("1 + 2", {"context": driver.current_window_handle}, await_promise=False) assert result.realm is not None assert result.result["type"] == "number" @@ -630,9 +610,7 @@ def test_disown_handles(driver, pages): assert result_before.result["value"] == "bar" # Disown the handle - driver.script._disown( - handles=[handle], target={"context": driver.current_window_handle} - ) + driver.script._disown(handles=[handle], target={"context": driver.current_window_handle}) # Try using the disowned handle (this should fail) with pytest.raises(Exception): @@ -994,9 +972,7 @@ def test_execute_script_returns_array(self, driver): def test_execute_script_dom_query(self, driver, pages): """Test executing script that queries DOM.""" pages.load("formPage.html") - result = driver.execute_script( - "return document.querySelectorAll('input').length;" - ) + result = driver.execute_script("return document.querySelectorAll('input').length;") assert result > 0 def test_execute_script_with_arguments(self, driver): @@ -1112,9 +1088,7 @@ def test_multiple_preload_scripts(self, driver, pages): def test_preload_script_with_function(self, driver, pages): """Test preload script defining functions.""" - script_id = driver.script._add_preload_script( - "() => { window.customFunc = (x) => x * 2; }" - ) + script_id = driver.script._add_preload_script("() => { window.customFunc = (x) => x * 2; }") try: pages.load("blank.html") @@ -1129,9 +1103,7 @@ def test_preload_script_with_function(self, driver, pages): def test_preload_script_removal_prevents_execution(self, driver, pages): """Test that removing preload script prevents its execution.""" - script_id = driver.script._add_preload_script( - "() => { window.shouldNotExist = true; }" - ) + script_id = driver.script._add_preload_script("() => { window.shouldNotExist = true; }") driver.script._remove_preload_script(script_id=script_id) pages.load("blank.html") @@ -1356,9 +1328,7 @@ def test_multiple_error_handlers(self, driver, pages): driver.find_element(By.ID, "jsException").click() # Both handlers should receive events when error occurs - WebDriverWait(driver, 5).until( - lambda _: len(errors1) > 0 and len(errors2) > 0 - ) + WebDriverWait(driver, 5).until(lambda _: len(errors1) > 0 and len(errors2) > 0) assert len(errors1) > 0 assert len(errors2) > 0 finally: diff --git a/py/test/selenium/webdriver/common/bidi_storage_tests.py b/py/test/selenium/webdriver/common/bidi_storage_tests.py index 157df78dd3cd9..10d96789fcf3a 100644 --- a/py/test/selenium/webdriver/common/bidi_storage_tests.py +++ b/py/test/selenium/webdriver/common/bidi_storage_tests.py @@ -98,9 +98,7 @@ def test_get_cookie_by_name(self, driver, pages, webserver): driver.add_cookie({"name": key, "value": value}) # Test - cookie_filter = CookieFilter( - name=key, value=BytesValue(BytesValue.TYPE_STRING, "set") - ) + cookie_filter = CookieFilter(name=key, value=BytesValue(BytesValue.TYPE_STRING, "set")) result = driver.storage.get_cookies(filter=cookie_filter) @@ -122,18 +120,14 @@ def test_get_cookie_in_default_user_context(self, driver, pages, webserver): driver.add_cookie({"name": key, "value": value}) # Test - cookie_filter = CookieFilter( - name=key, value=BytesValue(BytesValue.TYPE_STRING, "set") - ) + cookie_filter = CookieFilter(name=key, value=BytesValue(BytesValue.TYPE_STRING, "set")) driver.switch_to.new_window(WindowTypes.WINDOW) descriptor = BrowsingContextPartitionDescriptor(driver.current_window_handle) params = cookie_filter - result_after_switching_context = driver.storage.get_cookies( - filter=params, partition=descriptor - ) + result_after_switching_context = driver.storage.get_cookies(filter=params, partition=descriptor) assert len(result_after_switching_context.cookies) > 0 assert result_after_switching_context.cookies[0].value.value == value @@ -164,21 +158,15 @@ def test_get_cookie_in_a_user_context(self, driver, pages, webserver): descriptor = StorageKeyPartitionDescriptor(user_context=user_context) - parameters = PartialCookie( - key, BytesValue(BytesValue.TYPE_STRING, value), webserver.host - ) + parameters = PartialCookie(key, BytesValue(BytesValue.TYPE_STRING, value), webserver.host) driver.storage.set_cookie(cookie=parameters, partition=descriptor) # Test - cookie_filter = CookieFilter( - name=key, value=BytesValue(BytesValue.TYPE_STRING, "set") - ) + cookie_filter = CookieFilter(name=key, value=BytesValue(BytesValue.TYPE_STRING, "set")) # Create a new window with the user context - new_window = driver.browsing_context.create( - type=WindowTypes.TAB, user_context=user_context - ) + new_window = driver.browsing_context.create(type=WindowTypes.TAB, user_context=user_context) driver.switch_to.window(new_window) @@ -193,13 +181,9 @@ def test_get_cookie_in_a_user_context(self, driver, pages, webserver): driver.switch_to.window(window_handle) - browsing_context_partition_descriptor = BrowsingContextPartitionDescriptor( - window_handle - ) + browsing_context_partition_descriptor = BrowsingContextPartitionDescriptor(window_handle) - result1 = driver.storage.get_cookies( - filter=cookie_filter, partition=browsing_context_partition_descriptor - ) + result1 = driver.storage.get_cookies(filter=cookie_filter, partition=browsing_context_partition_descriptor) assert len(result1.cookies) == 0 @@ -214,9 +198,7 @@ def test_add_cookie(self, driver, pages, webserver): key = generate_unique_key() value = "foo" - parameters = PartialCookie( - key, BytesValue(BytesValue.TYPE_STRING, value), webserver.host - ) + parameters = PartialCookie(key, BytesValue(BytesValue.TYPE_STRING, value), webserver.host) assert_cookie_is_not_present_with_name(driver, key) # Test @@ -532,9 +514,7 @@ def test_set_cookie_with_same_site_none(self, driver, pages, webserver): value = BytesValue(BytesValue.TYPE_STRING, "none") # SameSite=None typically requires secure=True - cookie = PartialCookie( - key, value, webserver.host, same_site=SameSite.NONE, secure=True - ) + cookie = PartialCookie(key, value, webserver.host, same_site=SameSite.NONE, secure=True) # Test driver.storage.set_cookie(cookie=cookie) @@ -691,9 +671,7 @@ def test_delete_cookie_by_path(self, driver, pages, webserver): result = driver.storage.get_cookies(filter=CookieFilter()) cookie_names = [c.name for c in result.cookies] - assert key1 not in cookie_names or all( - c.path != "/simpleTest.html" for c in result.cookies if c.name == key1 - ) + assert key1 not in cookie_names or all(c.path != "/simpleTest.html" for c in result.cookies if c.name == key1) def test_cookie_expiry_timestamp(self, driver, pages, webserver): """Test that cookie expiry is stored correctly as timestamp.""" diff --git a/py/test/selenium/webdriver/common/bidi_webextension_tests.py b/py/test/selenium/webdriver/common/bidi_webextension_tests.py index 93c6c5a1d5528..ef27c24481ad0 100644 --- a/py/test/selenium/webdriver/common/bidi_webextension_tests.py +++ b/py/test/selenium/webdriver/common/bidi_webextension_tests.py @@ -179,9 +179,7 @@ def test_install_with_extension_id_uninstall(self, chromium_driver): ext_info = chromium_driver.webextension.install(path=path) extension_id = ext_info.get("extension") # Uninstall using the extension ID - uninstall_extension_and_verify_extension_uninstalled( - chromium_driver, extension_id - ) + uninstall_extension_and_verify_extension_uninstalled(chromium_driver, extension_id) # Additional edge case tests for better WPT coverage @@ -251,10 +249,7 @@ def test_extension_content_script_injection(self, driver, pages): ) assert injected_element is not None - assert ( - "Content injected by webextensions-selenium-example" - in injected_element.text - ) + assert "Content injected by webextensions-selenium-example" in injected_element.text # Cleanup driver.webextension.uninstall(ext_info) @@ -268,9 +263,7 @@ def test_uninstall_removes_content_scripts(self, driver, pages): # Verify injection works pages.load("blank.html") - WebDriverWait(driver, timeout=5).until( - lambda dr: dr.find_element(By.ID, "webextensions-selenium-example") - ) + WebDriverWait(driver, timeout=5).until(lambda dr: dr.find_element(By.ID, "webextensions-selenium-example")) # Uninstall driver.webextension.uninstall(ext_info) @@ -379,10 +372,7 @@ def test_uninstall_extension_by_id_string(self, chromium_driver, pages_chromium) # Verify uninstall was successful chromium_driver.browsing_context.reload(chromium_driver.current_window_handle) - assert ( - len(chromium_driver.find_elements(By.ID, "webextensions-selenium-example")) - == 0 - ) + assert len(chromium_driver.find_elements(By.ID, "webextensions-selenium-example")) == 0 @pytest.mark.xfail_firefox def test_uninstall_extension_by_result_dict(self, chromium_driver, pages_chromium): @@ -395,10 +385,7 @@ def test_uninstall_extension_by_result_dict(self, chromium_driver, pages_chromiu # Verify uninstall was successful chromium_driver.browsing_context.reload(chromium_driver.current_window_handle) - assert ( - len(chromium_driver.find_elements(By.ID, "webextensions-selenium-example")) - == 0 - ) + assert len(chromium_driver.find_elements(By.ID, "webextensions-selenium-example")) == 0 @pytest.mark.xfail_firefox def test_install_returns_extension_id(self, chromium_driver, pages_chromium): @@ -429,10 +416,7 @@ def test_extension_content_script_injection(self, chromium_driver, pages_chromiu ) assert injected_element is not None - assert ( - "Content injected by webextensions-selenium-example" - in injected_element.text - ) + assert "Content injected by webextensions-selenium-example" in injected_element.text # Cleanup chromium_driver.webextension.uninstall(ext_info) @@ -454,15 +438,10 @@ def test_uninstall_removes_content_scripts(self, chromium_driver, pages_chromium # Reload page and verify injection is gone chromium_driver.browsing_context.reload(chromium_driver.current_window_handle) - assert ( - len(chromium_driver.find_elements(By.ID, "webextensions-selenium-example")) - == 0 - ) + assert len(chromium_driver.find_elements(By.ID, "webextensions-selenium-example")) == 0 @pytest.mark.xfail_firefox - def test_multiple_installations_and_uninstalls( - self, chromium_driver, pages_chromium - ): + def test_multiple_installations_and_uninstalls(self, chromium_driver, pages_chromium): """Test installing and uninstalling extension multiple times.""" path = os.path.join(EXTENSIONS, EXTENSION_PATH) @@ -471,17 +450,11 @@ def test_multiple_installations_and_uninstalls( verify_extension_injection(chromium_driver, pages_chromium) chromium_driver.webextension.uninstall(ext_info_1) chromium_driver.browsing_context.reload(chromium_driver.current_window_handle) - assert ( - len(chromium_driver.find_elements(By.ID, "webextensions-selenium-example")) - == 0 - ) + assert len(chromium_driver.find_elements(By.ID, "webextensions-selenium-example")) == 0 # Install/uninstall cycle 2 ext_info_2 = chromium_driver.webextension.install(path=path) verify_extension_injection(chromium_driver, pages_chromium) chromium_driver.webextension.uninstall(ext_info_2) chromium_driver.browsing_context.reload(chromium_driver.current_window_handle) - assert ( - len(chromium_driver.find_elements(By.ID, "webextensions-selenium-example")) - == 0 - ) + assert len(chromium_driver.find_elements(By.ID, "webextensions-selenium-example")) == 0