From d289954944c253f2fea23465eab5bd8e0d459d77 Mon Sep 17 00:00:00 2001 From: Alexei Barantsev Date: Tue, 6 Mar 2018 23:06:01 +0300 Subject: [PATCH] Adding another test for SafariDriver constructor --- ...PreviewTest.java => SafariDriverTest.java} | 51 ++++++++++++------- .../selenium/safari/SafariDriverTests.java | 2 +- 2 files changed, 35 insertions(+), 18 deletions(-) rename java/client/test/org/openqa/selenium/safari/{TechnologyPreviewTest.java => SafariDriverTest.java} (58%) diff --git a/java/client/test/org/openqa/selenium/safari/TechnologyPreviewTest.java b/java/client/test/org/openqa/selenium/safari/SafariDriverTest.java similarity index 58% rename from java/client/test/org/openqa/selenium/safari/TechnologyPreviewTest.java rename to java/client/test/org/openqa/selenium/safari/SafariDriverTest.java index e4c0f1a90cb42..2eb6728aa79ba 100644 --- a/java/client/test/org/openqa/selenium/safari/TechnologyPreviewTest.java +++ b/java/client/test/org/openqa/selenium/safari/SafariDriverTest.java @@ -21,41 +21,58 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assume.assumeTrue; -import org.junit.Before; +import org.junit.After; import org.junit.Test; import org.openqa.selenium.WebDriver; +import org.openqa.selenium.net.PortProber; import org.openqa.selenium.testing.JUnit4TestBase; +import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; -public class TechnologyPreviewTest extends JUnit4TestBase { +public class SafariDriverTest extends JUnit4TestBase { - @Before - public void checkTechnologyPreviewInstalled() { + private boolean technologyPreviewInstalled() { Path driverShim = Paths.get("/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver"); - assumeTrue("Technology Preview not installed", Files.exists(driverShim)); + return Files.exists(driverShim); + } + + private SafariDriverService service; + private WebDriver driver2; + + @After + public void stopAll() { + if (driver2 != null) { + driver2.quit(); + } + if (service != null) { + service.stop(); + } + } + + @Test + public void canStartADriverUsingAService() throws IOException { + removeDriver(); + int port = PortProber.findFreePort(); + service = new SafariDriverService.Builder().usingPort(port).build(); + service.start(); + driver2 = new SafariDriver(service); + driver2.get(pages.xhtmlTestPage); + assertEquals("XHTML Test Page", driver2.getTitle()); } @Test public void canStartTechnologyPreview() { + assumeTrue(technologyPreviewInstalled()); removeDriver(); SafariOptions options = new SafariOptions(); options.setUseTechnologyPreview(true); - - WebDriver driver2 = null; - try { - driver2 = new SafariDriver(options); - - driver2.get(pages.xhtmlTestPage); - assertEquals("XHTML Test Page", driver2.getTitle()); - } finally { - if (driver2 != null) { - driver2.quit(); - } - } + driver2 = new SafariDriver(options); + driver2.get(pages.xhtmlTestPage); + assertEquals("XHTML Test Page", driver2.getTitle()); } } diff --git a/java/client/test/org/openqa/selenium/safari/SafariDriverTests.java b/java/client/test/org/openqa/selenium/safari/SafariDriverTests.java index 697d2bb49b0d2..06b01dcf5ba16 100644 --- a/java/client/test/org/openqa/selenium/safari/SafariDriverTests.java +++ b/java/client/test/org/openqa/selenium/safari/SafariDriverTests.java @@ -30,10 +30,10 @@ @Suite.SuiteClasses({ StandardSeleniumTests.class, //AlertsTest.class, + SafariDriverTest.class, CleanSessionTest.class, CrossDomainTest.class, SafariOptionsTest.class, - TechnologyPreviewTest.class, }) public class SafariDriverTests {