From 9302e4b4eb70acda1f9f83cd3ca9202608045951 Mon Sep 17 00:00:00 2001 From: Dale Wijnand Date: Thu, 11 Oct 2018 15:28:05 +0100 Subject: [PATCH 1/3] Testkit changes from akka-grpc --- .../play/BaseOneServerPerSuite.scala | 12 ++---- .../play/BaseOneServerPerTest.scala | 37 ++++++++++++++----- .../scalatestplus/play/ConfiguredServer.scala | 24 ++++++++++-- .../scalatestplus/play/ServerProvider.scala | 13 ++++++- 4 files changed, 61 insertions(+), 25 deletions(-) diff --git a/module/src/main/scala/org/scalatestplus/play/BaseOneServerPerSuite.scala b/module/src/main/scala/org/scalatestplus/play/BaseOneServerPerSuite.scala index a3ebf297..607778d7 100644 --- a/module/src/main/scala/org/scalatestplus/play/BaseOneServerPerSuite.scala +++ b/module/src/main/scala/org/scalatestplus/play/BaseOneServerPerSuite.scala @@ -142,11 +142,7 @@ trait BaseOneServerPerSuite extends TestSuiteMixin with ServerProvider { this: T */ implicit lazy val app: Application = fakeApplication() - /** - * The port used by the `TestServer`. By default this will be set to the result returned from - * `Helpers.testServerPort`. You can override this to provide a different port number. - */ - lazy val port: Int = Helpers.testServerPort + implicit protected lazy val runningServer: RunningServer = DefaultTestServerFactory.start(app) /** * Invokes `start` on a new `TestServer` created with the `Application` provided by `app` and the @@ -161,17 +157,15 @@ trait BaseOneServerPerSuite extends TestSuiteMixin with ServerProvider { this: T * @return a `Status` object that indicates when all tests and nested suites started by this method have completed, and whether or not a failure occurred. */ abstract override def run(testName: Option[String], args: Args): Status = { - val testServer = TestServer(port, app) - testServer.start() try { val newConfigMap = args.configMap + ("org.scalatestplus.play.app" -> app) + ("org.scalatestplus.play.port" -> port) val newArgs = args.copy(configMap = newConfigMap) val status = super.run(testName, newArgs) - status.whenCompleted { _ => testServer.stop() } + status.whenCompleted { _ => runningServer.stopServer.close() } status } catch { // In case the suite aborts, ensure the server is stopped case ex: Throwable => - testServer.stop() + runningServer.stopServer.close() throw ex } } diff --git a/module/src/main/scala/org/scalatestplus/play/BaseOneServerPerTest.scala b/module/src/main/scala/org/scalatestplus/play/BaseOneServerPerTest.scala index 73e75f5c..8dd45565 100644 --- a/module/src/main/scala/org/scalatestplus/play/BaseOneServerPerTest.scala +++ b/module/src/main/scala/org/scalatestplus/play/BaseOneServerPerTest.scala @@ -76,12 +76,23 @@ import org.scalatest._ */ trait BaseOneServerPerTest extends TestSuiteMixin with ServerProvider { this: TestSuite with FakeApplicationFactory => - private var privateApp: Application = _ + @volatile private var privateApp: Application = _ + @volatile private var privateServer: RunningServer = _ /** * Implicit method that returns the `Application` instance for the current test. */ - implicit final def app: Application = synchronized { privateApp } + implicit final def app: Application = { + val a = privateApp + if (a == null) { throw new IllegalStateException("Test isn't running yet so application is not available") } + a + } + + implicit final def runningServer: RunningServer = { + val rs = privateServer + if (rs == null) { throw new IllegalStateException("Test isn't running yet so the server endpoints are not available") } + privateServer + } /** * Creates new instance of `Application` with parameters set to their defaults. Override this method if you @@ -89,11 +100,8 @@ trait BaseOneServerPerTest extends TestSuiteMixin with ServerProvider { this: Te */ def newAppForTest(testData: TestData): Application = fakeApplication() - /** - * The port used by the `TestServer`. By default this will be set to the result returned from - * `Helpers.testServerPort`. You can override this to provide a different port number. - */ - lazy val port: Int = Helpers.testServerPort + protected def newServerForTest(app: Application, testData: TestData): RunningServer = + DefaultTestServerFactory.start(app) /** * Creates new `Application` and running `TestServer` instances before executing each test, and @@ -104,9 +112,18 @@ trait BaseOneServerPerTest extends TestSuiteMixin with ServerProvider { this: Te * @return the `Outcome` of the test execution */ abstract override def withFixture(test: NoArgTest) = { - synchronized { privateApp = newAppForTest(test) } - Helpers.running(TestServer(port, app)) { - super.withFixture(test) + // Need to synchronize within a suite because we store current app/server in fields in the class + // Could possibly pass app/server info in a ScalaTest object? + synchronized { + privateApp = newAppForTest(test) + privateServer = newServerForTest(app, test) + try super.withFixture(test) finally { + val rs = privateServer // Store before nulling fields + privateApp = null + privateServer = null + // Stop server and release locks + rs.stopServer.close() + } } } } diff --git a/module/src/main/scala/org/scalatestplus/play/ConfiguredServer.scala b/module/src/main/scala/org/scalatestplus/play/ConfiguredServer.scala index 72be84ab..acc49f30 100644 --- a/module/src/main/scala/org/scalatestplus/play/ConfiguredServer.scala +++ b/module/src/main/scala/org/scalatestplus/play/ConfiguredServer.scala @@ -17,6 +17,8 @@ package org.scalatestplus.play import org.scalatest._ import play.api.Application +import play.api.test.RunningServer +import play.core.server.{ ServerEndpoint, ServerEndpoints } /** * Trait that provides a configured `Application` and server port number to the suite into which it is mixed. @@ -81,14 +83,29 @@ trait ConfiguredServer extends TestSuiteMixin with ServerProvider { this: TestSu */ implicit final def app: Application = synchronized { configuredApp } - private var configuredPort: Int = -1 + implicit protected lazy val runningServer: RunningServer = + RunningServer( + app, + ServerEndpoints(Seq(ServerEndpoint( + description = "ConfiguredServer endpoint", + scheme = "http", + host = "localhost", + port = configuredPort, + expectedHttpVersions = Set.empty, + expectedServerAttr = None, + ssl = None + ))), + new AutoCloseable { def close() = () } + ) + + private var _configuredPort: Int = -1 /** * The "configured" port number, passed into `run` via the `ConfigMap`, at which the `TestServer` is running. * * @return the configured port number */ - def port: Int = synchronized { configuredPort } + final protected def configuredPort: Int = synchronized { _configuredPort } /** * Looks in `args.configMap` for a key named "org.scalatestplus.play.app" whose value is a `Application`, @@ -105,7 +122,6 @@ trait ConfiguredServer extends TestSuiteMixin with ServerProvider { this: TestSu * I.e., `None` acts like a wildcard that means run all relevant tests in this `Suite`. * @param args the `Args` for this run * @return a `Status` object that indicates when all tests and nested suites started by this method have completed, and whether or not a failure occurred. - * * @throws java.lang.IllegalArgumentException if the `Application` and/or port number does not appear in `args.configMap` under the expected keys */ abstract override def run(testName: Option[String], args: Args): Status = { @@ -114,7 +130,7 @@ trait ConfiguredServer extends TestSuiteMixin with ServerProvider { this: TestSu case None => throw new Exception("Trait ConfiguredServer needs an Application value associated with key \"org.scalatestplus.play.app\" in the config map. Did you forget to annotate a nested suite with @DoNotDiscover?") } args.configMap.getOptional[Int]("org.scalatestplus.play.port") match { - case Some(cp) => synchronized { configuredPort = cp } + case Some(cp) => synchronized { _configuredPort = cp } case None => throw new Exception("Trait ConfiguredServer needs an Int value associated with key \"org.scalatestplus.play.port\" in the config map. Did you forget to annotate a nested suite with @DoNotDiscover?") } super.run(testName, args) diff --git a/module/src/main/scala/org/scalatestplus/play/ServerProvider.scala b/module/src/main/scala/org/scalatestplus/play/ServerProvider.scala index 0cd08726..727fc6de 100644 --- a/module/src/main/scala/org/scalatestplus/play/ServerProvider.scala +++ b/module/src/main/scala/org/scalatestplus/play/ServerProvider.scala @@ -16,6 +16,7 @@ package org.scalatestplus.play import play.api.Application +import play.api.test.RunningServer /** * Trait that defines abstract methods that providing a port number and implicit `Application` and a concrete @@ -38,10 +39,13 @@ trait ServerProvider { */ implicit def app: Application + implicit protected def runningServer: RunningServer + /** * The port used by the `TestServer`. */ - def port: Int + // TODO: Document that this has been converted to a final method + final def port: Int = portNumber.value /** * Implicit `PortNumber` instance that wraps `port`. The value returned from `portNumber.value` @@ -49,6 +53,11 @@ trait ServerProvider { * * @return the configured port number, wrapped in a `PortNumber` */ - implicit final lazy val portNumber: PortNumber = PortNumber(port) + implicit def portNumber: PortNumber = { + val httpEndpoint = runningServer.endpoints.httpEndpoint + val port = httpEndpoint + .fold(throw new IllegalStateException("No HTTP port available for test server"))(_.port) + PortNumber(port) + } } From a97010b759e5eb22089931657b9e93c957ed6caf Mon Sep 17 00:00:00 2001 From: Dale Wijnand Date: Wed, 17 Oct 2018 14:30:20 +0100 Subject: [PATCH 2/3] Switch BaseOneServerPer{Test,Suite} to Netty, from AkkaHttp --- .../scala/org/scalatestplus/play/BaseOneServerPerSuite.scala | 4 +++- .../scala/org/scalatestplus/play/BaseOneServerPerTest.scala | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/module/src/main/scala/org/scalatestplus/play/BaseOneServerPerSuite.scala b/module/src/main/scala/org/scalatestplus/play/BaseOneServerPerSuite.scala index 607778d7..749c9961 100644 --- a/module/src/main/scala/org/scalatestplus/play/BaseOneServerPerSuite.scala +++ b/module/src/main/scala/org/scalatestplus/play/BaseOneServerPerSuite.scala @@ -142,7 +142,9 @@ trait BaseOneServerPerSuite extends TestSuiteMixin with ServerProvider { this: T */ implicit lazy val app: Application = fakeApplication() - implicit protected lazy val runningServer: RunningServer = DefaultTestServerFactory.start(app) + implicit protected lazy val runningServer: RunningServer = new DefaultTestServerFactory { + override def serverProvider(app: Application) = play.core.server.NettyServer.provider + }.start(app) /** * Invokes `start` on a new `TestServer` created with the `Application` provided by `app` and the diff --git a/module/src/main/scala/org/scalatestplus/play/BaseOneServerPerTest.scala b/module/src/main/scala/org/scalatestplus/play/BaseOneServerPerTest.scala index 8dd45565..a108a55f 100644 --- a/module/src/main/scala/org/scalatestplus/play/BaseOneServerPerTest.scala +++ b/module/src/main/scala/org/scalatestplus/play/BaseOneServerPerTest.scala @@ -101,7 +101,9 @@ trait BaseOneServerPerTest extends TestSuiteMixin with ServerProvider { this: Te def newAppForTest(testData: TestData): Application = fakeApplication() protected def newServerForTest(app: Application, testData: TestData): RunningServer = - DefaultTestServerFactory.start(app) + new DefaultTestServerFactory { + override def serverProvider(app: Application) = play.core.server.NettyServer.provider + }.start(app) /** * Creates new `Application` and running `TestServer` instances before executing each test, and From 396e10c111d541dd39e6f8b07145a0fb8821f3e5 Mon Sep 17 00:00:00 2001 From: Dale Wijnand Date: Wed, 17 Oct 2018 15:26:12 +0100 Subject: [PATCH 3/3] Switch away from Helpers.testServerPort --- .../scalatestplus/play/AllBrowsersPerSuite.scala | 5 ++--- .../scalatestplus/play/AllBrowsersPerTest.scala | 5 ++--- .../scalatestplus/play/BaseOneServerPerSuite.scala | 9 ++++----- .../scalatestplus/play/BaseOneServerPerTest.scala | 5 ++--- .../org/scalatestplus/play/ConfiguredBrowser.scala | 5 ++--- .../org/scalatestplus/play/ConfiguredServer.scala | 4 ++-- .../scalatestplus/play/OneBrowserPerSuite.scala | 14 ++++++-------- .../org/scalatestplus/play/OneBrowserPerTest.scala | 5 ++--- .../org/scalatestplus/play/ChromeFactorySpec.scala | 5 ++--- .../play/ConfiguredBrowserNestedSuite.scala | 9 +++------ .../play/ConfiguredServerNestedSuite.scala | 9 +++------ ...nfiguredServerWithAllBrowsersPerSuiteSpec.scala | 5 ++--- ...onfiguredServerWithAllBrowsersPerTestSpec.scala | 5 ++--- ...ConfiguredServerWithConfiguredBrowserSpec.scala | 5 ++--- ...onfiguredServerWithOneBrowserPerSuiteSpec.scala | 5 ++--- ...ConfiguredServerWithOneBrowserPerTestSpec.scala | 5 ++--- .../scalatestplus/play/HtmlUnitFactorySpec.scala | 5 ++--- .../play/InternetExplorerFactorySpec.scala | 5 ++--- .../play/OneChromeBrowserPerTestSpec.scala | 4 ++-- .../play/OneHtmlUnitBrowserPerTestSpec.scala | 5 ++--- .../OneInternetExplorerBrowserPerTestSpec.scala | 5 ++--- .../play/OneSafariBrowserPerTestSpec.scala | 5 ++--- .../play/OneServerPerSuiteComponentSpec.scala | 4 ++-- .../scalatestplus/play/OneServerPerSuiteSpec.scala | 5 ++--- ...ServerPerSuiteWithAllBrowsersPerSuiteSpec.scala | 5 ++--- ...eServerPerSuiteWithAllBrowsersPerTestSpec.scala | 5 ++--- ...neServerPerSuiteWithConfiguredBrowserSpec.scala | 5 ++--- ...eServerPerSuiteWithOneBrowserPerSuiteSpec.scala | 5 ++--- ...neServerPerSuiteWithOneBrowserPerTestSpec.scala | 5 ++--- .../play/OneServerPerTestComponentSpec.scala | 4 ++-- .../scalatestplus/play/OneServerPerTestSpec.scala | 5 ++--- ...eServerPerTestWithAllBrowsersPerSuiteSpec.scala | 5 ++--- ...neServerPerTestWithAllBrowsersPerTestSpec.scala | 5 ++--- ...OneServerPerTestWithConfiguredBrowserSpec.scala | 5 ++--- ...neServerPerTestWithOneBrowserPerSuiteSpec.scala | 5 ++--- ...OneServerPerTestWithOneBrowserPerTestSpec.scala | 5 ++--- .../scalatestplus/play/PhantomJSFactorySpec.scala | 5 ++--- .../org/scalatestplus/play/SafariFactorySpec.scala | 5 ++--- .../org/scalatestplus/play/ServerSpecSpec.scala | 5 ++--- .../guice/allbrowserspersuite/ExampleSpec.scala | 5 ++--- .../guice/allbrowserspertest/ExampleSpec.scala | 5 ++--- .../guice/onebrowserpersuite/ExampleSpec.scala | 5 ++--- .../MultiBrowserExampleSpec.scala | 5 ++--- .../onebrowserpersuite/NestedExampleSpec.scala | 5 ++--- .../guice/onebrowserpertest/ExampleSpec.scala | 5 ++--- .../guice/oneserverpersuite/ExampleSpec.scala | 5 ++--- .../oneserverpersuite/NestedExampleSpec.scala | 5 ++--- .../guice/oneserverpertest/ExampleSpec.scala | 5 ++--- 48 files changed, 104 insertions(+), 153 deletions(-) diff --git a/module/src/main/scala/org/scalatestplus/play/AllBrowsersPerSuite.scala b/module/src/main/scala/org/scalatestplus/play/AllBrowsersPerSuite.scala index 8837633a..e0a54600 100644 --- a/module/src/main/scala/org/scalatestplus/play/AllBrowsersPerSuite.scala +++ b/module/src/main/scala/org/scalatestplus/play/AllBrowsersPerSuite.scala @@ -83,7 +83,6 @@ import org.scalatestplus.play.BrowserFactory.{ GrumpyDriver, UnavailableDriver, *
  * package org.scalatestplus.play.examples.allbrowserspersuite
  *
- * import play.api.test._
  * import org.scalatestplus.play._
  * import org.scalatestplus.play.guice._
  * import play.api.{Play, Application}
@@ -124,8 +123,8 @@ import org.scalatestplus.play.BrowserFactory.{ GrumpyDriver, UnavailableDriver,
  *       def getConfig(key: String)(implicit app: Application) = app.configuration.getOptional[String](key)
  *       getConfig("foo") mustBe Some("bar")
  *     }
- *     "provide the port" in {
- *       port mustBe Helpers.testServerPort
+ *     "provide an http endpoint" in {
+ *       runningServer.endpoints.httpEndpoint must not be empty
  *     }
  *     "provide an actual running server" in {
  *       import java.net._
diff --git a/module/src/main/scala/org/scalatestplus/play/AllBrowsersPerTest.scala b/module/src/main/scala/org/scalatestplus/play/AllBrowsersPerTest.scala
index 983c238e..6d6f0a57 100644
--- a/module/src/main/scala/org/scalatestplus/play/AllBrowsersPerTest.scala
+++ b/module/src/main/scala/org/scalatestplus/play/AllBrowsersPerTest.scala
@@ -87,7 +87,6 @@ import org.openqa.selenium.firefox.FirefoxProfile
  * 
  * package org.scalatestplus.play.examples.allbrowserspertest
  *
- * import play.api.test._
  * import org.scalatest._
  * import org.scalatestplus.play._
  * import play.api.{Play, Application}
@@ -127,8 +126,8 @@ import org.openqa.selenium.firefox.FirefoxProfile
  *        def getConfig(key: String)(implicit app: Application) = app.configuration.getOptional[String](key)
  *       getConfig("foo") mustBe Some("bar")
  *     }
- *     "provide the port" in {
- *       port mustBe Helpers.testServerPort
+ *     "provide an http endpoint" in {
+ *       runningServer.endpoints.httpEndpoint must not be empty
  *     }
  *     "provide an actual running server" in {
  *       import java.net._
diff --git a/module/src/main/scala/org/scalatestplus/play/BaseOneServerPerSuite.scala b/module/src/main/scala/org/scalatestplus/play/BaseOneServerPerSuite.scala
index 749c9961..6369e7bd 100644
--- a/module/src/main/scala/org/scalatestplus/play/BaseOneServerPerSuite.scala
+++ b/module/src/main/scala/org/scalatestplus/play/BaseOneServerPerSuite.scala
@@ -63,8 +63,8 @@ import org.scalatest._
  *       def getConfig(key: String)(implicit app: Application) = app.configuration.getOptional[String](key)
  *       getConfig("ehcacheplugin") mustBe Some("disabled")
  *     }
- *     "provide the port number" in {
- *       port mustBe Helpers.testServerPort
+ *     "provide an http endpoint" in {
+ *       runningServer.endpoints.httpEndpoint must not be empty
  *     }
  *     "provide an actual running server" in {
  *       import Helpers._
@@ -86,7 +86,6 @@ import org.scalatest._
  * 
  * package org.scalatestplus.play.examples.oneserverpersuite
  *
- * import play.api.test._
  * import org.scalatest._
  * import org.scalatestplus.play._
  * import play.api.{Play, Application}
@@ -120,8 +119,8 @@ import org.scalatest._
  *       def getConfig(key: String)(implicit app: Application) = app.configuration.getOptional[String](key)
  *       getConfig("ehcacheplugin") mustBe Some("disabled")
  *     }
- *     "provide the port number" in {
- *       port mustBe Helpers.testServerPort
+ *     "provide an http endpoint" in {
+ *       runningServer.endpoints.httpEndpoint must not be empty
  *     }
  *     "provide an actual running server" in {
  *       import Helpers._
diff --git a/module/src/main/scala/org/scalatestplus/play/BaseOneServerPerTest.scala b/module/src/main/scala/org/scalatestplus/play/BaseOneServerPerTest.scala
index a108a55f..92780acc 100644
--- a/module/src/main/scala/org/scalatestplus/play/BaseOneServerPerTest.scala
+++ b/module/src/main/scala/org/scalatestplus/play/BaseOneServerPerTest.scala
@@ -36,7 +36,6 @@ import org.scalatest._
  * 
  * package org.scalatestplus.play.examples.oneserverpertest
  *
- * import play.api.test._
  * import org.scalatest._
  * import org.scalatestplus.play._
  * import play.api.{Play, Application}
@@ -59,8 +58,8 @@ import org.scalatest._
  *       def getConfig(key: String)(implicit app: Application) = app.configuration.getOptional[String](key)
  *       getConfig("ehcacheplugin") mustBe Some("disabled")
  *     }
- *     "provide the port number" in {
- *       port mustBe Helpers.testServerPort
+ *     "provide an http endpoint" in {
+ *       runningServer.endpoints.httpEndpoint must not be empty
  *     }
  *     "provide an actual running server" in {
  *       import Helpers._
diff --git a/module/src/main/scala/org/scalatestplus/play/ConfiguredBrowser.scala b/module/src/main/scala/org/scalatestplus/play/ConfiguredBrowser.scala
index 76cf57e9..d2459b58 100644
--- a/module/src/main/scala/org/scalatestplus/play/ConfiguredBrowser.scala
+++ b/module/src/main/scala/org/scalatestplus/play/ConfiguredBrowser.scala
@@ -44,7 +44,6 @@ import BrowserFactory.UninitializedDriver
  * 
  * package org.scalatestplus.play.examples.onebrowserpersuite
  *
- * import play.api.test.Helpers
  * import org.scalatest.tags.FirefoxBrowser
  * import org.scalatestplus.play._
  * import play.api.{Play, Application}
@@ -68,8 +67,8 @@ import BrowserFactory.UninitializedDriver
  *       def getConfig(key: String)(implicit app: Application) = app.configuration.getOptional[String](key)
  *       getConfig("ehcacheplugin") mustBe Some("disabled")
  *     }
- *     "provide the port number" in {
- *       port mustBe Helpers.testServerPort
+ *     "provide an http endpoint" in {
+ *       runningServer.endpoints.httpEndpoint must not be empty
  *     }
  *     "provide an actual running server" in {
  *       import java.net._
diff --git a/module/src/main/scala/org/scalatestplus/play/ConfiguredServer.scala b/module/src/main/scala/org/scalatestplus/play/ConfiguredServer.scala
index acc49f30..74259e0d 100644
--- a/module/src/main/scala/org/scalatestplus/play/ConfiguredServer.scala
+++ b/module/src/main/scala/org/scalatestplus/play/ConfiguredServer.scala
@@ -57,8 +57,8 @@ import play.core.server.{ ServerEndpoint, ServerEndpoints }
  *       def getConfig(key: String)(implicit app: Application) = app.configuration.getOptional[String](key)
  *       getConfig("ehcacheplugin") mustBe Some("disabled")
  *     }
- *     "provide the port number" in {
- *       port mustBe Helpers.testServerPort
+ *     "provide an http endpoint" in {
+ *       runningServer.endpoints.httpEndpoint must not be empty
  *     }
  *     "provide an actual running server" in {
  *       import Helpers._
diff --git a/module/src/main/scala/org/scalatestplus/play/OneBrowserPerSuite.scala b/module/src/main/scala/org/scalatestplus/play/OneBrowserPerSuite.scala
index 87be9338..11d3caa2 100644
--- a/module/src/main/scala/org/scalatestplus/play/OneBrowserPerSuite.scala
+++ b/module/src/main/scala/org/scalatestplus/play/OneBrowserPerSuite.scala
@@ -55,7 +55,6 @@ import scala.util.Try
  * 
  * package org.scalatestplus.play.examples.onebrowserpersuite
  *
- * import play.api.test.Helpers
  * import org.scalatest.tags.FirefoxBrowser
  * import org.scalatestplus.play._
  * import play.api.{Play, Application}
@@ -79,8 +78,8 @@ import scala.util.Try
  *       def getConfig(key: String)(implicit app: Application) = app.configuration.getOptional[String](key)
  *       getConfig("ehcacheplugin") mustBe Some("disabled")
  *     }
- *     "provide the port number" in {
- *       port mustBe Helpers.testServerPort
+ *     "provide an http endpoint" in {
+ *       runningServer.endpoints.httpEndpoint must not be empty
  *     }
  *     "provide an actual running server" in {
  *       import java.net._
@@ -107,7 +106,6 @@ import scala.util.Try
  * 
  * package org.scalatestplus.play.examples.onebrowserpersuite
  *
- * import play.api.test._
  * import org.scalatest._
  * import tags.FirefoxBrowser
  * import org.scalatestplus.play._
@@ -144,8 +142,8 @@ import scala.util.Try
  *       def getConfig(key: String)(implicit app: Application) = app.configuration.getOptional[String](key)
  *       getConfig("ehcacheplugin") mustBe Some("disabled")
  *     }
- *     "provide the port number" in {
- *       port mustBe Helpers.testServerPort
+ *     "provide an http endpoint" in {
+ *       runningServer.endpoints.httpEndpoint must not be empty
  *     }
  *     "provide an actual running server" in {
  *       import Helpers._
@@ -193,8 +191,8 @@ import scala.util.Try
  *       def getConfig(key: String)(implicit app: Application) = app.configuration.getOptional[String](key)
  *       getConfig("ehcacheplugin") mustBe Some("disabled")
  *     }
- *     "provide the port number" in {
- *       port mustBe Helpers.testServerPort
+ *     "provide an http endpoint" in {
+ *       runningServer.endpoints.httpEndpoint must not be empty
  *     }
  *     "provide an actual running server" in {
  *       import Helpers._
diff --git a/module/src/main/scala/org/scalatestplus/play/OneBrowserPerTest.scala b/module/src/main/scala/org/scalatestplus/play/OneBrowserPerTest.scala
index 55cc0475..e6129e01 100644
--- a/module/src/main/scala/org/scalatestplus/play/OneBrowserPerTest.scala
+++ b/module/src/main/scala/org/scalatestplus/play/OneBrowserPerTest.scala
@@ -45,7 +45,6 @@ import BrowserFactory.UninitializedDriver
  * 
  * package org.scalatestplus.play.examples.onebrowserpertest
  *
- * import play.api.test._
  * import org.scalatest._
  * import org.scalatest.tags.FirefoxBrowser
  * import org.scalatestplus.play._
@@ -70,8 +69,8 @@ import BrowserFactory.UninitializedDriver
  *       def getConfig(key: String)(implicit app: Application) = app.configuration.getOptional[String](key)
  *       getConfig("ehcacheplugin") mustBe Some("disabled")
  *     }
- *     "provide the port number" in {
- *       port mustBe Helpers.testServerPort
+ *     "provide an http endpoint" in {
+ *       runningServer.endpoints.httpEndpoint must not be empty
  *     }
  *     "provide an actual running server" in {
  *       import Helpers._
diff --git a/module/src/test/scala/org/scalatestplus/play/ChromeFactorySpec.scala b/module/src/test/scala/org/scalatestplus/play/ChromeFactorySpec.scala
index f700c9ff..acb6572c 100644
--- a/module/src/test/scala/org/scalatestplus/play/ChromeFactorySpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/ChromeFactorySpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play
 
-import play.api.test._
 import org.scalatest._
 import play.api.Application
 import org.openqa.selenium.WebDriver
@@ -50,8 +49,8 @@ class ChromeFactorySpec extends UnitSpec with GuiceOneServerPerSuite with OneBro
     "make the Application available implicitly" in {
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
 
     "send 404 on a bad request" in {
diff --git a/module/src/test/scala/org/scalatestplus/play/ConfiguredBrowserNestedSuite.scala b/module/src/test/scala/org/scalatestplus/play/ConfiguredBrowserNestedSuite.scala
index f8d8a2f1..fa0eba97 100644
--- a/module/src/test/scala/org/scalatestplus/play/ConfiguredBrowserNestedSuite.scala
+++ b/module/src/test/scala/org/scalatestplus/play/ConfiguredBrowserNestedSuite.scala
@@ -15,11 +15,8 @@
  */
 package org.scalatestplus.play
 
-import play.api.test._
 import org.scalatest._
-import events._
-import play.api.{ Play, Application }
-import scala.collection.mutable.ListBuffer
+import play.api.Application
 import org.openqa.selenium.WebDriver
 
 @DoNotDiscover
@@ -51,8 +48,8 @@ class ConfiguredBrowserNestedSuite extends UnitSpec with ConfiguredServer with C
       val configuredPort = configMap.getOptional[Int]("org.scalatestplus.play.port")
       configuredPort.value mustEqual port
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
 
     "send 404 on a bad request" in {
diff --git a/module/src/test/scala/org/scalatestplus/play/ConfiguredServerNestedSuite.scala b/module/src/test/scala/org/scalatestplus/play/ConfiguredServerNestedSuite.scala
index 93c7704b..628ef23c 100644
--- a/module/src/test/scala/org/scalatestplus/play/ConfiguredServerNestedSuite.scala
+++ b/module/src/test/scala/org/scalatestplus/play/ConfiguredServerNestedSuite.scala
@@ -15,11 +15,8 @@
  */
 package org.scalatestplus.play
 
-import play.api.test._
 import org.scalatest._
-import events._
-import play.api.{ Play, Application }
-import scala.collection.mutable.ListBuffer
+import play.api.Application
 
 @DoNotDiscover
 class ConfiguredServerNestedSuite extends UnitSpec with ConfiguredServer {
@@ -50,8 +47,8 @@ class ConfiguredServerNestedSuite extends UnitSpec with ConfiguredServer {
       val configuredPort = configMap.getOptional[Int]("org.scalatestplus.play.port")
       configuredPort.value mustEqual port
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/ConfiguredServerWithAllBrowsersPerSuiteSpec.scala b/module/src/test/scala/org/scalatestplus/play/ConfiguredServerWithAllBrowsersPerSuiteSpec.scala
index 8d9becb2..a15be609 100644
--- a/module/src/test/scala/org/scalatestplus/play/ConfiguredServerWithAllBrowsersPerSuiteSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/ConfiguredServerWithAllBrowsersPerSuiteSpec.scala
@@ -20,7 +20,6 @@ import org.scalatest._
 import org.scalatestplus.play.guice.GuiceOneServerPerSuite
 import play.api.Application
 import play.api.inject.guice._
-import play.api.test._
 
 class ConfiguredServerWithAllBrowsersPerSuiteSpec extends Suites(
   new ConfiguredServerWithAllBrowsersPerSuiteNestedSpec
@@ -66,8 +65,8 @@ class ConfiguredServerWithAllBrowsersPerSuiteNestedSpec extends UnitSpec with Co
     "make the Application available implicitly" in {
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/ConfiguredServerWithAllBrowsersPerTestSpec.scala b/module/src/test/scala/org/scalatestplus/play/ConfiguredServerWithAllBrowsersPerTestSpec.scala
index 072b1f85..9f490905 100644
--- a/module/src/test/scala/org/scalatestplus/play/ConfiguredServerWithAllBrowsersPerTestSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/ConfiguredServerWithAllBrowsersPerTestSpec.scala
@@ -19,7 +19,6 @@ import org.scalatest._
 import org.scalatestplus.play.guice.GuiceOneServerPerSuite
 import play.api.Application
 import play.api.inject.guice._
-import play.api.test._
 
 class ConfiguredServerWithAllBrowsersPerTestSpec extends Suites(
   new ConfiguredServerWithAllBrowsersPerTestNestedSpec
@@ -57,8 +56,8 @@ class ConfiguredServerWithAllBrowsersPerTestNestedSpec extends UnitSpec with Con
     "make the Application available implicitly" in {
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/ConfiguredServerWithConfiguredBrowserSpec.scala b/module/src/test/scala/org/scalatestplus/play/ConfiguredServerWithConfiguredBrowserSpec.scala
index b5b07bc0..11152fc0 100644
--- a/module/src/test/scala/org/scalatestplus/play/ConfiguredServerWithConfiguredBrowserSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/ConfiguredServerWithConfiguredBrowserSpec.scala
@@ -20,7 +20,6 @@ import org.scalatest._
 import org.scalatestplus.play.guice.GuiceOneServerPerSuite
 import play.api.Application
 import play.api.inject.guice._
-import play.api.test._
 
 class ConfiguredServerWithConfiguredBrowserSpec extends UnitSpec with SequentialNestedSuiteExecution with GuiceOneServerPerSuite with OneBrowserPerSuite with HtmlUnitFactory {
 
@@ -65,8 +64,8 @@ class ConfiguredServerWithConfiguredBrowserNestedSpec extends UnitSpec with Conf
       val configuredPort = configMap.getOptional[Int]("org.scalatestplus.play.port")
       configuredPort.value mustEqual port
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/ConfiguredServerWithOneBrowserPerSuiteSpec.scala b/module/src/test/scala/org/scalatestplus/play/ConfiguredServerWithOneBrowserPerSuiteSpec.scala
index 7d17b7f8..d6240c2f 100644
--- a/module/src/test/scala/org/scalatestplus/play/ConfiguredServerWithOneBrowserPerSuiteSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/ConfiguredServerWithOneBrowserPerSuiteSpec.scala
@@ -20,7 +20,6 @@ import org.scalatest._
 import org.scalatestplus.play.guice.GuiceOneServerPerSuite
 import play.api.Application
 import play.api.inject.guice._
-import play.api.test._
 
 class ConfiguredServerWithOneBrowserPerSuiteSpec extends Suites(
   new ConfiguredServerWithOneBrowserPerSuiteNestedSpec
@@ -54,8 +53,8 @@ class ConfiguredServerWithOneBrowserPerSuiteNestedSpec extends UnitSpec with Con
     "make the Application available implicitly" in {
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/ConfiguredServerWithOneBrowserPerTestSpec.scala b/module/src/test/scala/org/scalatestplus/play/ConfiguredServerWithOneBrowserPerTestSpec.scala
index 2beaef4b..dca684fc 100644
--- a/module/src/test/scala/org/scalatestplus/play/ConfiguredServerWithOneBrowserPerTestSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/ConfiguredServerWithOneBrowserPerTestSpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play
 
-import play.api.test._
 import org.scalatest._
 import org.scalatestplus.play.guice.GuiceOneServerPerSuite
 import play.api.Application
@@ -44,8 +43,8 @@ class ConfiguredServerWithOneBrowserPerTestNestedSpec extends UnitSpec with Conf
     "make the FakeApplication available implicitly" in {
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/HtmlUnitFactorySpec.scala b/module/src/test/scala/org/scalatestplus/play/HtmlUnitFactorySpec.scala
index 04f986b9..ad4f00ac 100644
--- a/module/src/test/scala/org/scalatestplus/play/HtmlUnitFactorySpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/HtmlUnitFactorySpec.scala
@@ -20,7 +20,6 @@ import org.scalatest._
 import org.scalatestplus.play.guice.GuiceOneServerPerSuite
 import play.api.Application
 import play.api.inject.guice._
-import play.api.test._
 
 class HtmlUnitFactorySpec extends UnitSpec with GuiceOneServerPerSuite with OneBrowserPerSuite with HtmlUnitFactory {
 
@@ -49,8 +48,8 @@ class HtmlUnitFactorySpec extends UnitSpec with GuiceOneServerPerSuite with OneB
     "make the Application available implicitly" in {
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/InternetExplorerFactorySpec.scala b/module/src/test/scala/org/scalatestplus/play/InternetExplorerFactorySpec.scala
index d0e11b67..d6cd685f 100644
--- a/module/src/test/scala/org/scalatestplus/play/InternetExplorerFactorySpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/InternetExplorerFactorySpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play
 
-import play.api.test._
 import org.scalatest._
 import play.api.Application
 import org.openqa.selenium.WebDriver
@@ -49,8 +48,8 @@ class InternetExplorerFactorySpec extends UnitSpec with GuiceOneServerPerSuite w
     "make the Application available implicitly" in {
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/OneChromeBrowserPerTestSpec.scala b/module/src/test/scala/org/scalatestplus/play/OneChromeBrowserPerTestSpec.scala
index b19d0b1a..d75a1273 100644
--- a/module/src/test/scala/org/scalatestplus/play/OneChromeBrowserPerTestSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/OneChromeBrowserPerTestSpec.scala
@@ -39,8 +39,8 @@ class OneChromeBrowserPerTestSpec extends UnitSpec with GuiceOneServerPerTest wi
     "make the Application available implicitly" in {
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/OneHtmlUnitBrowserPerTestSpec.scala b/module/src/test/scala/org/scalatestplus/play/OneHtmlUnitBrowserPerTestSpec.scala
index a3e39d96..7bcfe516 100644
--- a/module/src/test/scala/org/scalatestplus/play/OneHtmlUnitBrowserPerTestSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/OneHtmlUnitBrowserPerTestSpec.scala
@@ -19,7 +19,6 @@ import org.scalatest._
 import org.scalatestplus.play.guice.GuiceOneServerPerTest
 import play.api.Application
 import play.api.inject.guice._
-import play.api.test._
 
 class OneHtmlUnitBrowserPerTestSpec extends UnitSpec with GuiceOneServerPerTest with OneBrowserPerTest with HtmlUnitFactory {
 
@@ -39,8 +38,8 @@ class OneHtmlUnitBrowserPerTestSpec extends UnitSpec with GuiceOneServerPerTest
     "make the Application available implicitly" in {
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/OneInternetExplorerBrowserPerTestSpec.scala b/module/src/test/scala/org/scalatestplus/play/OneInternetExplorerBrowserPerTestSpec.scala
index ebd32819..570c964c 100644
--- a/module/src/test/scala/org/scalatestplus/play/OneInternetExplorerBrowserPerTestSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/OneInternetExplorerBrowserPerTestSpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play
 
-import play.api.test._
 import org.scalatest._
 import org.scalatestplus.play.guice.GuiceOneServerPerTest
 import play.api.Application
@@ -39,8 +38,8 @@ class OneInternetExplorerBrowserPerTestSpec extends UnitSpec with GuiceOneServer
     "make the Application available implicitly" in {
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/OneSafariBrowserPerTestSpec.scala b/module/src/test/scala/org/scalatestplus/play/OneSafariBrowserPerTestSpec.scala
index 48f8cfc1..3f877bfb 100644
--- a/module/src/test/scala/org/scalatestplus/play/OneSafariBrowserPerTestSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/OneSafariBrowserPerTestSpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play
 
-import play.api.test._
 import org.scalatest._
 import org.scalatestplus.play.guice.GuiceOneServerPerTest
 import play.api.Application
@@ -39,8 +38,8 @@ class OneSafariBrowserPerTestSpec extends UnitSpec with GuiceOneServerPerTest wi
     "make the Application available implicitly" in {
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteComponentSpec.scala b/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteComponentSpec.scala
index e8d81084..0348564d 100644
--- a/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteComponentSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteComponentSpec.scala
@@ -60,8 +60,8 @@ class OneServerPerSuiteComponentSpec extends UnitSpec with OneServerPerSuiteWith
     "override the configuration" in {
       app.configuration.getOptional[String]("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteSpec.scala b/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteSpec.scala
index 24181e2c..9753a81d 100644
--- a/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteSpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play
 
-import play.api.test._
 import org.scalatest._
 import org.scalatestplus.play.guice.GuiceOneServerPerSuite
 import play.api.Application
@@ -45,8 +44,8 @@ class OneServerPerSuiteSpec extends UnitSpec with GuiceOneServerPerSuite {
     "make the Application available implicitly" in {
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteWithAllBrowsersPerSuiteSpec.scala b/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteWithAllBrowsersPerSuiteSpec.scala
index 16b7e03b..bcee8458 100644
--- a/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteWithAllBrowsersPerSuiteSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteWithAllBrowsersPerSuiteSpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play
 
-import play.api.test._
 import play.api.Application
 import org.openqa.selenium.WebDriver
 import org.scalatestplus.play.guice.GuiceOneServerPerSuite
@@ -59,8 +58,8 @@ class OneServerPerSuiteWithAllBrowsersPerSuiteSpec extends UnitSpec with GuiceOn
     "make the Application available implicitly" in {
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteWithAllBrowsersPerTestSpec.scala b/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteWithAllBrowsersPerTestSpec.scala
index bac9e215..219259fa 100644
--- a/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteWithAllBrowsersPerTestSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteWithAllBrowsersPerTestSpec.scala
@@ -16,7 +16,6 @@
 package org.scalatestplus.play
 
 import org.scalatestplus.play.guice.GuiceOneServerPerSuite
-import play.api.test._
 import play.api.Application
 import play.api.inject.guice._
 
@@ -50,8 +49,8 @@ class OneServerPerSuiteWithAllBrowsersPerTestSpec extends UnitSpec with GuiceOne
     "make the Application available implicitly" in {
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteWithConfiguredBrowserSpec.scala b/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteWithConfiguredBrowserSpec.scala
index 259c2805..1c64fb4c 100644
--- a/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteWithConfiguredBrowserSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteWithConfiguredBrowserSpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play
 
-import play.api.test._
 import org.scalatest._
 import play.api.Application
 import org.openqa.selenium.WebDriver
@@ -65,8 +64,8 @@ class OneServerPerSuiteWithConfiguredBrowserNestedSpec extends UnitSpec with Con
       val configuredPort = configMap.getOptional[Int]("org.scalatestplus.play.port")
       configuredPort.value mustEqual port
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteWithOneBrowserPerSuiteSpec.scala b/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteWithOneBrowserPerSuiteSpec.scala
index 82564e58..7bc7054f 100644
--- a/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteWithOneBrowserPerSuiteSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteWithOneBrowserPerSuiteSpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play
 
-import play.api.test._
 import org.scalatest._
 import play.api.Application
 import org.openqa.selenium.WebDriver
@@ -49,8 +48,8 @@ class OneServerPerSuiteWithOneBrowserPerSuiteSpec extends UnitSpec with GuiceOne
     "make the Application available implicitly" in {
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteWithOneBrowserPerTestSpec.scala b/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteWithOneBrowserPerTestSpec.scala
index 1d0f93eb..ff880ef0 100644
--- a/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteWithOneBrowserPerTestSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/OneServerPerSuiteWithOneBrowserPerTestSpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play
 
-import play.api.test._
 import org.scalatestplus.play.guice.GuiceOneServerPerSuite
 import play.api.Application
 import play.api.inject.guice._
@@ -38,8 +37,8 @@ class OneServerPerSuiteWithOneBrowserPerTestSpec extends UnitSpec with GuiceOneS
     "make the Application available implicitly" in {
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/OneServerPerTestComponentSpec.scala b/module/src/test/scala/org/scalatestplus/play/OneServerPerTestComponentSpec.scala
index c371d07e..1bb199cd 100644
--- a/module/src/test/scala/org/scalatestplus/play/OneServerPerTestComponentSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/OneServerPerTestComponentSpec.scala
@@ -49,8 +49,8 @@ class OneServerPerTestComponentSpec extends UnitSpec with OneServerPerTestWithCo
     "override the configuration" in {
       app.configuration.getOptional[String]("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/OneServerPerTestSpec.scala b/module/src/test/scala/org/scalatestplus/play/OneServerPerTestSpec.scala
index c8b10af2..8478577c 100644
--- a/module/src/test/scala/org/scalatestplus/play/OneServerPerTestSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/OneServerPerTestSpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play
 
-import play.api.test._
 import org.scalatest._
 import org.scalatestplus.play.guice.GuiceOneServerPerTest
 import play.api.Application
@@ -36,8 +35,8 @@ class OneServerPerTestSpec extends UnitSpec with GuiceOneServerPerTest {
     "make the Application available implicitly" in {
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/OneServerPerTestWithAllBrowsersPerSuiteSpec.scala b/module/src/test/scala/org/scalatestplus/play/OneServerPerTestWithAllBrowsersPerSuiteSpec.scala
index a93fa907..4c981c91 100644
--- a/module/src/test/scala/org/scalatestplus/play/OneServerPerTestWithAllBrowsersPerSuiteSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/OneServerPerTestWithAllBrowsersPerSuiteSpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play
 
-import play.api.test._
 import org.scalatest._
 import play.api.Application
 import org.openqa.selenium.WebDriver
@@ -60,8 +59,8 @@ class OneServerPerTestWithAllBrowsersPerSuiteSpec extends UnitSpec with GuiceOne
     "make the Application available implicitly" in {
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/OneServerPerTestWithAllBrowsersPerTestSpec.scala b/module/src/test/scala/org/scalatestplus/play/OneServerPerTestWithAllBrowsersPerTestSpec.scala
index dbf07b88..2f7714ac 100644
--- a/module/src/test/scala/org/scalatestplus/play/OneServerPerTestWithAllBrowsersPerTestSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/OneServerPerTestWithAllBrowsersPerTestSpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play
 
-import play.api.test._
 import org.scalatest._
 import org.scalatestplus.play.guice.GuiceOneServerPerTest
 import play.api.Application
@@ -51,8 +50,8 @@ class OneServerPerTestWithAllBrowsersPerTestSpec extends UnitSpec with GuiceOneS
     "make the Application available implicitly" in {
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/OneServerPerTestWithConfiguredBrowserSpec.scala b/module/src/test/scala/org/scalatestplus/play/OneServerPerTestWithConfiguredBrowserSpec.scala
index 79e3c501..ea091a56 100644
--- a/module/src/test/scala/org/scalatestplus/play/OneServerPerTestWithConfiguredBrowserSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/OneServerPerTestWithConfiguredBrowserSpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play
 
-import play.api.test._
 import org.scalatest._
 import play.api.Application
 import org.openqa.selenium.WebDriver
@@ -65,8 +64,8 @@ class OneServerPerTestWithConfiguredBrowserNestedSpec extends UnitSpec with Conf
       val configuredPort = configMap.getOptional[Int]("org.scalatestplus.play.port")
       configuredPort.value mustEqual port
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/OneServerPerTestWithOneBrowserPerSuiteSpec.scala b/module/src/test/scala/org/scalatestplus/play/OneServerPerTestWithOneBrowserPerSuiteSpec.scala
index 692b7c77..03ba3599 100644
--- a/module/src/test/scala/org/scalatestplus/play/OneServerPerTestWithOneBrowserPerSuiteSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/OneServerPerTestWithOneBrowserPerSuiteSpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play
 
-import play.api.test._
 import org.scalatest._
 import play.api.Application
 import org.openqa.selenium.WebDriver
@@ -49,8 +48,8 @@ class OneServerPerTestWithOneBrowserPerSuiteSpec extends UnitSpec with GuiceOneS
     "make the Application available implicitly" in {
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/OneServerPerTestWithOneBrowserPerTestSpec.scala b/module/src/test/scala/org/scalatestplus/play/OneServerPerTestWithOneBrowserPerTestSpec.scala
index 9d27ccf5..8ec20f9d 100644
--- a/module/src/test/scala/org/scalatestplus/play/OneServerPerTestWithOneBrowserPerTestSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/OneServerPerTestWithOneBrowserPerTestSpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play
 
-import play.api.test._
 import org.scalatest._
 import org.scalatestplus.play.guice.GuiceOneServerPerTest
 import play.api.Application
@@ -39,8 +38,8 @@ class OneServerPerTestWithOneBrowserPerTestSpec extends UnitSpec with GuiceOneSe
     "make the Application available implicitly" in {
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/PhantomJSFactorySpec.scala b/module/src/test/scala/org/scalatestplus/play/PhantomJSFactorySpec.scala
index 6542d010..0907c552 100644
--- a/module/src/test/scala/org/scalatestplus/play/PhantomJSFactorySpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/PhantomJSFactorySpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play
 
-import play.api.test._
 import org.scalatest._
 import play.api.Application
 import org.openqa.selenium.WebDriver
@@ -50,8 +49,8 @@ class PhantomJSFactorySpec extends UnitSpec with GuiceOneServerPerSuite with One
     "make the Application available implicitly" in {
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/SafariFactorySpec.scala b/module/src/test/scala/org/scalatestplus/play/SafariFactorySpec.scala
index 41a6dfe8..5ccaabb4 100644
--- a/module/src/test/scala/org/scalatestplus/play/SafariFactorySpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/SafariFactorySpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play
 
-import play.api.test._
 import org.scalatest._
 import play.api.Application
 import org.openqa.selenium.WebDriver
@@ -49,8 +48,8 @@ class SafariFactorySpec extends UnitSpec with GuiceOneServerPerSuite with OneBro
     "make the Application available implicitly" in {
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/ServerSpecSpec.scala b/module/src/test/scala/org/scalatestplus/play/ServerSpecSpec.scala
index aefcd4b7..027f4e67 100644
--- a/module/src/test/scala/org/scalatestplus/play/ServerSpecSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/ServerSpecSpec.scala
@@ -18,7 +18,6 @@ package org.scalatestplus.play
 import org.scalatest._
 import play.api.Application
 import play.api.inject.guice._
-import play.api.test._
 
 class ServerSpecSpec extends ServerSpec {
 
@@ -35,8 +34,8 @@ class ServerSpecSpec extends ServerSpec {
     "make the Application available implicitly" in {
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "send 404 on a bad request" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/examples/guice/allbrowserspersuite/ExampleSpec.scala b/module/src/test/scala/org/scalatestplus/play/examples/guice/allbrowserspersuite/ExampleSpec.scala
index c11672f5..b7b40e46 100644
--- a/module/src/test/scala/org/scalatestplus/play/examples/guice/allbrowserspersuite/ExampleSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/examples/guice/allbrowserspersuite/ExampleSpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play.examples.guice.allbrowserspersuite
 
-import play.api.test._
 import org.scalatestplus.play._
 import org.scalatestplus.play.guice.GuiceOneServerPerSuite
 import play.api.Application
@@ -55,8 +54,8 @@ class ExampleSpec extends PlaySpec with GuiceOneServerPerSuite with AllBrowsersP
       def getConfig(key: String)(implicit app: Application) = app.configuration.getOptional[String](key)
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "provide an actual running server" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/examples/guice/allbrowserspertest/ExampleSpec.scala b/module/src/test/scala/org/scalatestplus/play/examples/guice/allbrowserspertest/ExampleSpec.scala
index a74a08f9..2523e22e 100644
--- a/module/src/test/scala/org/scalatestplus/play/examples/guice/allbrowserspertest/ExampleSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/examples/guice/allbrowserspertest/ExampleSpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play.examples.guice.allbrowserspertest
 
-import play.api.test._
 import org.scalatest._
 import org.scalatestplus.play._
 import org.scalatestplus.play.guice._
@@ -55,8 +54,8 @@ class ExampleSpec extends PlaySpec with GuiceOneServerPerTest with AllBrowsersPe
       def getConfig(key: String)(implicit app: Application) = app.configuration.getOptional[String](key)
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "provide an actual running server" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/examples/guice/onebrowserpersuite/ExampleSpec.scala b/module/src/test/scala/org/scalatestplus/play/examples/guice/onebrowserpersuite/ExampleSpec.scala
index cfbe6364..93e784d7 100644
--- a/module/src/test/scala/org/scalatestplus/play/examples/guice/onebrowserpersuite/ExampleSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/examples/guice/onebrowserpersuite/ExampleSpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play.examples.guice.onebrowserpersuite
 
-import play.api.test.Helpers
 import org.scalatest.tags.FirefoxBrowser
 import org.scalatestplus.play._
 import org.scalatestplus.play.guice.GuiceOneServerPerSuite
@@ -41,8 +40,8 @@ class ExampleSpec extends PlaySpec with GuiceOneServerPerSuite with OneBrowserPe
       def getConfig(key: String)(implicit app: Application) = app.configuration.getOptional[String](key)
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port number" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "provide an actual running server" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/examples/guice/onebrowserpersuite/MultiBrowserExampleSpec.scala b/module/src/test/scala/org/scalatestplus/play/examples/guice/onebrowserpersuite/MultiBrowserExampleSpec.scala
index 664b8e9a..3f12fb9f 100644
--- a/module/src/test/scala/org/scalatestplus/play/examples/guice/onebrowserpersuite/MultiBrowserExampleSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/examples/guice/onebrowserpersuite/MultiBrowserExampleSpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play.examples.guice.onebrowserpersuite
 
-import play.api.test._
 import org.scalatest._
 import tags._
 import org.scalatestplus.play._
@@ -42,8 +41,8 @@ abstract class MultiBrowserExampleSpec extends PlaySpec with GuiceOneServerPerSu
       def getConfig(key: String)(implicit app: Application): Option[String] = app.configuration.getOptional[String](key)
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port number" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "provide an actual running server" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/examples/guice/onebrowserpersuite/NestedExampleSpec.scala b/module/src/test/scala/org/scalatestplus/play/examples/guice/onebrowserpersuite/NestedExampleSpec.scala
index 1a054e5d..a3882bcf 100644
--- a/module/src/test/scala/org/scalatestplus/play/examples/guice/onebrowserpersuite/NestedExampleSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/examples/guice/onebrowserpersuite/NestedExampleSpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play.examples.guice.onebrowserpersuite
 
-import play.api.test._
 import org.scalatest._
 import org.scalatestplus.play._
 import org.scalatestplus.play.guice.GuiceOneServerPerSuite
@@ -54,8 +53,8 @@ class BlueSpec extends PlaySpec with ConfiguredServer with ConfiguredBrowser {
       def getConfig(key: String)(implicit app: Application): Option[String] = app.configuration.getOptional[String](key)
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port number" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "provide an actual running server" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/examples/guice/onebrowserpertest/ExampleSpec.scala b/module/src/test/scala/org/scalatestplus/play/examples/guice/onebrowserpertest/ExampleSpec.scala
index 5e3f97fb..7e2bab9f 100644
--- a/module/src/test/scala/org/scalatestplus/play/examples/guice/onebrowserpertest/ExampleSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/examples/guice/onebrowserpertest/ExampleSpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play.examples.guice.onebrowserpertest
 
-import play.api.test._
 import org.scalatest._
 import org.scalatest.tags.FirefoxBrowser
 import org.scalatestplus.play._
@@ -42,8 +41,8 @@ class ExampleSpec extends PlaySpec with GuiceOneServerPerTest with OneBrowserPer
       def getConfig(key: String)(implicit app: Application) = app.configuration.getOptional[String](key)
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port number" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "provide an actual running server" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/examples/guice/oneserverpersuite/ExampleSpec.scala b/module/src/test/scala/org/scalatestplus/play/examples/guice/oneserverpersuite/ExampleSpec.scala
index 1ad38191..f38a3182 100644
--- a/module/src/test/scala/org/scalatestplus/play/examples/guice/oneserverpersuite/ExampleSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/examples/guice/oneserverpersuite/ExampleSpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play.examples.guice.oneserverpersuite
 
-import play.api.test._
 import org.scalatestplus.play._
 import org.scalatestplus.play.guice.GuiceOneServerPerSuite
 import play.api.Application
@@ -36,8 +35,8 @@ class ExampleSpec extends PlaySpec with GuiceOneServerPerSuite {
       def getConfig(key: String)(implicit app: Application): Option[String] = app.configuration.getOptional[String](key)
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port number" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "provide an actual running server" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/examples/guice/oneserverpersuite/NestedExampleSpec.scala b/module/src/test/scala/org/scalatestplus/play/examples/guice/oneserverpersuite/NestedExampleSpec.scala
index cf7cd2a6..d42948e5 100644
--- a/module/src/test/scala/org/scalatestplus/play/examples/guice/oneserverpersuite/NestedExampleSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/examples/guice/oneserverpersuite/NestedExampleSpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play.examples.guice.oneserverpersuite
 
-import play.api.test._
 import org.scalatest._
 import org.scalatestplus.play._
 import org.scalatestplus.play.guice.GuiceOneServerPerSuite
@@ -51,8 +50,8 @@ class BlueSpec extends PlaySpec with ConfiguredServer {
       def getConfig(key: String)(implicit app: Application) = app.configuration.getOptional[String](key)
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port number" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "provide an actual running server" in {
       import java.net._
diff --git a/module/src/test/scala/org/scalatestplus/play/examples/guice/oneserverpertest/ExampleSpec.scala b/module/src/test/scala/org/scalatestplus/play/examples/guice/oneserverpertest/ExampleSpec.scala
index 88b34640..6633d541 100644
--- a/module/src/test/scala/org/scalatestplus/play/examples/guice/oneserverpertest/ExampleSpec.scala
+++ b/module/src/test/scala/org/scalatestplus/play/examples/guice/oneserverpertest/ExampleSpec.scala
@@ -15,7 +15,6 @@
  */
 package org.scalatestplus.play.examples.guice.oneserverpertest
 
-import play.api.test._
 import org.scalatest._
 import org.scalatestplus.play._
 import org.scalatestplus.play.guice._
@@ -40,8 +39,8 @@ class ExampleSpec extends PlaySpec with GuiceOneServerPerTest {
       def getConfig(key: String)(implicit app: Application): Option[String] = app.configuration.getOptional[String](key)
       getConfig("foo") mustBe Some("bar")
     }
-    "provide the port number" in {
-      port mustBe Helpers.testServerPort
+    "provide an http endpoint" in {
+      runningServer.endpoints.httpEndpoint must not be empty
     }
     "provide an actual running server" in {
       import java.net._