Skip to content

Commit 70dd7d4

Browse files
authored
[py] Skip bidi tests on browsers that don't support bidi (#15625)
1 parent f457f15 commit 70dd7d4

File tree

6 files changed

+8
-25
lines changed

6 files changed

+8
-25
lines changed

py/conftest.py

+5
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,11 @@ def driver(request):
126126
if "WebKit" in driver_class and _platform == "Windows":
127127
pytest.skip("WebKit tests cannot be run on Windows")
128128

129+
# skip tests for drivers that don't support BiDi when --bidi is enabled
130+
if request.config.option.bidi:
131+
if driver_class in ("Ie", "Safari", "WebKitGTK", "WPEWebKit"):
132+
pytest.skip(f"{driver_class} does not support BiDi")
133+
129134
# conditionally mark tests as expected to fail based on driver
130135
marker = request.node.get_closest_marker(f"xfail_{driver_class.lower()}")
131136

py/pyproject.toml

+2-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,8 @@ markers = [
8181
"xfail_ie: Tests expected to fail in IE",
8282
"xfail_remote: Tests expected to fail with Remote webdriver",
8383
"xfail_safari: Tests expected to fail in Safari",
84-
"xfail_webkitgtk: Tests expected to fail in webkitgtk",
84+
"xfail_webkitgtk: Tests expected to fail in WebKitGTK",
85+
"xfail_wpewebkit: Tests expected to fail in WPEWebKit",
8586
"no_driver_after_test: If there are no drivers after the test it will create a new one."
8687
]
8788
python_files = ["test_*.py", "*_test.py", "*_tests.py"]

py/test/selenium/webdriver/common/bidi_browser_tests.py

-7
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,11 @@
2121
from selenium.webdriver.common.bidi.browser import ClientWindowState
2222

2323

24-
@pytest.mark.xfail_safari
2524
def test_browser_initialized(driver):
2625
"""Test that the browser module is initialized properly."""
2726
assert driver.browser is not None
2827

2928

30-
@pytest.mark.xfail_safari
3129
def test_create_user_context(driver):
3230
"""Test creating a user context."""
3331
user_context = driver.browser.create_user_context()
@@ -37,7 +35,6 @@ def test_create_user_context(driver):
3735
driver.browser.remove_user_context(user_context)
3836

3937

40-
@pytest.mark.xfail_safari
4138
def test_get_user_contexts(driver):
4239
"""Test getting user contexts."""
4340
user_context1 = driver.browser.create_user_context()
@@ -52,7 +49,6 @@ def test_get_user_contexts(driver):
5249
driver.browser.remove_user_context(user_context2)
5350

5451

55-
@pytest.mark.xfail_safari
5652
def test_remove_user_context(driver):
5753
"""Test removing a user context."""
5854
user_context1 = driver.browser.create_user_context()
@@ -71,7 +67,6 @@ def test_remove_user_context(driver):
7167
driver.browser.remove_user_context(user_context1)
7268

7369

74-
@pytest.mark.xfail_safari
7570
def test_get_client_windows(driver):
7671
"""Test getting client windows."""
7772
client_windows = driver.browser.get_client_windows()
@@ -91,13 +86,11 @@ def test_get_client_windows(driver):
9186
assert window_info.get_y() >= 0
9287

9388

94-
@pytest.mark.xfail_safari
9589
def test_raises_exception_when_removing_default_user_context(driver):
9690
with pytest.raises(Exception):
9791
driver.browser.remove_user_context("default")
9892

9993

100-
@pytest.mark.xfail_safari
10194
def test_client_window_state_constants(driver):
10295
assert ClientWindowState.FULLSCREEN == "fullscreen"
10396
assert ClientWindowState.MAXIMIZED == "maximized"

py/test/selenium/webdriver/common/bidi_network_tests.py

-8
Original file line numberDiff line numberDiff line change
@@ -21,25 +21,21 @@
2121
from selenium.webdriver.common.by import By
2222

2323

24-
@pytest.mark.xfail_safari
2524
def test_network_initialized(driver):
2625
assert driver.network is not None
2726

2827

29-
@pytest.mark.xfail_safari
3028
def test_add_intercept(driver, pages):
3129
result = driver.network._add_intercept()
3230
assert result is not None, "Intercept not added"
3331

3432

35-
@pytest.mark.xfail_safari
3633
def test_remove_intercept(driver):
3734
result = driver.network._add_intercept()
3835
driver.network._remove_intercept(result["intercept"])
3936
assert driver.network.intercepts == [], "Intercept not removed"
4037

4138

42-
@pytest.mark.xfail_safari
4339
def test_add_and_remove_request_handler(driver, pages):
4440

4541
requests = []
@@ -55,7 +51,6 @@ def callback(request: Request):
5551
assert driver.find_element(By.NAME, "login").is_displayed(), "Request not continued"
5652

5753

58-
@pytest.mark.xfail_safari
5954
def test_clear_request_handlers(driver, pages):
6055
requests = []
6156

@@ -76,7 +71,6 @@ def callback(request: Request):
7671

7772
@pytest.mark.xfail_chrome
7873
@pytest.mark.xfail_edge
79-
@pytest.mark.xfail_safari
8074
def test_continue_request(driver, pages):
8175

8276
def callback(request: Request):
@@ -90,7 +84,6 @@ def callback(request: Request):
9084

9185
@pytest.mark.xfail_chrome
9286
@pytest.mark.xfail_edge
93-
@pytest.mark.xfail_safari
9487
def test_continue_with_auth(driver):
9588

9689
callback_id = driver.network.add_auth_handler("user", "passwd")
@@ -101,7 +94,6 @@ def test_continue_with_auth(driver):
10194

10295
@pytest.mark.xfail_chrome
10396
@pytest.mark.xfail_edge
104-
@pytest.mark.xfail_safari
10597
def test_remove_auth_handler(driver):
10698
callback_id = driver.network.add_auth_handler("user", "passwd")
10799
assert callback_id is not None, "Request handler not added"

py/test/selenium/webdriver/common/bidi_script_tests.py

-5
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,11 @@
1414
# KIND, either express or implied. See the License for the
1515
# specific language governing permissions and limitations
1616
# under the License.
17-
import pytest
1817

1918
from selenium.webdriver.common.by import By
2019
from selenium.webdriver.support.ui import WebDriverWait
2120

2221

23-
@pytest.mark.xfail_safari
2422
def test_logs_console_messages(driver, pages):
2523
pages.load("bidi/logEntryAdded.html")
2624

@@ -39,7 +37,6 @@ def test_logs_console_messages(driver, pages):
3937
assert log_entry.type_ == "console"
4038

4139

42-
@pytest.mark.xfail_safari
4340
def test_logs_console_errors(driver, pages):
4441
pages.load("bidi/logEntryAdded.html")
4542
log_entries = []
@@ -64,7 +61,6 @@ def log_error(entry):
6461
assert log_entry.type_ == "console"
6562

6663

67-
@pytest.mark.xfail_safari
6864
def test_logs_multiple_console_messages(driver, pages):
6965
pages.load("bidi/logEntryAdded.html")
7066

@@ -79,7 +75,6 @@ def test_logs_multiple_console_messages(driver, pages):
7975
assert len(log_entries) == 2
8076

8177

82-
@pytest.mark.xfail_safari
8378
def test_removes_console_message_handler(driver, pages):
8479
pages.load("bidi/logEntryAdded.html")
8580

py/test/selenium/webdriver/common/bidi_tests.py

+1-4
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
# KIND, either express or implied. See the License for the
1515
# specific language governing permissions and limitations
1616
# under the License.
17+
1718
import pytest
1819

1920
from selenium.webdriver.common.by import By
@@ -23,7 +24,6 @@
2324

2425
@pytest.mark.xfail_firefox(reason="https://bugzilla.mozilla.org/show_bug.cgi?id=1819965")
2526
@pytest.mark.xfail_remote(reason="https://bugzilla.mozilla.org/show_bug.cgi?id=1819965")
26-
@pytest.mark.xfail_safari
2727
async def test_check_console_messages(driver, pages):
2828
async with driver.bidi_connection() as session:
2929
log = Log(driver, session)
@@ -37,7 +37,6 @@ async def test_check_console_messages(driver, pages):
3737

3838
@pytest.mark.xfail_firefox(reason="https://bugzilla.mozilla.org/show_bug.cgi?id=1819965")
3939
@pytest.mark.xfail_remote(reason="https://bugzilla.mozilla.org/show_bug.cgi?id=1819965")
40-
@pytest.mark.xfail_safari
4140
async def test_check_error_console_messages(driver, pages):
4241
async with driver.bidi_connection() as session:
4342
log = Log(driver, session)
@@ -51,7 +50,6 @@ async def test_check_error_console_messages(driver, pages):
5150

5251

5352
@pytest.mark.xfail_firefox
54-
@pytest.mark.xfail_safari
5553
@pytest.mark.xfail_remote
5654
async def test_collect_js_exceptions(driver, pages):
5755
async with driver.bidi_connection() as session:
@@ -64,7 +62,6 @@ async def test_collect_js_exceptions(driver, pages):
6462

6563

6664
@pytest.mark.xfail_firefox
67-
@pytest.mark.xfail_safari
6865
@pytest.mark.xfail_remote
6966
async def test_collect_log_mutations(driver, pages):
7067
async with driver.bidi_connection() as session:

0 commit comments

Comments
 (0)