From 11ecba105ad310cbcc866ccb3e7623d781720deb Mon Sep 17 00:00:00 2001 From: Titus Fortner Date: Fri, 19 Dec 2025 08:58:09 -0600 Subject: [PATCH 1/2] run java tests on safari --- .github/workflows/ci-java.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/ci-java.yml b/.github/workflows/ci-java.yml index f04334fba068c..2490f35cde900 100644 --- a/.github/workflows/ci-java.yml +++ b/.github/workflows/ci-java.yml @@ -73,3 +73,17 @@ jobs: java-version: 17 run: | bazel test --flaky_test_attempts 3 //java/test/org/openqa/selenium/chrome:ChromeDriverFunctionalTest-remote + + safari-tests: + name: Safari Tests + uses: ./.github/workflows/bazel.yml + with: + name: Safari Tests (macos) + os: macos + cache-key: java-macos-safari-tests + java-version: 17 + run: > + bazel test + --flaky_test_attempts 3 + --test_tag_filters=safari + //java/test/... From 2399859ed5f4a8d67a0e2e6e23c8f9e3d1abc876 Mon Sep 17 00:00:00 2001 From: Titus Fortner Date: Sat, 20 Dec 2025 10:50:18 -0600 Subject: [PATCH 2/2] fix guards --- .github/workflows/ci-java.yml | 4 ++-- java/test/org/openqa/selenium/ClickScrollingTest.java | 4 ---- java/test/org/openqa/selenium/FormHandlingTest.java | 1 - java/test/org/openqa/selenium/SvgDocumentTest.java | 3 --- java/test/org/openqa/selenium/VisibilityTest.java | 2 -- java/test/org/openqa/selenium/WebNetworkTest.java | 1 + java/test/org/openqa/selenium/WebScriptExecuteTest.java | 3 +++ java/test/org/openqa/selenium/WebScriptTest.java | 3 +++ 8 files changed, 9 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci-java.yml b/.github/workflows/ci-java.yml index 2490f35cde900..bbfc965be5268 100644 --- a/.github/workflows/ci-java.yml +++ b/.github/workflows/ci-java.yml @@ -78,9 +78,9 @@ jobs: name: Safari Tests uses: ./.github/workflows/bazel.yml with: - name: Safari Tests (macos) + name: Safari Tests os: macos - cache-key: java-macos-safari-tests + cache-key: java-safari-tests java-version: 17 run: > bazel test diff --git a/java/test/org/openqa/selenium/ClickScrollingTest.java b/java/test/org/openqa/selenium/ClickScrollingTest.java index 7372d2b02e891..d8e16def68e52 100644 --- a/java/test/org/openqa/selenium/ClickScrollingTest.java +++ b/java/test/org/openqa/selenium/ClickScrollingTest.java @@ -160,7 +160,6 @@ public void testShouldScrollOverflowElementsIfClickPointIsOutOfViewButElementIsI @SwitchToTopAfterTest @Test - @NotYetImplemented(SAFARI) @Ignore( value = FIREFOX, reason = "frame not scrolled into view", @@ -185,7 +184,6 @@ void testShouldBeAbleToClickElementThatIsOutOfViewInAFrame() { @SwitchToTopAfterTest @Test - @NotYetImplemented(SAFARI) public void testShouldBeAbleToClickElementThatIsOutOfViewInAFrameThatIsOutOfView() { driver.get(appServer.whereIs("scrolling_tests/page_with_scrolling_frame_out_of_view.html")); driver.switchTo().frame("scrolling_frame"); @@ -215,7 +213,6 @@ public void testShouldBeAbleToClickElementThatIsOutOfViewInANestedFrame() { value = FIREFOX, reason = "horizontal scroll bar gets in the way", issue = "https://github.com/mozilla/geckodriver/issues/2013") - @NotYetImplemented(SAFARI) public void testShouldBeAbleToClickElementThatIsOutOfViewInANestedFrameThatIsOutOfView() { driver.get( appServer.whereIs("scrolling_tests/page_with_nested_scrolling_frames_out_of_view.html")); @@ -242,7 +239,6 @@ private long getScrollTop() { @SwitchToTopAfterTest @Test - @NotYetImplemented(SAFARI) @Ignore( value = FIREFOX, reason = "frame not scrolled into view", diff --git a/java/test/org/openqa/selenium/FormHandlingTest.java b/java/test/org/openqa/selenium/FormHandlingTest.java index efb66413ca3a0..3de66700b006c 100644 --- a/java/test/org/openqa/selenium/FormHandlingTest.java +++ b/java/test/org/openqa/selenium/FormHandlingTest.java @@ -106,7 +106,6 @@ void testSendKeysKeepsCapitalization() { @Test @NotYetImplemented(FIREFOX) - @NotYetImplemented(SAFARI) public void testShouldSubmitAFormUsingTheNewlineLiteral() { driver.get(pages.formPage); WebElement nestedForm = driver.findElement(By.id("nested_form")); diff --git a/java/test/org/openqa/selenium/SvgDocumentTest.java b/java/test/org/openqa/selenium/SvgDocumentTest.java index 2a8a9d60b855c..31aba35391caf 100644 --- a/java/test/org/openqa/selenium/SvgDocumentTest.java +++ b/java/test/org/openqa/selenium/SvgDocumentTest.java @@ -18,16 +18,13 @@ package org.openqa.selenium; import static org.assertj.core.api.Assertions.assertThat; -import static org.openqa.selenium.testing.drivers.Browser.SAFARI; import org.junit.jupiter.api.Test; import org.openqa.selenium.testing.JupiterTestBase; -import org.openqa.selenium.testing.NotYetImplemented; class SvgDocumentTest extends JupiterTestBase { @Test - @NotYetImplemented(SAFARI) public void testClickOnSvgElement() { driver.get(pages.svgTestPage); WebElement rect = driver.findElement(By.id("rect")); diff --git a/java/test/org/openqa/selenium/VisibilityTest.java b/java/test/org/openqa/selenium/VisibilityTest.java index 7733b6dcda25d..c7765b2b75fa8 100644 --- a/java/test/org/openqa/selenium/VisibilityTest.java +++ b/java/test/org/openqa/selenium/VisibilityTest.java @@ -64,7 +64,6 @@ void testShouldCountElementsAsVisibleIfStylePropertyHasBeenSet() { } @Test - @NotYetImplemented(SAFARI) public void testShouldModifyTheVisibilityOfAnElementDynamically() { driver.get(pages.javascriptPage); @@ -107,7 +106,6 @@ void testShouldNotBeAbleToTypeToAnElementThatIsNotDisplayed() { } @Test - @NotYetImplemented(SAFARI) public void testZeroSizedDivIsShownIfDescendantHasSize() { driver.get(pages.javascriptPage); diff --git a/java/test/org/openqa/selenium/WebNetworkTest.java b/java/test/org/openqa/selenium/WebNetworkTest.java index 73a05f201be07..5f63accdac690 100644 --- a/java/test/org/openqa/selenium/WebNetworkTest.java +++ b/java/test/org/openqa/selenium/WebNetworkTest.java @@ -41,6 +41,7 @@ import org.openqa.selenium.testing.NeedsFreshDriver; import org.openqa.selenium.testing.drivers.Browser; +@Ignore(value = Browser.SAFARI, reason = "Safari does not support BiDi") class WebNetworkTest extends JupiterTestBase { private String page; diff --git a/java/test/org/openqa/selenium/WebScriptExecuteTest.java b/java/test/org/openqa/selenium/WebScriptExecuteTest.java index 9138b2774c549..cedbda701413b 100644 --- a/java/test/org/openqa/selenium/WebScriptExecuteTest.java +++ b/java/test/org/openqa/selenium/WebScriptExecuteTest.java @@ -33,8 +33,11 @@ import org.openqa.selenium.bidi.script.RemoteValue; import org.openqa.selenium.print.PrintOptions; import org.openqa.selenium.remote.RemoteWebDriver; +import org.openqa.selenium.testing.Ignore; import org.openqa.selenium.testing.JupiterTestBase; +import org.openqa.selenium.testing.drivers.Browser; +@Ignore(value = Browser.SAFARI, reason = "Safari does not support BiDi") class WebScriptExecuteTest extends JupiterTestBase { @Test diff --git a/java/test/org/openqa/selenium/WebScriptTest.java b/java/test/org/openqa/selenium/WebScriptTest.java index 87febcaa75347..3de6d7cea45d9 100644 --- a/java/test/org/openqa/selenium/WebScriptTest.java +++ b/java/test/org/openqa/selenium/WebScriptTest.java @@ -34,9 +34,12 @@ import org.openqa.selenium.remote.DomMutation; import org.openqa.selenium.remote.RemoteWebDriver; import org.openqa.selenium.support.ui.WebDriverWait; +import org.openqa.selenium.testing.Ignore; import org.openqa.selenium.testing.JupiterTestBase; import org.openqa.selenium.testing.NeedsFreshDriver; +import org.openqa.selenium.testing.drivers.Browser; +@Ignore(value = Browser.SAFARI, reason = "Safari does not support BiDi") class WebScriptTest extends JupiterTestBase { String page;