Trait

org.scalatestplus.play

OneBrowserPerSuite

Related Doc: package play

Permalink

trait OneBrowserPerSuite extends TestSuiteMixin with WebBrowser with Eventually with IntegrationPatience with BrowserFactory

Trait that provides a new Selenium WebDriver instance per ScalaTest Suite.

This TestSuiteMixin trait's overridden run method places a reference to the WebDriver provided by webDriver under the key org.scalatestplus.play.webDriver. This allows any nested Suites to access the Suite's WebDriver as well, most easily by having the nested Suites mix in the ConfiguredBrowser trait. On the status returned by super.run, this trait's overridden run method registers a block of code to close the WebDriver to be executed when the Status completes, and returns the same Status. This ensures the WebDriver will continue to be available until all nested suites have completed, after which the WebDriver will be closed. This trait also overrides Suite.withFixture to cancel tests automatically if the related WebDriver is not available on the host platform.

This trait's self-type, ServerProvider, will ensure a TestServer and Application are available to each test. The self-type will require that you mix in either GuiceOneServerPerSuite, OneServerPerTest, ConfiguredServer before you mix in this trait. Your choice among these three ServerProviders will determine the extent to which one or more TestServers are shared by multiple tests.

Here's an example that shows demonstrates of the services provided by this trait. Note that to use this trait, you must mix in one of the driver factories (this example mixes in FirefoxFactory):

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}
import play.api.inject.guice._
import play.api.routing._

@FirefoxBrowser
class ExampleSpec extends PlaySpec with OneServerPerSuite with OneBrowserPerSuite with FirefoxFactory {

  // Override fakeApplication() if you need a Application with other than non-default parameters.
  def fakeApplication(): Application = new GuiceApplicationBuilder()
    .configure("foo" -> "bar", "ehcacheplugin" -> "disabled")
    .router(TestRoutes.router)
    .build()

  "The OneBrowserPerSuite trait" must {
    "provide an Application" in {
      app.configuration.getOptional[String]("ehcacheplugin") mustBe Some("disabled")
    }
    "make the Application available implicitly" in {
      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 actual running server" in {
      import java.net._
      val url = new URL("http://localhost:" + port + "/boum")
      val con = url.openConnection().asInstanceOf[HttpURLConnection]
      try con.getResponseCode mustBe 404
      finally con.disconnect()
    }
    "provide a web driver" in {
      go to ("http://localhost:" + port + "/testing")
      pageTitle mustBe "Test Page"
      click on find(name("b")).value
      eventually { pageTitle mustBe "scalatest" }
    }
  }
}

If you have many tests that can share the same Application, TestServer, and WebDriver, and you don't want to put them all into one test class, you can place them into different "nested" Suite classes. Create a master suite that extends OneServerPerSuite and declares the nested Suites. Annotate the nested suites with @DoNotDiscover and have them extend ConfiguredBrowser. Here's an example:

package org.scalatestplus.play.examples.onebrowserpersuite

import play.api.test._
import org.scalatest._
import tags.FirefoxBrowser
import org.scalatestplus.play._
import play.api.{Play, Application}

// This is the "master" suite
class NestedExampleSpec extends Suites(
  new OneSpec,
  new TwoSpec,
  new RedSpec,
  new BlueSpec
) with OneServerPerSuite with OneBrowserPerSuite with FirefoxFactory {
  // Override fakeApplication() if you need a Application with other than non-default parameters.
  def fakeApplication(): Application =
    new GuiceApplicationBuilder(
      additionalConfiguration = Map("ehcacheplugin" -> "disabled"),
      withRoutes = TestRoute
    ).build()
}

// These are the nested suites
@DoNotDiscover class OneSpec extends PlaySpec with ConfiguredServer with ConfiguredBrowser
@DoNotDiscover class TwoSpec extends PlaySpec with ConfiguredServer with ConfiguredBrowser
@DoNotDiscover class RedSpec extends PlaySpec with ConfiguredServer with ConfiguredBrowser

@DoNotDiscover
class BlueSpec extends PlaySpec with ConfiguredServer with ConfiguredBrowser {

  "The OneBrowserPerSuite trait" must {
    "provide an Application" in {
      app.configuration.getOptional[String]("ehcacheplugin") mustBe Some("disabled")
    }
    "make the Application available implicitly" in {
      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 actual running server" in {
      import Helpers._
      import java.net._
      val url = new URL("http://localhost:" + port + "/boum")
      val con = url.openConnection().asInstanceOf[HttpURLConnection]
      try con.getResponseCode mustBe 404
      finally con.disconnect()
    }
  }
}

It is possible to use OneBrowserPerSuite to run the same tests in more than one browser. Nevertheless, you should consider the approach taken by AllBrowsersPerSuite and AllBrowsersPerTest instead, as it requires a bit less boilerplate code than OneBrowserPerSuite to test in multiple browsers. If you prefer to use OneBrowserPerSuite, however, simply place your tests in an abstract superclass, then define concrete subclasses for each browser you wish to test against. Here's an example:

package org.scalatestplus.play.examples.onebrowserpersuite

import play.api.test._
import org.scalatest._
import tags._
import org.scalatestplus.play._
import play.api.{Play, Application}

// Place your tests in an abstract class
abstract class MultiBrowserExampleSpec extends PlaySpec with OneServerPerSuite with OneBrowserPerSuite {

  // Override app if you need an Application with other than non-default parameters.
  def fakeApplication(): Application =
    new GuiceApplicationBuilder(
      additionalConfiguration = Map("ehcacheplugin" -> "disabled"),
      withRoutes = TestRoute
    ).build

  "The OneBrowserPerSuite trait" must {
    "provide an Application" in {
      app.configuration.getOptional[String]("ehcacheplugin") mustBe Some("disabled")
    }
    "make the Application available implicitly" in {
      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 actual running server" in {
      import Helpers._
      import java.net._
      val url = new URL("http://localhost:" + port + "/boum")
      val con = url.openConnection().asInstanceOf[HttpURLConnection]
      try con.getResponseCode mustBe 404
      finally con.disconnect()
    }
    "provide a web driver" in {
      go to ("http://localhost:" + port + "/testing")
      pageTitle mustBe "Test Page"
      click on find(name("b")).value
      eventually { pageTitle mustBe "scalatest" }
    }
  }
}

// Then make a subclass that mixes in the factory for each
// Selenium driver you want to test with.
@FirefoxBrowser class FirefoxExampleSpec extends MultiBrowserExampleSpec with FirefoxFactory
@SafariBrowser class SafariExampleSpec extends MultiBrowserExampleSpec with SafariFactory
@InternetExplorerBrowser class InternetExplorerExampleSpec extends MultiBrowserExampleSpec with InternetExplorerFactory
@ChromeBrowser class ChromeExampleSpec extends MultiBrowserExampleSpec with ChromeFactory
@HtmlUnitBrowser class HtmlUnitExampleSpec extends MultiBrowserExampleSpec with HtmlUnitFactory

The concrete subclasses include tag annotations describing the browser used to make it easier to include or exclude browsers in specific runs. This is not strictly necessary since if a browser is not supported on the host platform the tests will be automatically canceled. For example, here's how the output would look if you ran the above tests on a platform that did not support Selenium drivers for Chrome or Internet Explorer using sbt:

> test-only *onebrowserpersuite*
[info] FirefoxExampleSpec:
[info] The OneBrowserPerSuite trait
[info] - must provide an Application
[info] - must make the Application available implicitly
[info] - must start the Application
[info] - must provide the port number
[info] - must provide an actual running server
[info] - must provide a web driver
[info] SafariExampleSpec:
[info] The OneBrowserPerSuite trait
[info] - must provide an Application
[info] - must make the Application available implicitly
[info] - must start the Application
[info] - must provide the port number
[info] - must provide an actual running server
[info] - must provide a web driver
[info] InternetExplorerExampleSpec:
[info] The OneBrowserPerSuite trait
[info] - must provide an Application !!! CANCELED !!!
[info]   Was unable to create a Selenium InternetExplorerDriver on this platform. (OneBrowserPerSuite.scala:201)
[info] - must make the Application available implicitly !!! CANCELED !!!
[info]   Was unable to create a Selenium InternetExplorerDriver on this platform. (OneBrowserPerSuite.scala:201)
[info] - must start the Application !!! CANCELED !!!
[info]   Was unable to create a Selenium InternetExplorerDriver on this platform. (OneBrowserPerSuite.scala:201)
[info] - must provide the port number !!! CANCELED !!!
[info]   Was unable to create a Selenium InternetExplorerDriver on this platform. (OneBrowserPerSuite.scala:201)
[info] - must provide an actual running server !!! CANCELED !!!
[info]   Was unable to create a Selenium InternetExplorerDriver on this platform. (OneBrowserPerSuite.scala:201)
[info] - must provide a web driver !!! CANCELED !!!
[info]   Was unable to create a Selenium InternetExplorerDriver on this platform. (OneBrowserPerSuite.scala:201)
[info] ChromeExampleSpec:
[info] The OneBrowserPerSuite trait
[info] - must provide an Application !!! CANCELED !!!
[info]   Was unable to create a Selenium ChromeDriver on this platform. (OneBrowserPerSuite.scala:201)
[info] - must make the Application available implicitly !!! CANCELED !!!
[info]   Was unable to create a Selenium ChromeDriver on this platform. (OneBrowserPerSuite.scala:201)
[info] - must start the Application !!! CANCELED !!!
[info]   Was unable to create a Selenium ChromeDriver on this platform. (OneBrowserPerSuite.scala:201)
[info] - must provide the port number !!! CANCELED !!!
[info]   Was unable to create a Selenium ChromeDriver on this platform. (OneBrowserPerSuite.scala:201)
[info] - must provide an actual running server !!! CANCELED !!!
[info]   Was unable to create a Selenium ChromeDriver on this platform. (OneBrowserPerSuite.scala:201)
[info] - must provide a web driver !!! CANCELED !!!
[info]   Was unable to create a Selenium ChromeDriver on this platform. (OneBrowserPerSuite.scala:201)
[info] HtmlUnitExampleSpec:
[info] The OneBrowserPerSuite trait
[info] - must provide an Application
[info] - must make the Application available implicitly
[info] - must start the Application
[info] - must provide the port number
[info] - must provide an actual running server
[info] - must provide a web driver

For comparison, here is what the output would look like if you just selected tests tagged with FirefoxBrowser in sbt:

> test-only *onebrowserpersuite* -- -n org.scalatest.tags.FirefoxBrowser
[info] FirefoxExampleSpec:
[info] The OneBrowserPerSuite trait
[info] - must provide an Application
[info] - must make the Application available implicitly
[info] - must start the Application
[info] - must provide the port number
[info] - must provide an actual running server
[info] - must provide a web driver
[info] SafariExampleSpec:
[info] The OneBrowserPerSuite trait
[info] InternetExplorerExampleSpec:
[info] The OneBrowserPerSuite trait
[info] ChromeExampleSpec:
[info] The OneBrowserPerSuite trait
[info] HtmlUnitExampleSpec:
[info] The OneBrowserPerSuite trait

Self Type
OneBrowserPerSuite with TestSuite with ServerProvider
Source
OneBrowserPerSuite.scala
Linear Supertypes
BrowserFactory, IntegrationPatience, Eventually, PatienceConfiguration, AbstractPatienceConfiguration, ScaledTimeSpans, WebBrowser, TestSuiteMixin, SuiteMixin, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. OneBrowserPerSuite
  2. BrowserFactory
  3. IntegrationPatience
  4. Eventually
  5. PatienceConfiguration
  6. AbstractPatienceConfiguration
  7. ScaledTimeSpans
  8. WebBrowser
  9. TestSuiteMixin
  10. SuiteMixin
  11. AnyRef
  12. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. final class ActiveElementTarget extends SwitchTarget[Element]

    Permalink
    Definition Classes
    WebBrowser
  2. final class AlertTarget extends SwitchTarget[Alert]

    Permalink
    Definition Classes
    WebBrowser
  3. final class Checkbox extends Element

    Permalink
    Definition Classes
    WebBrowser
  4. case class ClassNameQuery extends Query with Product with Serializable

    Permalink
    Definition Classes
    WebBrowser
  5. final class ColorField extends ValueElement

    Permalink
    Definition Classes
    WebBrowser
  6. class CookiesNoun extends AnyRef

    Permalink
    Definition Classes
    WebBrowser
  7. case class CssSelectorQuery extends Query with Product with Serializable

    Permalink
    Definition Classes
    WebBrowser
  8. final class DateField extends ValueElement

    Permalink
    Definition Classes
    WebBrowser
  9. final class DateTimeField extends ValueElement

    Permalink
    Definition Classes
    WebBrowser
  10. final class DateTimeLocalField extends ValueElement

    Permalink
    Definition Classes
    WebBrowser
  11. final class DefaultContentTarget extends SwitchTarget[WebDriver]

    Permalink
    Definition Classes
    WebBrowser
  12. case class Dimension extends Product with Serializable

    Permalink
    Definition Classes
    WebBrowser
  13. sealed trait Element extends AnyRef

    Permalink
    Definition Classes
    WebBrowser
  14. final class EmailField extends ValueElement

    Permalink
    Definition Classes
    WebBrowser
  15. final class FrameElementTarget extends SwitchTarget[WebDriver]

    Permalink
    Definition Classes
    WebBrowser
  16. final class FrameIndexTarget extends SwitchTarget[WebDriver]

    Permalink
    Definition Classes
    WebBrowser
  17. final class FrameNameOrIdTarget extends SwitchTarget[WebDriver]

    Permalink
    Definition Classes
    WebBrowser
  18. final class FrameWebElementTarget extends SwitchTarget[WebDriver]

    Permalink
    Definition Classes
    WebBrowser
  19. case class IdQuery extends Query with Product with Serializable

    Permalink
    Definition Classes
    WebBrowser
  20. case class LinkTextQuery extends Query with Product with Serializable

    Permalink
    Definition Classes
    WebBrowser
  21. final class MonthField extends ValueElement

    Permalink
    Definition Classes
    WebBrowser
  22. class MultiSel extends Element

    Permalink
    Definition Classes
    WebBrowser
  23. class MultiSelOptionSeq extends IndexedSeq[String]

    Permalink
    Definition Classes
    WebBrowser
  24. case class NameQuery extends Query with Product with Serializable

    Permalink
    Definition Classes
    WebBrowser
  25. final class NumberField extends ValueElement

    Permalink
    Definition Classes
    WebBrowser
  26. case class PartialLinkTextQuery extends Query with Product with Serializable

    Permalink
    Definition Classes
    WebBrowser
  27. final class PasswordField extends ValueElement

    Permalink
    Definition Classes
    WebBrowser
  28. final case class PatienceConfig extends Product with Serializable

    Permalink
    Definition Classes
    AbstractPatienceConfiguration
  29. case class Point extends Product with Serializable

    Permalink
    Definition Classes
    WebBrowser
  30. sealed trait Query extends Product with Serializable

    Permalink
    Definition Classes
    WebBrowser
  31. final class RadioButton extends Element

    Permalink
    Definition Classes
    WebBrowser
  32. final class RadioButtonGroup extends AnyRef

    Permalink
    Definition Classes
    WebBrowser
  33. final class RangeField extends ValueElement

    Permalink
    Definition Classes
    WebBrowser
  34. final class SearchField extends ValueElement

    Permalink
    Definition Classes
    WebBrowser
  35. class SingleSel extends Element

    Permalink
    Definition Classes
    WebBrowser
  36. sealed abstract class SwitchTarget[T] extends AnyRef

    Permalink
    Definition Classes
    WebBrowser
  37. case class TagNameQuery extends Query with Product with Serializable

    Permalink
    Definition Classes
    WebBrowser
  38. final class TelField extends ValueElement

    Permalink
    Definition Classes
    WebBrowser
  39. final class TextArea extends ValueElement

    Permalink
    Definition Classes
    WebBrowser
  40. final class TextField extends ValueElement

    Permalink
    Definition Classes
    WebBrowser
  41. final class TimeField extends ValueElement

    Permalink
    Definition Classes
    WebBrowser
  42. final class UrlField extends ValueElement

    Permalink
    Definition Classes
    WebBrowser
  43. trait ValueElement extends Element

    Permalink
    Definition Classes
    WebBrowser
  44. final class WeekField extends ValueElement

    Permalink
    Definition Classes
    WebBrowser
  45. final class WindowTarget extends SwitchTarget[WebDriver]

    Permalink
    Definition Classes
    WebBrowser
  46. final class WrappedCookie extends AnyRef

    Permalink
    Definition Classes
    WebBrowser
  47. case class XPathQuery extends Query with Product with Serializable

    Permalink
    Definition Classes
    WebBrowser

Abstract Value Members

  1. abstract def createWebDriver(): WebDriver

    Permalink

    Creates a new instance of a valid Selenium WebDriver, or if a driver is unavailable on the host platform, returns a BrowserFactory.UnavailableDriver that includes the exception that indicated the driver was not supported on the host platform and an appropriate error message.

    Creates a new instance of a valid Selenium WebDriver, or if a driver is unavailable on the host platform, returns a BrowserFactory.UnavailableDriver that includes the exception that indicated the driver was not supported on the host platform and an appropriate error message.

    returns

    an new instance of a Selenium WebDriver, or a BrowserFactory.UnavailableDriver if the desired WebDriver is not available on the host platform.

    Definition Classes
    BrowserFactory
  2. abstract def expectedTestCount(filter: Filter): Int

    Permalink
    Definition Classes
    SuiteMixin
  3. abstract def nestedSuites: IndexedSeq[Suite]

    Permalink
    Definition Classes
    SuiteMixin
  4. abstract def rerunner: Option[String]

    Permalink
    Definition Classes
    SuiteMixin
  5. abstract def runNestedSuites(args: Args): Status

    Permalink
    Attributes
    protected
    Definition Classes
    SuiteMixin
  6. abstract def runTest(testName: String, args: Args): Status

    Permalink
    Attributes
    protected
    Definition Classes
    SuiteMixin
  7. abstract def runTests(testName: Option[String], args: Args): Status

    Permalink
    Attributes
    protected
    Definition Classes
    SuiteMixin
  8. abstract val styleName: String

    Permalink
    Definition Classes
    SuiteMixin
  9. abstract def suiteId: String

    Permalink
    Definition Classes
    SuiteMixin
  10. abstract def suiteName: String

    Permalink
    Definition Classes
    SuiteMixin
  11. abstract def tags: Map[String, Set[String]]

    Permalink
    Definition Classes
    SuiteMixin
  12. abstract def testDataFor(testName: String, theConfigMap: ConfigMap): TestData

    Permalink
    Definition Classes
    SuiteMixin
  13. abstract def testNames: Set[String]

    Permalink
    Definition Classes
    SuiteMixin

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. val activeElement: (OneBrowserPerSuite.this)#ActiveElementTarget

    Permalink
    Definition Classes
    WebBrowser
  5. def addCookie(name: String, value: String, path: String, expiry: Date, domain: String, secure: Boolean)(implicit driver: WebDriver): Unit

    Permalink
    Definition Classes
    WebBrowser
  6. val alertBox: (OneBrowserPerSuite.this)#AlertTarget

    Permalink
    Definition Classes
    WebBrowser
  7. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  8. def captureTo(fileName: String)(implicit driver: WebDriver): Unit

    Permalink
    Definition Classes
    WebBrowser
  9. def checkbox(queryString: String)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#Checkbox

    Permalink
    Definition Classes
    WebBrowser
  10. def checkbox(query: (OneBrowserPerSuite.this)#Query)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#Checkbox

    Permalink
    Definition Classes
    WebBrowser
  11. def className(className: String): (OneBrowserPerSuite.this)#ClassNameQuery

    Permalink
    Definition Classes
    WebBrowser
  12. def clickOn(element: (OneBrowserPerSuite.this)#Element): Unit

    Permalink
    Definition Classes
    WebBrowser
  13. def clickOn(queryString: String)(implicit driver: WebDriver, pos: Position): Unit

    Permalink
    Definition Classes
    WebBrowser
  14. def clickOn(query: (OneBrowserPerSuite.this)#Query)(implicit driver: WebDriver): Unit

    Permalink
    Definition Classes
    WebBrowser
  15. def clickOn(element: WebElement): Unit

    Permalink
    Definition Classes
    WebBrowser
  16. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  17. def close()(implicit driver: WebDriver): Unit

    Permalink
    Definition Classes
    WebBrowser
  18. def colorField(queryString: String)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#ColorField

    Permalink
    Definition Classes
    WebBrowser
  19. def colorField(query: (OneBrowserPerSuite.this)#Query)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#ColorField

    Permalink
    Definition Classes
    WebBrowser
  20. def cookie(name: String)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#WrappedCookie

    Permalink
    Definition Classes
    WebBrowser
  21. val cookies: (OneBrowserPerSuite.this)#CookiesNoun

    Permalink
    Definition Classes
    WebBrowser
  22. def cssSelector(cssSelector: String): (OneBrowserPerSuite.this)#CssSelectorQuery

    Permalink
    Definition Classes
    WebBrowser
  23. def currentUrl(implicit driver: WebDriver): String

    Permalink
    Definition Classes
    WebBrowser
  24. def dateField(queryString: String)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#DateField

    Permalink
    Definition Classes
    WebBrowser
  25. def dateField(query: (OneBrowserPerSuite.this)#Query)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#DateField

    Permalink
    Definition Classes
    WebBrowser
  26. def dateTimeField(queryString: String)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#DateTimeField

    Permalink
    Definition Classes
    WebBrowser
  27. def dateTimeField(query: (OneBrowserPerSuite.this)#Query)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#DateTimeField

    Permalink
    Definition Classes
    WebBrowser
  28. def dateTimeLocalField(queryString: String)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#DateTimeLocalField

    Permalink
    Definition Classes
    WebBrowser
  29. def dateTimeLocalField(query: (OneBrowserPerSuite.this)#Query)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#DateTimeLocalField

    Permalink
    Definition Classes
    WebBrowser
  30. val defaultContent: (OneBrowserPerSuite.this)#DefaultContentTarget

    Permalink
    Definition Classes
    WebBrowser
  31. def deleteAllCookies()(implicit driver: WebDriver, pos: Position): Unit

    Permalink
    Definition Classes
    WebBrowser
  32. def deleteCookie(name: String)(implicit driver: WebDriver, pos: Position): Unit

    Permalink
    Definition Classes
    WebBrowser
  33. def emailField(queryString: String)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#EmailField

    Permalink
    Definition Classes
    WebBrowser
  34. def emailField(query: (OneBrowserPerSuite.this)#Query)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#EmailField

    Permalink
    Definition Classes
    WebBrowser
  35. def enter(value: String)(implicit driver: WebDriver, pos: Position): Unit

    Permalink
    Definition Classes
    WebBrowser
  36. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  37. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  38. def eventually[T](fun: ⇒ T)(implicit config: (OneBrowserPerSuite.this)#PatienceConfig, pos: Position): T

    Permalink
    Definition Classes
    Eventually
  39. def eventually[T](interval: Interval)(fun: ⇒ T)(implicit config: (OneBrowserPerSuite.this)#PatienceConfig, pos: Position): T

    Permalink
    Definition Classes
    Eventually
  40. def eventually[T](timeout: Timeout)(fun: ⇒ T)(implicit config: (OneBrowserPerSuite.this)#PatienceConfig, pos: Position): T

    Permalink
    Definition Classes
    Eventually
  41. def eventually[T](timeout: Timeout, interval: Interval)(fun: ⇒ T)(implicit pos: Position): T

    Permalink
    Definition Classes
    Eventually
  42. def executeAsyncScript(script: String, args: AnyRef*)(implicit driver: WebDriver): AnyRef

    Permalink
    Definition Classes
    WebBrowser
  43. def executeScript[T](script: String, args: AnyRef*)(implicit driver: WebDriver): AnyRef

    Permalink
    Definition Classes
    WebBrowser
  44. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  45. def find(queryString: String)(implicit driver: WebDriver): Option[(OneBrowserPerSuite.this)#Element]

    Permalink
    Definition Classes
    WebBrowser
  46. def find(query: (OneBrowserPerSuite.this)#Query)(implicit driver: WebDriver): Option[(OneBrowserPerSuite.this)#Element]

    Permalink
    Definition Classes
    WebBrowser
  47. def findAll(queryString: String)(implicit driver: WebDriver): Iterator[(OneBrowserPerSuite.this)#Element]

    Permalink
    Definition Classes
    WebBrowser
  48. def findAll(query: (OneBrowserPerSuite.this)#Query)(implicit driver: WebDriver): Iterator[(OneBrowserPerSuite.this)#Element]

    Permalink
    Definition Classes
    WebBrowser
  49. def frame(query: (OneBrowserPerSuite.this)#Query)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#FrameWebElementTarget

    Permalink
    Definition Classes
    WebBrowser
  50. def frame(element: (OneBrowserPerSuite.this)#Element): (OneBrowserPerSuite.this)#FrameElementTarget

    Permalink
    Definition Classes
    WebBrowser
  51. def frame(element: WebElement): (OneBrowserPerSuite.this)#FrameWebElementTarget

    Permalink
    Definition Classes
    WebBrowser
  52. def frame(nameOrId: String): (OneBrowserPerSuite.this)#FrameNameOrIdTarget

    Permalink
    Definition Classes
    WebBrowser
  53. def frame(index: Int): (OneBrowserPerSuite.this)#FrameIndexTarget

    Permalink
    Definition Classes
    WebBrowser
  54. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  55. def goBack()(implicit driver: WebDriver): Unit

    Permalink
    Definition Classes
    WebBrowser
  56. def goForward()(implicit driver: WebDriver): Unit

    Permalink
    Definition Classes
    WebBrowser
  57. def goTo(page: Page)(implicit driver: WebDriver): Unit

    Permalink
    Definition Classes
    WebBrowser
  58. def goTo(url: String)(implicit driver: WebDriver): Unit

    Permalink
    Definition Classes
    WebBrowser
  59. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  60. def id(elementId: String): (OneBrowserPerSuite.this)#IdQuery

    Permalink
    Definition Classes
    WebBrowser
  61. def implicitlyWait(timeout: Span)(implicit driver: WebDriver): Unit

    Permalink
    Definition Classes
    WebBrowser
  62. def interval(value: Span): Interval

    Permalink
    Definition Classes
    PatienceConfiguration
  63. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  64. def isScreenshotSupported(implicit driver: WebDriver): Boolean

    Permalink
    Definition Classes
    WebBrowser
  65. def linkText(linkText: String): (OneBrowserPerSuite.this)#LinkTextQuery

    Permalink
    Definition Classes
    WebBrowser
  66. def monthField(queryString: String)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#MonthField

    Permalink
    Definition Classes
    WebBrowser
  67. def monthField(query: (OneBrowserPerSuite.this)#Query)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#MonthField

    Permalink
    Definition Classes
    WebBrowser
  68. def multiSel(queryString: String)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#MultiSel

    Permalink
    Definition Classes
    WebBrowser
  69. def multiSel(query: (OneBrowserPerSuite.this)#Query)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#MultiSel

    Permalink
    Definition Classes
    WebBrowser
  70. def name(elementName: String): (OneBrowserPerSuite.this)#NameQuery

    Permalink
    Definition Classes
    WebBrowser
  71. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  72. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  73. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  74. def numberField(queryString: String)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#NumberField

    Permalink
    Definition Classes
    WebBrowser
  75. def numberField(query: (OneBrowserPerSuite.this)#Query)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#NumberField

    Permalink
    Definition Classes
    WebBrowser
  76. def pageSource(implicit driver: WebDriver): String

    Permalink
    Definition Classes
    WebBrowser
  77. def pageTitle(implicit driver: WebDriver): String

    Permalink
    Definition Classes
    WebBrowser
  78. def partialLinkText(partialLinkText: String): (OneBrowserPerSuite.this)#PartialLinkTextQuery

    Permalink
    Definition Classes
    WebBrowser
  79. implicit val patienceConfig: (OneBrowserPerSuite.this)#PatienceConfig

    Permalink
    Definition Classes
    IntegrationPatience → AbstractPatienceConfiguration
  80. def pressKeys(value: String)(implicit driver: WebDriver): Unit

    Permalink
    Definition Classes
    WebBrowser
  81. def pwdField(queryString: String)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#PasswordField

    Permalink
    Definition Classes
    WebBrowser
  82. def pwdField(query: (OneBrowserPerSuite.this)#Query)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#PasswordField

    Permalink
    Definition Classes
    WebBrowser
  83. def quit()(implicit driver: WebDriver): Unit

    Permalink
    Definition Classes
    WebBrowser
  84. def radioButton(queryString: String)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#RadioButton

    Permalink
    Definition Classes
    WebBrowser
  85. def radioButton(query: (OneBrowserPerSuite.this)#Query)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#RadioButton

    Permalink
    Definition Classes
    WebBrowser
  86. def radioButtonGroup(groupName: String)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#RadioButtonGroup

    Permalink
    Definition Classes
    WebBrowser
  87. def rangeField(queryString: String)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#RangeField

    Permalink
    Definition Classes
    WebBrowser
  88. def rangeField(query: (OneBrowserPerSuite.this)#Query)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#RangeField

    Permalink
    Definition Classes
    WebBrowser
  89. def reloadPage()(implicit driver: WebDriver): Unit

    Permalink
    Definition Classes
    WebBrowser
  90. def run(testName: Option[String], args: Args): Status

    Permalink

    Places the WebDriver provided by webDriver into the ConfigMap under the key org.scalatestplus.play.webDriver to make it available to nested suites; calls super.run; and lastly ensures the WebDriver is stopped after all tests and nested suites have completed.

    Places the WebDriver provided by webDriver into the ConfigMap under the key org.scalatestplus.play.webDriver to make it available to nested suites; calls super.run; and lastly ensures the WebDriver is stopped after all tests and nested suites have completed.

    testName

    an optional name of one test to run. If None, all relevant tests should be run. I.e., None acts like a wildcard that means run all relevant tests in this Suite.

    args

    the Args for this run

    returns

    a Status object that indicates when all tests and nested suites started by this method have completed, and whether or not a failure occurred.

    Definition Classes
    OneBrowserPerSuite → SuiteMixin
  91. final def scaled(span: Span): Span

    Permalink
    Definition Classes
    ScaledTimeSpans
  92. def searchField(queryString: String)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#SearchField

    Permalink
    Definition Classes
    WebBrowser
  93. def searchField(query: (OneBrowserPerSuite.this)#Query)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#SearchField

    Permalink
    Definition Classes
    WebBrowser
  94. def setCaptureDir(targetDirPath: String): Unit

    Permalink
    Definition Classes
    WebBrowser
  95. def setScriptTimeout(timeout: Span)(implicit driver: WebDriver): Unit

    Permalink
    Definition Classes
    WebBrowser
  96. def singleSel(queryString: String)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#SingleSel

    Permalink
    Definition Classes
    WebBrowser
  97. def singleSel(query: (OneBrowserPerSuite.this)#Query)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#SingleSel

    Permalink
    Definition Classes
    WebBrowser
  98. def spanScaleFactor: Double

    Permalink
    Definition Classes
    ScaledTimeSpans
  99. def submit()(implicit driver: WebDriver, pos: Position): Unit

    Permalink
    Definition Classes
    WebBrowser
  100. def switchTo[T](target: (OneBrowserPerSuite.this)#SwitchTarget[T])(implicit driver: WebDriver, pos: Position): T

    Permalink
    Definition Classes
    WebBrowser
  101. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  102. def tagName(tagName: String): (OneBrowserPerSuite.this)#TagNameQuery

    Permalink
    Definition Classes
    WebBrowser
  103. def telField(queryString: String)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#TelField

    Permalink
    Definition Classes
    WebBrowser
  104. def telField(query: (OneBrowserPerSuite.this)#Query)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#TelField

    Permalink
    Definition Classes
    WebBrowser
  105. def textArea(queryString: String)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#TextArea

    Permalink
    Definition Classes
    WebBrowser
  106. def textArea(query: (OneBrowserPerSuite.this)#Query)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#TextArea

    Permalink
    Definition Classes
    WebBrowser
  107. def textField(queryString: String)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#TextField

    Permalink
    Definition Classes
    WebBrowser
  108. def textField(query: (OneBrowserPerSuite.this)#Query)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#TextField

    Permalink
    Definition Classes
    WebBrowser
  109. def timeField(queryString: String)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#TimeField

    Permalink
    Definition Classes
    WebBrowser
  110. def timeField(query: (OneBrowserPerSuite.this)#Query)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#TimeField

    Permalink
    Definition Classes
    WebBrowser
  111. def timeout(value: Span): Timeout

    Permalink
    Definition Classes
    PatienceConfiguration
  112. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  113. def urlField(queryString: String)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#UrlField

    Permalink
    Definition Classes
    WebBrowser
  114. def urlField(query: (OneBrowserPerSuite.this)#Query)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#UrlField

    Permalink
    Definition Classes
    WebBrowser
  115. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  116. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  117. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  118. implicit lazy val webDriver: WebDriver

    Permalink

    An implicit instance of WebDriver, created by calling createWebDriver.

    An implicit instance of WebDriver, created by calling createWebDriver. If there is an error when creating the WebDriver, UnavailableDriver will be assigned instead.

  119. def weekField(queryString: String)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#WeekField

    Permalink
    Definition Classes
    WebBrowser
  120. def weekField(query: (OneBrowserPerSuite.this)#Query)(implicit driver: WebDriver, pos: Position): (OneBrowserPerSuite.this)#WeekField

    Permalink
    Definition Classes
    WebBrowser
  121. def window(nameOrHandle: String): (OneBrowserPerSuite.this)#WindowTarget

    Permalink
    Definition Classes
    WebBrowser
  122. def windowHandle(implicit driver: WebDriver): String

    Permalink
    Definition Classes
    WebBrowser
  123. def windowHandles(implicit driver: WebDriver): Set[String]

    Permalink
    Definition Classes
    WebBrowser
  124. def withFixture(test: (OneBrowserPerSuite.this)#NoArgTest): Outcome

    Permalink

    Automatically cancels tests with an appropriate error message when the webDriver field is a UnavailableDriver, else calls super.withFixture(test)

    Automatically cancels tests with an appropriate error message when the webDriver field is a UnavailableDriver, else calls super.withFixture(test)

    Definition Classes
    OneBrowserPerSuite → TestSuiteMixin
  125. def withScreenshot[T](fun: ⇒ T)(implicit driver: WebDriver): T

    Permalink
    Definition Classes
    WebBrowser
  126. def xpath(xpath: String): (OneBrowserPerSuite.this)#XPathQuery

    Permalink
    Definition Classes
    WebBrowser

Inherited from BrowserFactory

Inherited from IntegrationPatience

Inherited from Eventually

Inherited from PatienceConfiguration

Inherited from AbstractPatienceConfiguration

Inherited from ScaledTimeSpans

Inherited from WebBrowser

Inherited from TestSuiteMixin

Inherited from SuiteMixin

Inherited from AnyRef

Inherited from Any

Ungrouped