org.scalatestplus.play

AllBrowsersPerSuite

trait AllBrowsersPerSuite extends SuiteMixin with WebBrowser with Eventually with IntegrationPatience

Trait that uses a shared test approach to enable you to run the same tests on multiple browsers in a ScalaTest Suite, where each kind of browser is started and stopped just once for the whole Suite.

Note: the difference between this trait and AllBrowsersPerTest is that this trait will allow you to write tests that rely on maintaining browser state between the tests. This is a good fit for integration tests in which each test builds on actions taken by the previous tests.

This trait overrides Suite's withFixture lifecycle method to create a new WebDriver instance the first time it is needed by each test, and close it the first time it is not needed (thus allowing multiple tests to share the same browser), and overrides the tags lifecycle method to tag the shared tests so you can filter them by browser type. This trait's self-type, ServerProvider, will ensure a TestServer and FakeApplication are available to each test. The self-type will require that you mix in either OneServerPerSuite, OneServerPerTest, ConfiguredServer before you mix in this trait. Your choice among these three ServerProviders will determine the extent to which a TestServer is shared by multiple tests.

You'll need to place any tests that you want executed by multiple browsers in a sharedTests method. Because all tests in a ScalaTest Suite must have unique names, you'll need to append the browser name (available from the BrowserInfo passed to sharedTests) to each test name:

def sharedTests(browser: BrowserInfo) {
  "The blog app home page" must {
    "have the correct title " + browser.name in {
       go to (host + "index.html")
       pageTitle must be ("Awesome Blog")
    }

All tests registered via sharedTests will be registered for each desired WebDriver, as specified by the browsers field. When running, any tests for browser drivers that are unavailable on the current platform will be canceled. All tests registered under sharedTests will be tagged automatically if they end with a browser name in square brackets. For example, if a test name ends with [Firefox], it will be automatically tagged with "org.scalatest.tags.FirefoxBrowser". This will allow you can include or exclude the shared tests by browser type using ScalaTest's regular tagging feature.

You can use tagging to include or exclude browsers that you sometimes want to test with, but not always. If you never want to test with a particular browser, you can prevent tests for it from being registered at all by overriding browsers and excluding its BrowserInfo in the returned Seq. For example, to disable registration of tests for HtmlUnit, you'd write:

override lazy val browsers: IndexedSeq[BrowserInfo] =
  Vector(
    FirefoxInfo,
    SafariInfo,
    InternetExplorerInfo,
    ChromeInfo
  )

Note that this trait can only be mixed into traits that register tests as functions, as the shared tests technique is not possible in style traits that declare tests as methods, such as org.scalatest.Spec. Attempting to do so will become a type error once we release ScalaTest 2.2.0.

package org.scalatestplus.play.examples.allbrowserspersharedsuite

import play.api.test._ import org.scalatest._ import org.scalatestplus.play._ import play.api.{Play, Application} import play.api.mvc.{Action, Results} import org.openqa.selenium.WebDriver import BrowserFactory.UnavailableDriver
class ExampleSpec extends PlaySpec with OneServerPerSuite with AllBrowsersPerSuite {
// Override app if you need a FakeApplication with other than non-default parameters. implicit override def app: FakeApplication = FakeApplication( additionalConfiguration = Map("foo" -> "bar", "ehcacheplugin" -> "disabled"), withRoutes = TestRoute )
// Place tests you want run in different browsers in the `sharedTests` method: def sharedTests(browser: BrowserInfo) = {
"The AllBrowsersPerSuite trait" must { "provide a web driver " + browser.name in { go to ("http://localhost:" + port + "/testing") pageTitle mustBe "Test Page" click on find(name("b")).value eventually { pageTitle mustBe "scalatest" } } } }
// Place tests that don't need a WebDriver outside the `sharedTests` method // in the constructor, the usual place for tests in a `PlaySpec` "The AllBrowsersPerSuite trait" must { "provide a FakeApplication" in { app.configuration.getString("foo") mustBe Some("bar") } "make the FakeApplication available implicitly" in { def getConfig(key: String)(implicit app: Application) = app.configuration.getString(key) getConfig("foo") mustBe Some("bar") } "start the FakeApplication" in { Play.maybeApplication mustBe Some(app) } "provide the port" 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() } } }
Here's how the output would look if you ran the above test class in sbt on a platform that did not support Selenium drivers for Internet Explorer or Chrome:
> test-only *allbrowserspersharedsuite*
[info] ExampleSpec:
[info] The AllBrowsersPerSuite trait
[info] - must provide a web driver [Firefox]
[info] The AllBrowsersPerSuite trait
[info] - must provide a web driver [Safari]
[info] The AllBrowsersPerSuite trait
[info] - must provide a web driver [InternetExplorer] !!! CANCELED !!!
[info]   Was unable to create a Selenium InternetExplorerDriver on this platform. (AllBrowsersPerSuite.scala:257)
[info] The AllBrowsersPerSuite trait
[info] - must provide a web driver [Chrome] !!! CANCELED !!!
[info]   Was unable to create a Selenium ChromeDriver on this platform. (AllBrowsersPerSuite.scala:257)
[info] The AllBrowsersPerSuite trait
[info] - must provide a web driver [HtmlUnit]
[info] The AllBrowsersPerSuite trait
[info] - must provide a FakeApplication
[info] - must make the FakeApplication available implicitly
[info] - must start the FakeApplication
[info] - must provide the port
[info] - must provide an actual running server
Because the shared tests will be tagged according to browser, you can include or exclude tests based on the browser they use. For example, here's how the output would look if you ran the above test class with sbt and ask to include only Firefox:
> test-only *allbrowserspersharedtest* -- -n org.scalatest.tags.FirefoxBrowser
[info] ExampleSpec:
[info] The AllBrowsersPerSuite trait
[info] - must provide a web driver [Firefox]
[info] The AllBrowsersPerSuite trait
[info] The AllBrowsersPerSuite trait
[info] The AllBrowsersPerSuite trait
[info] The AllBrowsersPerSuite trait
[info] The AllBrowsersPerSuite trait

Self Type
AllBrowsersPerSuite with Suite with ServerProvider
Linear Supertypes
IntegrationPatience, Eventually, PatienceConfiguration, AbstractPatienceConfiguration, ScaledTimeSpans, WebBrowser, SuiteMixin, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. AllBrowsersPerSuite
  2. IntegrationPatience
  3. Eventually
  4. PatienceConfiguration
  5. AbstractPatienceConfiguration
  6. ScaledTimeSpans
  7. WebBrowser
  8. SuiteMixin
  9. AnyRef
  10. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. final class ActiveElementTarget extends SwitchTarget[Element]

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

    Definition Classes
    WebBrowser
  3. final class Checkbox extends Element

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

    Definition Classes
    WebBrowser
  5. final class ColorField extends Element with ValueElement

    Definition Classes
    WebBrowser
  6. class CookiesNoun extends AnyRef

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

    Definition Classes
    WebBrowser
  8. final class DateField extends Element with ValueElement

    Definition Classes
    WebBrowser
  9. final class DateTimeField extends Element with ValueElement

    Definition Classes
    WebBrowser
  10. final class DateTimeLocalField extends Element with ValueElement

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

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

    Definition Classes
    WebBrowser
  13. sealed trait Element extends AnyRef

    Definition Classes
    WebBrowser
  14. final class EmailField extends Element with ValueElement

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

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

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

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

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

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

    Definition Classes
    WebBrowser
  21. final class MonthField extends Element with ValueElement

    Definition Classes
    WebBrowser
  22. class MultiSel extends Element

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

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

    Definition Classes
    WebBrowser
  25. final class NumberField extends Element with ValueElement

    Definition Classes
    WebBrowser
  26. trait Page extends AnyRef

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

    Definition Classes
    WebBrowser
  28. final class PasswordField extends Element

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

    Definition Classes
    AbstractPatienceConfiguration
  30. case class Point extends Product with Serializable

    Definition Classes
    WebBrowser
  31. sealed trait Query extends AnyRef

    Definition Classes
    WebBrowser
  32. final class RadioButton extends Element

    Definition Classes
    WebBrowser
  33. final class RadioButtonGroup extends AnyRef

    Definition Classes
    WebBrowser
  34. final class RangeField extends Element with ValueElement

    Definition Classes
    WebBrowser
  35. final class SearchField extends Element with ValueElement

    Definition Classes
    WebBrowser
  36. class SingleSel extends Element

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

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

    Definition Classes
    WebBrowser
  39. final class TelField extends Element with ValueElement

    Definition Classes
    WebBrowser
  40. final class TextArea extends Element

    Definition Classes
    WebBrowser
  41. final class TextField extends Element

    Definition Classes
    WebBrowser
  42. final class TimeField extends Element with ValueElement

    Definition Classes
    WebBrowser
  43. final class UrlField extends Element with ValueElement

    Definition Classes
    WebBrowser
  44. trait ValueElement extends Element

    Definition Classes
    WebBrowser
  45. final class WeekField extends Element with ValueElement

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

    Definition Classes
    WebBrowser
  47. final class WrappedCookie extends AnyRef

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

    Definition Classes
    WebBrowser

Abstract Value Members

  1. abstract def expectedTestCount(filter: Filter): Int

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

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

    Definition Classes
    SuiteMixin
  4. abstract def run(testName: Option[String], args: Args): Status

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

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

    Attributes
    protected
    Definition Classes
    SuiteMixin
  7. abstract def sharedTests(browser: BrowserInfo): Unit

    Registers tests "shared" by multiple browsers.

    Registers tests "shared" by multiple browsers.

    Implement this method by placing tests you wish to run for multiple browsers. This method will be called during the initialization of this trait once for each browser whose BrowserInfo appears in the IndexedSeq referenced from the browsers field.

    Make sure you append browser.name to each test declared in sharedTests, to ensure they all have unique names. Here's an example:

    def sharedTests(browser: BrowserInfo) {
      "The blog app home page" must {
        "have the correct title " + browser.name in {
           go to (host + "index.html")
           pageTitle must be ("Awesome Blog")
        }
    

    If you don't append browser.name to each test name you'll likely be rewarded with a DuplicateTestNameException when you attempt to run the suite.

    browser

    the passed in BrowserInfo instance

  8. abstract val styleName: String

    Definition Classes
    SuiteMixin
  9. abstract def suiteId: String

    Definition Classes
    SuiteMixin
  10. abstract def suiteName: String

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

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

    Definition Classes
    SuiteMixin

Concrete Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. val activeElement: (AllBrowsersPerSuite.this)#ActiveElementTarget

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

    Definition Classes
    WebBrowser
  8. val alertBox: (AllBrowsersPerSuite.this)#AlertTarget

    Definition Classes
    WebBrowser
  9. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  10. lazy val browsers: IndexedSeq[BrowserInfo]

    Info for available browsers.

    Info for available browsers. Override to add in custom BrowserInfo implementations.

    Attributes
    protected
  11. def captureTo(fileName: String)(implicit driver: WebDriver): Unit

    Definition Classes
    WebBrowser
  12. def checkbox(queryString: String)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#Checkbox

    Definition Classes
    WebBrowser
  13. def checkbox(query: (AllBrowsersPerSuite.this)#Query)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#Checkbox

    Definition Classes
    WebBrowser
  14. def className(className: String): (AllBrowsersPerSuite.this)#ClassNameQuery

    Definition Classes
    WebBrowser
  15. def clickOn(element: (AllBrowsersPerSuite.this)#Element): Unit

    Definition Classes
    WebBrowser
  16. def clickOn(queryString: String)(implicit driver: WebDriver): Unit

    Definition Classes
    WebBrowser
  17. def clickOn(query: (AllBrowsersPerSuite.this)#Query)(implicit driver: WebDriver): Unit

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

    Definition Classes
    WebBrowser
  19. def clone(): AnyRef

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

    Definition Classes
    WebBrowser
  21. def colorField(queryString: String)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#ColorField

    Definition Classes
    WebBrowser
  22. def colorField(query: (AllBrowsersPerSuite.this)#Query)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#ColorField

    Definition Classes
    WebBrowser
  23. def cookie(name: String)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#WrappedCookie

    Definition Classes
    WebBrowser
  24. val cookies: (AllBrowsersPerSuite.this)#CookiesNoun

    Definition Classes
    WebBrowser
  25. def cssSelector(cssSelector: String): (AllBrowsersPerSuite.this)#CssSelectorQuery

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

    Definition Classes
    WebBrowser
  27. def dateField(queryString: String)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#DateField

    Definition Classes
    WebBrowser
  28. def dateField(query: (AllBrowsersPerSuite.this)#Query)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#DateField

    Definition Classes
    WebBrowser
  29. def dateTimeField(queryString: String)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#DateTimeField

    Definition Classes
    WebBrowser
  30. def dateTimeField(query: (AllBrowsersPerSuite.this)#Query)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#DateTimeField

    Definition Classes
    WebBrowser
  31. def dateTimeLocalField(queryString: String)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#DateTimeLocalField

    Definition Classes
    WebBrowser
  32. def dateTimeLocalField(query: (AllBrowsersPerSuite.this)#Query)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#DateTimeLocalField

    Definition Classes
    WebBrowser
  33. val defaultContent: (AllBrowsersPerSuite.this)#DefaultContentTarget

    Definition Classes
    WebBrowser
  34. def deleteAllCookies()(implicit driver: WebDriver): Unit

    Definition Classes
    WebBrowser
  35. def deleteCookie(name: String)(implicit driver: WebDriver): Unit

    Definition Classes
    WebBrowser
  36. def emailField(queryString: String)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#EmailField

    Definition Classes
    WebBrowser
  37. def emailField(query: (AllBrowsersPerSuite.this)#Query)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#EmailField

    Definition Classes
    WebBrowser
  38. def enter(value: String)(implicit driver: WebDriver): Unit

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

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

    Definition Classes
    AnyRef → Any
  41. def eventually[T](fun: ⇒ T)(implicit config: (AllBrowsersPerSuite.this)#PatienceConfig): T

    Definition Classes
    Eventually
  42. def eventually[T](interval: Interval)(fun: ⇒ T)(implicit config: (AllBrowsersPerSuite.this)#PatienceConfig): T

    Definition Classes
    Eventually
  43. def eventually[T](timeout: Timeout)(fun: ⇒ T)(implicit config: (AllBrowsersPerSuite.this)#PatienceConfig): T

    Definition Classes
    Eventually
  44. def eventually[T](timeout: Timeout, interval: Interval)(fun: ⇒ T): T

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

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

    Definition Classes
    WebBrowser
  47. def finalize(): Unit

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

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

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

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

    Definition Classes
    WebBrowser
  52. lazy val firefoxProfile: FirefoxProfile

    Method to provide FirefoxProfile for creating FirefoxDriver, you can override this method to provide a customized instance of FirefoxProfile

    Method to provide FirefoxProfile for creating FirefoxDriver, you can override this method to provide a customized instance of FirefoxProfile

    returns

    an instance of FirefoxProfile

    Attributes
    protected
  53. def frame(query: (AllBrowsersPerSuite.this)#Query)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#FrameWebElementTarget

    Definition Classes
    WebBrowser
  54. def frame(element: (AllBrowsersPerSuite.this)#Element): (AllBrowsersPerSuite.this)#FrameElementTarget

    Definition Classes
    WebBrowser
  55. def frame(element: WebElement): (AllBrowsersPerSuite.this)#FrameWebElementTarget

    Definition Classes
    WebBrowser
  56. def frame(nameOrId: String): (AllBrowsersPerSuite.this)#FrameNameOrIdTarget

    Definition Classes
    WebBrowser
  57. def frame(index: Int): (AllBrowsersPerSuite.this)#FrameIndexTarget

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

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

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

    Definition Classes
    WebBrowser
  61. def goTo(page: (AllBrowsersPerSuite.this)#Page)(implicit driver: WebDriver): Unit

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

    Definition Classes
    WebBrowser
  63. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  64. def id(elementId: String): (AllBrowsersPerSuite.this)#IdQuery

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

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

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

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

    Definition Classes
    WebBrowser
  69. def linkText(linkText: String): (AllBrowsersPerSuite.this)#LinkTextQuery

    Definition Classes
    WebBrowser
  70. def monthField(queryString: String)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#MonthField

    Definition Classes
    WebBrowser
  71. def monthField(query: (AllBrowsersPerSuite.this)#Query)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#MonthField

    Definition Classes
    WebBrowser
  72. def multiSel(queryString: String)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#MultiSel

    Definition Classes
    WebBrowser
  73. def multiSel(query: (AllBrowsersPerSuite.this)#Query)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#MultiSel

    Definition Classes
    WebBrowser
  74. def name(elementName: String): (AllBrowsersPerSuite.this)#NameQuery

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

    Definition Classes
    AnyRef
  76. final def notify(): Unit

    Definition Classes
    AnyRef
  77. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  78. def numberField(queryString: String)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#NumberField

    Definition Classes
    WebBrowser
  79. def numberField(query: (AllBrowsersPerSuite.this)#Query)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#NumberField

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

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

    Definition Classes
    WebBrowser
  82. def partialLinkText(partialLinkText: String): (AllBrowsersPerSuite.this)#PartialLinkTextQuery

    Definition Classes
    WebBrowser
  83. implicit val patienceConfig: (AllBrowsersPerSuite.this)#PatienceConfig

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

    Definition Classes
    WebBrowser
  85. def pwdField(queryString: String)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#PasswordField

    Definition Classes
    WebBrowser
  86. def pwdField(query: (AllBrowsersPerSuite.this)#Query)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#PasswordField

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

    Definition Classes
    WebBrowser
  88. def radioButton(queryString: String)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#RadioButton

    Definition Classes
    WebBrowser
  89. def radioButton(query: (AllBrowsersPerSuite.this)#Query)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#RadioButton

    Definition Classes
    WebBrowser
  90. def radioButtonGroup(groupName: String)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#RadioButtonGroup

    Definition Classes
    WebBrowser
  91. def rangeField(queryString: String)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#RangeField

    Definition Classes
    WebBrowser
  92. def rangeField(query: (AllBrowsersPerSuite.this)#Query)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#RangeField

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

    Definition Classes
    WebBrowser
  94. def runTests(testName: Option[String], args: Args): Status

    Invokes super.runTests, ensuring that the currently installed WebDriver (returned by webDriver) is closed, if necessary.

    Invokes super.runTests, ensuring that the currently installed WebDriver (returned by webDriver) is closed, if necessary. For more information on how this behavior fits into the big picture, see the documentatio for the withFixture method.

    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
    AllBrowsersPerSuite → SuiteMixin
  95. final def scaled(span: Span): Span

    Definition Classes
    ScaledTimeSpans
  96. def searchField(queryString: String)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#SearchField

    Definition Classes
    WebBrowser
  97. def searchField(query: (AllBrowsersPerSuite.this)#Query)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#SearchField

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

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

    Definition Classes
    WebBrowser
  100. def singleSel(queryString: String)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#SingleSel

    Definition Classes
    WebBrowser
  101. def singleSel(query: (AllBrowsersPerSuite.this)#Query)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#SingleSel

    Definition Classes
    WebBrowser
  102. def spanScaleFactor: Double

    Definition Classes
    ScaledTimeSpans
  103. def submit()(implicit driver: WebDriver): Unit

    Definition Classes
    WebBrowser
  104. def switchTo[T](target: (AllBrowsersPerSuite.this)#SwitchTarget[T])(implicit driver: WebDriver): T

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

    Definition Classes
    AnyRef
  106. def tagName(tagName: String): (AllBrowsersPerSuite.this)#TagNameQuery

    Definition Classes
    WebBrowser
  107. def tags: Map[String, Set[String]]

    Automatically tag browser tests with browser tags based on the test name: if a test ends in a browser name in square brackets, it will be tagged as using that browser.

    Automatically tag browser tests with browser tags based on the test name: if a test ends in a browser name in square brackets, it will be tagged as using that browser. For example, if a test name ends in [Firefox], it will be tagged with org.scalatest.tags.FirefoxBrowser. The browser tags will be merged with tags returned from super.tags, so no existing tags will be lost when the browser tags are added.

    returns

    super.tags with additional browser tags added for any browser-specific tests

    Definition Classes
    AllBrowsersPerSuite → SuiteMixin
  108. def telField(queryString: String)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#TelField

    Definition Classes
    WebBrowser
  109. def telField(query: (AllBrowsersPerSuite.this)#Query)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#TelField

    Definition Classes
    WebBrowser
  110. def textArea(queryString: String)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#TextArea

    Definition Classes
    WebBrowser
  111. def textArea(query: (AllBrowsersPerSuite.this)#Query)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#TextArea

    Definition Classes
    WebBrowser
  112. def textField(queryString: String)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#TextField

    Definition Classes
    WebBrowser
  113. def textField(query: (AllBrowsersPerSuite.this)#Query)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#TextField

    Definition Classes
    WebBrowser
  114. def timeField(queryString: String)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#TimeField

    Definition Classes
    WebBrowser
  115. def timeField(query: (AllBrowsersPerSuite.this)#Query)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#TimeField

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

    Definition Classes
    PatienceConfiguration
  117. def toString(): String

    Definition Classes
    AnyRef → Any
  118. def urlField(queryString: String)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#UrlField

    Definition Classes
    WebBrowser
  119. def urlField(query: (AllBrowsersPerSuite.this)#Query)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#UrlField

    Definition Classes
    WebBrowser
  120. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  123. implicit def webDriver: WebDriver

    Implicit method to get the WebDriver for the current test.

  124. def weekField(queryString: String)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#WeekField

    Definition Classes
    WebBrowser
  125. def weekField(query: (AllBrowsersPerSuite.this)#Query)(implicit driver: WebDriver): (AllBrowsersPerSuite.this)#WeekField

    Definition Classes
    WebBrowser
  126. def window(nameOrHandle: String): (AllBrowsersPerSuite.this)#WindowTarget

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

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

    Definition Classes
    WebBrowser
  129. def withFixture(test: (AllBrowsersPerSuite.this)#NoArgTest): Outcome

    Inspects the current test name and if it ends with the name of one of the BrowserInfos mentioned in the browsers IndexedSeq; if so, and a WebDriver of that type is already intalled and being returned by webDriver, does nothing so that the current test can reuse the same browser used by the previous test; otherwise, closes the currently installed WebDriver, if necessary, and creates a new web driver by invoking createWebDriver on that BrowserInfo and, unless it is an UnavailableDriver, installs it so it will be returned by webDriver during the test.

    Inspects the current test name and if it ends with the name of one of the BrowserInfos mentioned in the browsers IndexedSeq; if so, and a WebDriver of that type is already intalled and being returned by webDriver, does nothing so that the current test can reuse the same browser used by the previous test; otherwise, closes the currently installed WebDriver, if necessary, and creates a new web driver by invoking createWebDriver on that BrowserInfo and, unless it is an UnavailableDriver, installs it so it will be returned by webDriver during the test. (If the driver is unavailable on the host platform, the createWebDriver method will return UnavailableDriver, and this withFixture implementation will cancel the test automatically.) If the current test name does not end in a browser name, this withFixture method closes the currently installed WebDriver, if necessary, and installs BrowserInfo.UnneededDriver as the driver to be returned by webDriver during the test. If the test is not canceled because of an unavailable driver, this withFixture method invokes super.withFixture.

    Note that unlike AllBrowsersPerTest, this trait's withFixture method does not ensure that the WebDriver is closed after super.withFixture returns. Instead, this trait will close the currently installed WebDriver only when it needs to replace the currently installed driver with a new one. This just-in-time approach to closing WebDrivers is how this trait allows its shared tests to reuse the same browser, but will at the end of the day, leave the last WebDriver unclosed after withFixture returns for the last time. This last-used WebDriver will be closed, if necessary, by runTests instead.

    test

    the no-arg test function to run with a fixture

    returns

    the Outcome of the test execution

    Definition Classes
    AllBrowsersPerSuite → SuiteMixin
  130. def withScreenshot(fun: ⇒ Unit)(implicit driver: WebDriver): Unit

    Definition Classes
    WebBrowser
  131. def xpath(xpath: String): (AllBrowsersPerSuite.this)#XPathQuery

    Definition Classes
    WebBrowser

Inherited from IntegrationPatience

Inherited from Eventually

Inherited from PatienceConfiguration

Inherited from AbstractPatienceConfiguration

Inherited from ScaledTimeSpans

Inherited from WebBrowser

Inherited from SuiteMixin

Inherited from AnyRef

Inherited from Any

Ungrouped