diff --git a/.github/workflows/ci-java.yml b/.github/workflows/ci-java.yml index f04334fba068c..bbfc965be5268 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 + os: macos + cache-key: java-safari-tests + java-version: 17 + run: > + bazel test + --flaky_test_attempts 3 + --test_tag_filters=safari + //java/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;