org.scalatest.selenium

WebBrowser

trait WebBrowser extends AnyRef

Trait that provides a domain specific language (DSL) for writing browser-based tests using Selenium.

To use ScalaTest's Selenium DSL, mix trait WebBrowser into your test class. This trait provides the DSL in its entirety except for one missing piece: an implicit org.openqa.selenium.WebDriver. One way to provide the missing implicit driver is to declare one as a member of your test class, like this:

import org.scalatest._
import selenium._
import org.openqa.selenium._
import htmlunit._

class BlogSpec extends FlatSpec with Matchers with WebBrowser {
implicit val webDriver: WebDriver = new HtmlUnitDriver
val host = "http://localhost:9000/"
"The blog app home page" should "have the correct title" in { go to (host + "index.html") pageTitle should be ("Awesome Blog") } }

For convenience, however, ScalaTest provides a WebBrowser subtrait containing an implicit WebDriver for each driver provided by Selenium. Thus a simpler way to use the HtmlUnit driver, for example, is to extend ScalaTest's HtmlUnit trait, like this:

import org.scalatest._
import selenium._

class BlogSpec extends FlatSpec with Matchers with HtmlUnit {
val host = "http://localhost:9000/"
"The blog app home page" should "have the correct title" in { go to (host + "index.html") pageTitle should be ("Awesome Blog") } }

The web driver traits provided by ScalaTest are:

DriverWebBrowser subtrait
Google Chrome Chrome
Mozilla Firefox Firefox
HtmlUnit HtmlUnit
Microsoft Internet Explorer InternetExplorer
Apple Safari Safari

Navigation

You can ask the browser to retrieve a page (go to a URL) like this:

go to "http://www.artima.com"

Note: If you are using the page object pattern, you can also go to a page using the Page instance, as illustrated in the section on page objects below.

Once you have retrieved a page, you can fill in and submit forms, query for the values of page elements, and make assertions. In the following example, selenium will go to http://www.google.com, fill in the text box with Cheese!, press the submit button, and wait for result returned from an AJAX call:

go to "http://www.google.com"
click on "q"
enter("Cheese!")
submit()
// Google's search is rendered dynamically with JavaScript.
eventually { pageTitle should be ("Cheese! - Google Search") }

In the above example, the "q" used in “click on "q"” can be either the id or name of an element. ScalaTest's Selenium DSL will try to lookup by id first. If it cannot find any element with an id equal to "q", it will then try lookup by name "q".

Alternatively, you can be more specific:

click on id("q")   // to lookup by id "q" 
click on name("q") // to lookup by name "q" 

In addition to id and name, you can use the following approaches to lookup elements, just as you can do with Selenium's org.openqa.selenium.By class:

For example, you can select by link text with:

click on linkText("click here!")

If an element is not found via any form of lookup, evaluation will complete abruptly with a TestFailedException.

Getting and setting input element values

ScalaTest's Selenium DSL provides a clear, simple syntax for accessing and updating the values of input elements such as text fields, radio buttons, checkboxes, selection lists, and the input types introduced in HTML5. If a requested element is not found, or if it is found but is not of the requested type, an exception will immediately result causing the test to fail.

The most common way to access field value is through the value property, which is supported by the following input types:

Tag Name Input Type Lookup Method
input text textField
textarea - textArea
input password pwdField
input email emailField
input color colorField
input date dateField
input datetime dateTimeField
input datetime-local dateTimeLocalField
input month monthField
input number numberField
input range rangeField
input search searchField
input tel telField
input time timeField
input url urlField
input week weekField

You can change a input field's value by assigning it via the = operator, like this:

textField("q").value = "Cheese!"

And you can access a input field's value by simply invoking value on it:

textField("q").value should be ("Cheese!")

If the text field is empty, value will return an empty string ("").

You can use the same syntax with other type of input fields by replacing textField with Lookup Method listed in table above, for example to use text area:

textArea("body").value = "I saw something cool today!"
textArea("body").value should be ("I saw something cool today!")

or with a password field:

pwdField("secret").value = "Don't tell anybody!"
pwdField("secret").value should be ("Don't tell anybody!")

Alternate Way for Data Entry

An alternate way to enter data into a input fields is to use enter or pressKeys. Although both of enter and pressKeys send characters to the active element, pressKeys can be used on any kind of element, whereas enter can only be used on text entry fields, which include:

Another difference is that enter will clear the text field or area before sending the characters, effectively replacing any currently existing text with the new text passed to enter. By contrast, pressKeys does not do any clearing—it just appends more characters to any existing text. You can backup with pressKeys, however, by sending explicit backspace characters, "\u0008".

To use these commands, you must first click on the input field you are interested in to give it the focus. Here's an example:

click on "q"
enter("Cheese!")

Here's a (contrived) example of using pressKeys with backspace to fix a typo:

click on "q"              // q is the name or id of a text field or text area
enter("Cheesey!")         // Oops, meant to say Cheese!
pressKeys("\u0008\u0008") // Send two backspaces; now the value is Cheese
pressKeys("!")            // Send the missing exclamation point; now the value is Cheese!

Radio buttons

Radio buttons work together in groups. For example, you could have a group of radio buttons, like this:

<input type="radio" id="opt1" name="group1" value="Option 1"> Option 1</input>
<input type="radio" id="opt2" name="group1" value="Option 2"> Option 2</input>
<input type="radio" id="opt3" name="group1" value="Option 3"> Option 3</input>

You can select an option in either of two ways:

radioButtonGroup("group1").value = "Option 2"
radioButtonGroup("group1").selection = Some("Option 2")

Likewise, you can read the currently selected value of a group of radio buttons in two ways:

radioButtonGroup("group1").value should be ("Option 2")
radioButtonGroup("group1").selection should be (Some("Option 2"))

If the radio button has no selection at all, selection will return None whereas value will throw a TestFailedException. By using value, you are indicating you expect a selection, and if there isn't a selection that should result in a failed test.

If you would like to work with RadioButton element directly, you can select it by calling radioButton:

click on radioButton("opt1")

you can check if an option is selected by calling isSelected:

radioButton("opt1").isSelected should be (true)

to get the value of radio button, you can call value:

radioButton("opt1").value should be ("Option 1")

Checkboxes

A checkbox in one of two states: selected or cleared. Here's how you select a checkbox:

checkbox("cbx1").select()

And here's how you'd clear one:

checkbox("cbx1").clear()

You can access the current state of a checkbox with isSelected:

checkbox("cbx1").isSelected should be (true)

Single-selection dropdown lists

Given the following single-selection dropdown list:

<select id="select1">
 <option value="option1">Option 1</option>
 <option value="option2">Option 2</option>
 <option value="option3">Option 3</option>
</select>

You could select Option 2 in either of two ways:

singleSel("select1").value = "option2"
singleSel("select1").selection = Some("option2")

To clear the selection, either invoke clear or set selection to None:

singleSel("select1").clear()
singleSel("select1").selection = None

You can read the currently selected value of a single-selection list in the same manner as radio buttons:

singleSel("select1").value should be ("option2")
singleSel("select1").selection should be (Some("option2"))

If the single-selection list has no selection at all, selection will return None whereas value will throw a TestFailedException. By using value, you are indicating you expect a selection, and if there isn't a selection that should result in a failed test.

Multiple-selection lists

Given the following multiple-selection list:

<select name="select2" multiple="multiple">
 <option value="option4">Option 4</option>
 <option value="option5">Option 5</option>
 <option value="option6">Option 6</option>
</select>

You could select Option 5 and Option 6 like this:

multiSel("select2").values = Seq("option5", "option6")

The previous command would essentially clear all selections first, then select Option 5 and Option 6. If instead you want to not clear any existing selection, just additionally select Option 5 and Option 6, you can use the += operator, like this.

multiSel("select2").values += "option5"
multiSel("select2").values += "option6"

To clear a specific option, pass its name to clear:

multiSel("select2").clear("option5")

To clear all selections, call clearAll:

multiSel("select2").clearAll()

You can access the current selections with values, which returns an immutable IndexedSeq[String]:

multiSel("select2").values should have size 2
multiSel("select2").values(0) should be ("option5")
multiSel("select2").values(1) should be ("option6")

Clicking and submitting

You can click on any element with “click on” as shown previously:

click on "aButton"
click on name("aTextField")

If the requested element is not found, click on will throw an exception, failing the test.

Clicking on a input element will give it the focus. If current focus is in on an input element within a form, you can submit the form by calling submit:

submit()

Switching

You can switch to a popup alert bo using the following code:

switch to alertBox

to switch to a frame, you could:

switch to frame(0) // switch by index
switch to frame("name") // switch by name

If you have reference to a window handle (can be obtained from calling windowHandle/windowHandles), you can switch to a particular window by:

switch to window(windowHandle)

You can also switch to active element and default content:

switch to activeElement
switch to defaultContent

Navigation history

In real web browser, you can press the 'Back' button to go back to previous page. To emulate that action in your test, you can call goBack:

goBack()

To emulate the 'Forward' button, you can call:

goForward()

And to refresh or reload the current page, you can call:

reloadPage()

Cookies!

To create a new cookie, you'll say:

add cookie ("cookie_name", "cookie_value")

to read a cookie value, you do:

cookie("cookie_name").value should be ("cookie_value") // If value is undefined, throws TFE right then and there. Never returns null.

In addition to the common use of name-value cookie, you can pass these extra fields when creating the cookie, available ways are:

cookie(name: String, value: String)
cookie(name: String, value: String, path: String)
cookie(name: String, value: String, path: String, expiry: Date)
cookie(name: String, value: String, path: String, expiry: Date, domain: String)
cookie(name: String, value: String, path: String, expiry: Date, domain: String, secure: Boolean)

and to read those extra fields:

cookie("cookie_name").value   // Read cookie's value
cookie("cookie_name").path    // Read cookie's path
cookie("cookie_name").expiry  // Read cookie's expiry
cookie("cookie_name").domain  // Read cookie's domain
cookie("cookie_name").isSecure  // Read cookie's isSecure flag

In order to delete a cookie, you could use the following code:

delete cookie "cookie_name"

or to delete all cookies in the same domain:-

delete all cookies

To get the underlying Selenium cookie, you can use underlying:

cookie("cookie_name").underlying.validate()  // call the validate() method on underlying Selenium cookie

Other useful element properties

All element types (textField, textArea, radioButton, checkbox, singleSel, multiSel) support the following useful properties:

MethodDescription
location The XY location of the top-left corner of this Element.
size The width/height size of this Element.
isDisplayed Indicates whether this Element is displayed.
isEnabled Indicates whether this Element is enabled.
isSelected Indicates whether this Element is selected.
tagName The tag name of this element.
underlying The underlying WebElement wrapped by this Element.
attribute(name: String) The attribute value of the given attribute name of this element, wrapped in a Some, or None if no such attribute exists on this Element.
text Returns the visible (i.e., not hidden by CSS) text of this element, including sub-elements, without any leading or trailing whitespace.

Implicit wait

To set Selenium's implicit wait timeout, you can call the implicitlyWait method:

implicitlyWait(Span(10, Seconds))

Invoking this method sets the amount of time the driver will wait when searching for an element that is not immediately present. For more information, see the documentation for method implicitlyWait.

Page source and current URL

It is possible to get the html source of currently loaded page, using:

pageSource

and if needed, get the current URL of currently loaded page:

currentUrl

Screen capture

You can capture screen using the following code:

val file = capture

By default, the captured image file will be saved in temporary folder (returned by java.io.tmpdir property), with random file name ends with .png extension. You can specify a fixed file name:

capture to "MyScreenShot.png"

or

capture to "MyScreenShot"

Both will result in a same file name MyScreenShot.png.

You can also change the target folder screenshot file is written to, by saying:

setCaptureDir("/home/your_name/screenshots")

If you want to capture a screenshot when something goes wrong (e.g. test failed), you can use withScreenshot:

withScreenshot {
  assert("Gold" == "Silver", "Expected gold, but got silver")
}

In case the test code fails, you'll see the screenshot location appended to the error message, for example:

Expected gold but got silver; screenshot capture in /tmp/AbCdEfGhIj.png

Using the page object pattern

If you use the page object pattern, mixing trait Page into your page classes will allow you to use the go to syntax with your page objects. Here's an example:

class HomePage extends Page {
  val url = "http://localhost:9000/index.html"
}

val homePage = new HomePage go to homePage

Executing JavaScript

To execute arbitrary JavaScript, for example, to test some JavaScript functions on your page, pass it to executeScript:

go to (host + "index.html")
val result1 = executeScript("return document.title;")
result1 should be ("Test Title")
val result2 = executeScript("return 'Hello ' + arguments[0]", "ScalaTest")
result2 should be ("Hello ScalaTest")

To execute an asynchronous bit of JavaScript, pass it to executeAsyncScript. You can set the script timeout with setScriptTimeout:

val script = """
  var callback = arguments[arguments.length - 1];
  window.setTimeout(function() {callback('Hello ScalaTest')}, 500);
"""
setScriptTimeout(1 second)
val result = executeAsyncScript(script)
result should be ("Hello ScalaTest")

Querying for elements

You can query for arbitrary elements via find and findAll. The find method returns the first matching element, wrapped in a Some, or None if no element is found. The findAll method returns an immutable IndexedSeq of all matching elements. If no elements match the query, findAll returns an empty IndexedSeq. These methods allow you to perform rich queries using for expressions. Here are some examples:

val ele: Option[Element] = find("q")

val eles: colection.immutable.IndexedSeq[Element] = findAll(className("small")) for (e <- eles; if e.tagName != "input") e should be ('displayed) val textFields = eles filter { tf.isInstanceOf[TextField] }

Cleaning up

To close the current browser window, and exit the driver if the current window was the only one remaining, use close:

close()

To close all windows, and exit the driver, use quit:

quit()

Alternate forms

Although statements like “delete all cookies” fit well with matcher statements like “title should be ("Cheese!")”, they do not fit as well with the simple method call form of assertions. If you prefer, you can avoid operator notation and instead use alternatives that take the form of plain-old method calls. Here's an example:

goTo("http://www.google.com")
clickOn("q")
textField("q").value = "Cheese!"
submit()
// Google's search is rendered dynamically with JavaScript.
eventually(assert(pageTitle === "Cheese! - Google Search"))

Here's a table showing the complete list of alternatives:

operator notationmethod call
go to (host + "index.html") goTo(host + "index.html")
click on "aButton" clickOn("aButton")
switch to activeElement switchTo(activeElement)
add cookie ("cookie_name", "cookie_value") addCookie("cookie_name", "cookie_value")
delete cookie "cookie_name" deleteCookie("cookie_name")
delete all cookies deleteAllCookies()
capture to "MyScreenShot" captureTo("MyScreenShot")

Source
WebBrowser.scala
Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. WebBrowser
  2. AnyRef
  3. 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]

    This class supports switching to the currently active element in ScalaTest's Selenium DSL.

  2. final class AlertTarget extends SwitchTarget[Alert]

    This class supports switching to the alert box in ScalaTest's Selenium DSL.

  3. final class Checkbox extends Element

    This class is part of ScalaTest's Selenium DSL.

  4. case class ClassNameQuery(queryString: String) extends Query with Product with Serializable

    A class name query.

  5. final class ColorField extends Element with ValueElement

    This class is part of ScalaTest's Selenium DSL.

  6. class CookiesNoun extends AnyRef

    This class is part of the ScalaTest's Selenium DSL.

  7. case class CssSelectorQuery(queryString: String) extends Query with Product with Serializable

    A CSS selector query.

  8. final class DateField extends Element with ValueElement

    This class is part of ScalaTest's Selenium DSL.

  9. final class DateTimeField extends Element with ValueElement

    This class is part of ScalaTest's Selenium DSL.

  10. final class DateTimeLocalField extends Element with ValueElement

    This class is part of ScalaTest's Selenium DSL.

  11. final class DefaultContentTarget extends SwitchTarget[WebDriver]

    This class supports switching to the default content in ScalaTest's Selenium DSL.

  12. case class Dimension(width: Int, height: Int) extends Product with Serializable

    A dimension containing the width and height of a screen element.

  13. sealed trait Element extends AnyRef

    Wrapper class for a Selenium WebElement.

  14. final class EmailField extends Element with ValueElement

    This class is part of ScalaTest's Selenium DSL.

  15. final class FrameElementTarget extends SwitchTarget[WebDriver]

    This class supports switching to a frame by element in ScalaTest's Selenium DSL.

  16. final class FrameIndexTarget extends SwitchTarget[WebDriver]

    This class supports switching to a frame by index in ScalaTest's Selenium DSL.

  17. final class FrameNameOrIdTarget extends SwitchTarget[WebDriver]

    This class supports switching to a frame by name or ID in ScalaTest's Selenium DSL.

  18. final class FrameWebElementTarget extends SwitchTarget[WebDriver]

    This class supports switching to a frame by web element in ScalaTest's Selenium DSL.

  19. case class IdQuery(queryString: String) extends Query with Product with Serializable

    An ID query.

  20. case class LinkTextQuery(queryString: String) extends Query with Product with Serializable

    A link text query.

  21. final class MonthField extends Element with ValueElement

    This class is part of ScalaTest's Selenium DSL.

  22. class MultiSel extends Element

    This class is part of ScalaTest's Selenium DSL.

  23. class MultiSelOptionSeq extends IndexedSeq[String]

    This class is part of ScalaTest's Selenium DSL.

  24. case class NameQuery(queryString: String) extends Query with Product with Serializable

    A name query.

  25. final class NumberField extends Element with ValueElement

    This class is part of ScalaTest's Selenium DSL.

  26. case class PartialLinkTextQuery(queryString: String) extends Query with Product with Serializable

    A partial link text query.

  27. final class PasswordField extends Element

    This class is part of ScalaTest's Selenium DSL.

  28. case class Point(x: Int, y: Int) extends Product with Serializable

    A point containing an XY screen location.

  29. sealed trait Query extends AnyRef

    This trait is part of ScalaTest's Selenium DSL.

  30. final class RadioButton extends Element

    This class is part of ScalaTest's Selenium DSL.

  31. final class RadioButtonGroup extends AnyRef

    This class is part of ScalaTest's Selenium DSL.

  32. final class RangeField extends Element with ValueElement

    This class is part of ScalaTest's Selenium DSL.

  33. final class SearchField extends Element with ValueElement

    This class is part of ScalaTest's Selenium DSL.

  34. class SingleSel extends Element

    This class is part of ScalaTest's Selenium DSL.

  35. sealed abstract class SwitchTarget[T] extends AnyRef

    This sealed abstract class supports switching in ScalaTest's Selenium DSL.

  36. case class TagNameQuery(queryString: String) extends Query with Product with Serializable

    A tag name query.

  37. final class TelField extends Element with ValueElement

    This class is part of ScalaTest's Selenium DSL.

  38. final class TextArea extends Element

    This class is part of ScalaTest's Selenium DSL.

  39. final class TextField extends Element

    This class is part of ScalaTest's Selenium DSL.

  40. final class TimeField extends Element with ValueElement

    This class is part of ScalaTest's Selenium DSL.

  41. final class UrlField extends Element with ValueElement

    This class is part of ScalaTest's Selenium DSL.

  42. trait ValueElement extends Element

  43. final class WeekField extends Element with ValueElement

    This class is part of ScalaTest's Selenium DSL.

  44. final class WindowTarget extends SwitchTarget[WebDriver]

    This class supports switching to a window by name or handle in ScalaTest's Selenium DSL.

  45. final class WrappedCookie extends AnyRef

    Wrapper class for a Selenium Cookie.

  46. case class XPathQuery(queryString: String) extends Query with Product with Serializable

    An XPath query.

  47. type Page = selenium.Page

    This trait has been moved as separate trait in org.scalatest.selenium package. The deprecated type alias that has been left in its place will be removed in a future version of ScalaTest. Please change any uses of this to org.scalatest.selenium.Page.

    This trait has been moved as separate trait in org.scalatest.selenium package. The deprecated type alias that has been left in its place will be removed in a future version of ScalaTest. Please change any uses of this to org.scalatest.selenium.Page.

    Annotations
    @deprecated
    Deprecated

    Please use org.scalatest.selenium.Page instead.

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: ActiveElementTarget

    This value supports switching to the currently active element in ScalaTest's Selenium DSL.

    This value supports switching to the currently active element in ScalaTest's Selenium DSL. Please see the documentation for WebBrowser for an overview of the Selenium DSL.

    This class is enables the following syntax:

    switch to activeElement
              ^
    

  7. object add

    This object is part of ScalaTest's Selenium DSL.

  8. def addCookie(name: String, value: String, path: String = "/", expiry: Date = null, domain: String = null, secure: Boolean = false)(implicit driver: WebDriver): Unit

    Add cookie in the web browser.

    Add cookie in the web browser. If the cookie's domain name is left blank (default), it is assumed that the cookie is meant for the domain of the current document.

    name

    cookie's name

    value

    cookie's value

    path

    cookie's path

    expiry

    cookie's expiry data

    domain

    cookie's domain name

    secure

    whether this cookie is secured.

    driver

    the WebDriver with which to drive the browser

  9. val alertBox: AlertTarget

    This value supports switching to the alert box in ScalaTest's Selenium DSL.

    This value supports switching to the alert box in ScalaTest's Selenium DSL. Please see the documentation for WebBrowser for an overview of the Selenium DSL.

    This class is enables the following syntax:

    switch to alertBox
              ^
    

  10. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  11. object capture

    This object is part of ScalaTest's Selenium DSL.

  12. def captureTo(fileName: String)(implicit driver: WebDriver): Unit

    Capture screenshot and save it as the specified name (if file name does not end with .

    Capture screenshot and save it as the specified name (if file name does not end with .png, it will be extended automatically) in capture directory, which by default is system property's java.io.tmpdir. You can change capture directory by calling setCaptureDir

    fileName

    screenshot file name, if does not end with .png, it will be extended automatically

  13. def checkbox(queryString: String)(implicit driver: WebDriver): Checkbox

    Finds and returns the first Checkbox selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a Checkbox.

    Finds and returns the first Checkbox selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a Checkbox.

    queryString

    the string with which to search, first by ID then by name

    driver

    the WebDriver with which to drive the browser

    returns

    the Checkbox selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a Checkbox

  14. def checkbox(query: Query)(implicit driver: WebDriver): Checkbox

    Finds and returns the first Checkbox selected by the specified Query, throws TestFailedException if element not found or the found element is not a Checkbox.

    Finds and returns the first Checkbox selected by the specified Query, throws TestFailedException if element not found or the found element is not a Checkbox.

    query

    the Query with which to search

    driver

    the WebDriver with which to drive the browser

    returns

    the Checkbox selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a Checkbox

  15. def className(className: String): ClassNameQuery

    Returns a class name query.

    Returns a class name query.

    This method enables syntax such as the following:

    click on className("???")
             ^
    

  16. object click

    This object is part of ScalaTest's Selenium DSL.

  17. def clickOn(element: Element): Unit

    Click on the specified Element

    Click on the specified Element

    element

    the Element to click on

  18. def clickOn(queryString: String)(implicit driver: WebDriver): Unit

    Click on the first Element selected by the specified string ID or name

    Click on the first Element selected by the specified string ID or name

    queryString

    the string with which to search, first by ID then by name

    driver

    the WebDriver with which to drive the browser

  19. def clickOn(query: Query)(implicit driver: WebDriver): Unit

    Click on the first Element selected by the specified Query

    Click on the first Element selected by the specified Query

    query

    the Query with which to search

    driver

    the WebDriver with which to drive the browser

  20. def clickOn(element: WebElement): Unit

    Click on the specified WebElement

    Click on the specified WebElement

    element

    the WebElement to click on

  21. def clone(): AnyRef

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

    Closes the current browser window, and exits the driver if the current window was the only one remaining.

    Closes the current browser window, and exits the driver if the current window was the only one remaining.

    driver

    the WebDriver with which to drive the browser

  23. def colorField(queryString: String)(implicit driver: WebDriver): ColorField

    Finds and returns the first ColorField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a ColorField.

    Finds and returns the first ColorField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a ColorField.

    queryString

    the string with which to search, first by ID then by name

    driver

    the WebDriver with which to drive the browser

    returns

    the ColorField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a ColorField

  24. def colorField(query: Query)(implicit driver: WebDriver): ColorField

    Finds and returns the first ColorField selected by the specified Query, throws TestFailedException if element not found or the found element is not a ColorField.

    Finds and returns the first ColorField selected by the specified Query, throws TestFailedException if element not found or the found element is not a ColorField.

    query

    the Query with which to search

    driver

    the WebDriver with which to drive the browser

    returns

    the ColorField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a ColorField

  25. def cookie(name: String)(implicit driver: WebDriver): WrappedCookie

    Get a saved cookie from web browser, throws TestFailedException if the cookie does not exist.

    Get a saved cookie from web browser, throws TestFailedException if the cookie does not exist.

    name

    cookie's name

    returns

    a WrappedCookie instance

  26. val cookies: CookiesNoun

    This field supports cookie deletion in ScalaTest's Selenium DSL.

    This field supports cookie deletion in ScalaTest's Selenium DSL. Please see the documentation for WebBrowser for an overview of the Selenium DSL.

    This field enables the following syntax:

    delete all cookies
               ^
    

  27. def cssSelector(cssSelector: String): CssSelectorQuery

    Returns a CSS selector query.

    Returns a CSS selector query.

    This method enables syntax such as the following:

    click on cssSelector("???")
             ^
    

  28. def currentUrl(implicit driver: WebDriver): String

    Returns the URL of the current page.

    Returns the URL of the current page.

    This method invokes getCurrentUrl on the passed WebDriver and returns the result.

    driver

    the WebDriver with which to drive the browser

    returns

    the URL of the current page

  29. def dateField(queryString: String)(implicit driver: WebDriver): DateField

    Finds and returns the first DateField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a DateField.

    Finds and returns the first DateField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a DateField.

    queryString

    the string with which to search, first by ID then by name

    driver

    the WebDriver with which to drive the browser

    returns

    the DateField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a DateField

  30. def dateField(query: Query)(implicit driver: WebDriver): DateField

    Finds and returns the first DateField selected by the specified Query, throws TestFailedException if element not found or the found element is not a DateField.

    Finds and returns the first DateField selected by the specified Query, throws TestFailedException if element not found or the found element is not a DateField.

    query

    the Query with which to search

    driver

    the WebDriver with which to drive the browser

    returns

    the DateField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a DateField

  31. def dateTimeField(queryString: String)(implicit driver: WebDriver): DateTimeField

    Finds and returns the first DateTimeField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a DateTimeField.

    Finds and returns the first DateTimeField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a DateTimeField.

    queryString

    the string with which to search, first by ID then by name

    driver

    the WebDriver with which to drive the browser

    returns

    the DateTimeField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a DateTimeField

  32. def dateTimeField(query: Query)(implicit driver: WebDriver): DateTimeField

    Finds and returns the first DateTimeField selected by the specified Query, throws TestFailedException if element not found or the found element is not a DateTimeField.

    Finds and returns the first DateTimeField selected by the specified Query, throws TestFailedException if element not found or the found element is not a DateTimeField.

    query

    the Query with which to search

    driver

    the WebDriver with which to drive the browser

    returns

    the DateTimeField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a DateTimeField

  33. def dateTimeLocalField(queryString: String)(implicit driver: WebDriver): DateTimeLocalField

    Finds and returns the first DateTimeLocalField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a DateTimeLocalField.

    Finds and returns the first DateTimeLocalField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a DateTimeLocalField.

    queryString

    the string with which to search, first by ID then by name

    driver

    the WebDriver with which to drive the browser

    returns

    the DateTimeLocalField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a DateTimeLocalField

  34. def dateTimeLocalField(query: Query)(implicit driver: WebDriver): DateTimeLocalField

    Finds and returns the first DateTimeLocalField selected by the specified Query, throws TestFailedException if element not found or the found element is not a DateTimeLocalField.

    Finds and returns the first DateTimeLocalField selected by the specified Query, throws TestFailedException if element not found or the found element is not a DateTimeLocalField.

    query

    the Query with which to search

    driver

    the WebDriver with which to drive the browser

    returns

    the DateTimeLocalField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a DateTimeLocalField

  35. val defaultContent: DefaultContentTarget

    This value supports switching to the default content in ScalaTest's Selenium DSL.

    This value supports switching to the default content in ScalaTest's Selenium DSL. Please see the documentation for WebBrowser for an overview of the Selenium DSL.

    This class is enables the following syntax:

    switch to defaultContent
              ^
    

  36. object delete

    This object is part of ScalaTest's Selenium DSL.

  37. def deleteAllCookies()(implicit driver: WebDriver): Unit

    Delete all cookies in the current domain from web browser.

    Delete all cookies in the current domain from web browser.

    driver

    the WebDriver with which to drive the browser

  38. def deleteCookie(name: String)(implicit driver: WebDriver): Unit

    Delete cookie with the specified name from web browser, throws TestFailedException if the specified cookie does not exists.

    Delete cookie with the specified name from web browser, throws TestFailedException if the specified cookie does not exists.

    name

    cookie's name

    driver

    the WebDriver with which to drive the browser

  39. def emailField(queryString: String)(implicit driver: WebDriver): EmailField

    Finds and returns the first EmailField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a EmailField.

    Finds and returns the first EmailField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a EmailField.

    queryString

    the string with which to search, first by ID then by name

    driver

    the WebDriver with which to drive the browser

    returns

    the EmailField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a EmailField

  40. def emailField(query: Query)(implicit driver: WebDriver): EmailField

    Finds and returns the first EmailField selected by the specified Query, throws TestFailedException if element not found or the found element is not a EmailField.

    Finds and returns the first EmailField selected by the specified Query, throws TestFailedException if element not found or the found element is not a EmailField.

    query

    the Query with which to search

    driver

    the WebDriver with which to drive the browser

    returns

    the EmailField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a EmailField

  41. def enter(value: String)(implicit driver: WebDriver): Unit

    Clears the current active TextField or TextArea, and presses the passed keys.

    Clears the current active TextField or TextArea, and presses the passed keys. Throws TestFailedException if current active is not TextField or TextArea.

    value

    keys to press in current active TextField or TextArea

  42. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  44. def executeAsyncScript(script: String, args: AnyRef*)(implicit driver: WebDriver): AnyRef

    Executes an asynchronous piece of JavaScript in the context of the currently selected frame or window.

    Executes an asynchronous piece of JavaScript in the context of the currently selected frame or window. Unlike executing synchronous JavaScript, scripts executed with this method must explicitly signal they are finished by invoking the provided callback. This callback is always injected into the executed function as the last argument.

    The first argument passed to the callback function will be used as the script's result. This value will be handled as follows:

    • For an HTML element, this method returns a WebElement
    • For a number, a Long is returned
    • For a boolean, a Boolean is returned
    • For all other cases, a String is returned
    • For an array, return a List<Object> with each object following the rules above. We support nested lists
    • Unless the value is null or there is no return value, in which null is returned

    Script arguments must be a number, boolean, String, WebElement, or a List of any combination of these. An exception will be thrown if the arguments do not meet these criteria. The arguments will be made available to the JavaScript via the "arguments" variable. (Note that although this behavior is specified by Selenium's JavascriptExecutor Javadoc, it may still be possible for the underlying JavascriptExecutor implementation to return an objects of other types. For example, HtmlUnit has been observed to return a java.util.Map for a Javascript object.)

    script

    the JavaScript to execute

    args

    the arguments to the script, may be empty

    returns

    One of Boolean, Long, String, List, WebElement, or null (following Selenium's JavascriptExecutor Javadoc)

  45. def executeScript[T](script: String, args: AnyRef*)(implicit driver: WebDriver): AnyRef

    Executes JavaScript in the context of the currently selected frame or window.

    Executes JavaScript in the context of the currently selected frame or window. The script fragment provided will be executed as the body of an anonymous function.

    Within the script, you can use document to refer to the current document. Local variables will not be available once the script has finished executing, but global variables will.

    To return a value (e.g. if the script contains a return statement), then the following steps will be taken:

    • For an HTML element, this method returns a WebElement
    • For a decimal, a Double is returned
    • For a non-decimal number, a Long is returned
    • For a boolean, a Boolean is returned
    • For all other cases, a String is returned
    • For an array, return a List<Object> with each object following the rules above. We support nested lists
    • Unless the value is null or there is no return value, in which null is returned

    Script arguments must be a number, boolean, String, WebElement, or a List of any combination of these. An exception will be thrown if the arguments do not meet these criteria. The arguments will be made available to the JavaScript via the "arguments" variable. (Note that although this behavior is specified by Selenium's JavascriptExecutor Javadoc, it may still be possible for the underlying JavascriptExecutor implementation to return an objects of other types. For example, HtmlUnit has been observed to return a java.util.Map for a Javascript object.)

    script

    the JavaScript to execute

    args

    the arguments to the script, may be empty

    returns

    One of Boolean, Long, String, List or WebElement. Or null (following Selenium's JavascriptExecutor Javadoc)

  46. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  47. def find(queryString: String)(implicit driver: WebDriver): Option[Element]

    Finds and returns the first element selected by the specified string ID or name, wrapped in a Some, or None if no element is selected.

    Finds and returns the first element selected by the specified string ID or name, wrapped in a Some, or None if no element is selected. YYY

    This method will try to lookup by id first. If it cannot find any element with an id equal to the specified queryString, it will then try lookup by name.

    The class of the Element returned will be a subtype of Element if appropriate. For example, if the query selects a text field, the class of the returned Element will be TextField.

    queryString

    the string with which to search, first by ID then by name

    driver

    the WebDriver with which to drive the browser

    returns

    the Element selected by this query, wrapped in a Some, or None if no Element is selected

  48. def find(query: Query)(implicit driver: WebDriver): Option[Element]

    Finds and returns the first element selected by the specified Query, wrapped in a Some, or None if no element is selected.

    Finds and returns the first element selected by the specified Query, wrapped in a Some, or None if no element is selected.

    The class of the Element returned will be a subtype of Element if appropriate. For example, if the query selects a text field, the class of the returned Element will be TextField.

    query

    the Query with which to search

    driver

    the WebDriver with which to drive the browser

    returns

    the Element selected by this query, wrapped in a Some, or None if no Element is selected

  49. def findAll(queryString: String)(implicit driver: WebDriver): Iterator[Element]

    Returns an Iterator over all Elements selected by the specified string ID or name

    Returns an Iterator over all Elements selected by the specified string ID or name

    This method will try to lookup by id first. If it cannot find any element with an id equal to the specified queryString, it will then try lookup by name.

    The class of the Element returned will be a subtype of Element if appropriate. For example, if the query selects a text field, the class of the returned Element will be TextField.

    queryString

    the string with which to search, first by ID then by name

    driver

    the WebDriver with which to drive the browser

    returns

    the Iterator over all Elements selected by this query

  50. def findAll(query: Query)(implicit driver: WebDriver): Iterator[Element]

    Returns an Iterator over all Elements selected by this query.

    Returns an Iterator over all Elements selected by this query.

    The class of the Elements produced by the returned Iterator will be a subtypes of Element if appropriate. For example, if an Elementrepresenting a text field is returned by the Iterator, the class of the returned Element will be TextField.

    If no Elements are selected by this query, this method will return an empty Iterator will be returned.

    query

    the Query with which to search

    driver

    the WebDriver with which to drive the browser

    returns

    the Iterator over all Elements selected by this query

  51. def frame(query: Query)(implicit driver: WebDriver): FrameWebElementTarget

    This method supports switching to a frame by Query in ScalaTest's Selenium DSL.

    This method supports switching to a frame by Query in ScalaTest's Selenium DSL. Please see the documentation for WebBrowser for an overview of the Selenium DSL.

    query

    Query used to select WebElement which is contained in the frame to switch to

    returns

    a FrameWebElementTarget instance

  52. def frame(element: Element): FrameElementTarget

    This method supports switching to a frame by element in ScalaTest's Selenium DSL.

    This method supports switching to a frame by element in ScalaTest's Selenium DSL. Please see the documentation for WebBrowser for an overview of the Selenium DSL.

    element

    Element which is contained in the frame to switch to

    returns

    a FrameElementTarget instance

  53. def frame(element: WebElement): FrameWebElementTarget

    This method supports switching to a frame by web element in ScalaTest's Selenium DSL.

    This method supports switching to a frame by web element in ScalaTest's Selenium DSL. Please see the documentation for WebBrowser for an overview of the Selenium DSL.

    element

    WebElement which is contained in the frame to switch to

    returns

    a FrameWebElementTarget instance

  54. def frame(nameOrId: String): FrameNameOrIdTarget

    This method supports switching to a frame by name or ID in ScalaTest's Selenium DSL.

    This method supports switching to a frame by name or ID in ScalaTest's Selenium DSL. Please see the documentation for WebBrowser for an overview of the Selenium DSL.

    This class is enables the following syntax:

    switch to frame("name")
              ^
    

    nameOrId

    name or ID of the frame to switch to

    returns

    a FrameNameOrIdTarget instance

  55. def frame(index: Int): FrameIndexTarget

    This method supports switching to a frame by index in ScalaTest's Selenium DSL.

    This method supports switching to a frame by index in ScalaTest's Selenium DSL. Please see the documentation for WebBrowser for an overview of the Selenium DSL.

    This class is enables the following syntax:

    switch to frame(0)
              ^
    

    index

    the index of frame to switch to

    returns

    a FrameIndexTarget instance

  56. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  57. object go

    This object is part of ScalaTest's Selenium DSL.

  58. def goBack()(implicit driver: WebDriver): Unit

    Go back to previous page.

    Go back to previous page.

    driver

    the WebDriver with which to drive the browser

  59. def goForward()(implicit driver: WebDriver): Unit

    Go forward to next page.

    Go forward to next page.

    driver

    the WebDriver with which to drive the browser

  60. def goTo(page: Page)(implicit driver: WebDriver): Unit

    Sends the browser to the URL contained in the passed Page object.

    Sends the browser to the URL contained in the passed Page object.

    Here's an example:

    goTo(homePage)
    

    page

    the Page object containing the URL to which to send the browser

    driver

    the WebDriver with which to drive the browser

  61. def goTo(url: String)(implicit driver: WebDriver): Unit

    Sends the browser to the passed URL.

    Sends the browser to the passed URL.

    Here's an example:

    goTo("http://www.artima.com")
    

    url

    the URL to which to send the browser

    driver

    the WebDriver with which to drive the browser

  62. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  63. def id(elementId: String): IdQuery

    Returns an ID query.

    Returns an ID query.

    This method enables syntax such as the following:

    click on id("q")
             ^
    

  64. def implicitlyWait(timeout: Span)(implicit driver: WebDriver): Unit

    Sets the amount of time the driver should wait when searching for an element that is not immediately present.

    Sets the amount of time the driver should wait when searching for an element that is not immediately present.

    When searching for requested elements, Selenium will poll the page until the requested element (or at least one of multiple requested elements) is found or this "implicit wait" timeout has expired. If the timeout expires, Selenium will throw NoSuchElementException, which ScalaTest's Selenium DSL will wrap in a TestFailedException.

    You can alternatively set this timeout to zero and use ScalaTest's eventually construct.

    This method invokes manage.timeouts.implicitlyWait on the passed WebDriver. See the documentation of Selenium's WebDriver#Timeouts interface for more information.

    timeout

    the time span to implicitly wait

    driver

    the WebDriver on which to set the implicit wait

  65. final def isInstanceOf[T0]: Boolean

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

    Check if screenshot is supported

    Check if screenshot is supported

    driver

    the WebDriver with which to drive the browser

    returns

    true if screenshot is supported, false otherwise

  67. def linkText(linkText: String): LinkTextQuery

    Returns a link text query.

    Returns a link text query.

    This method enables syntax such as the following:

    click on linkText("???")
             ^
    

  68. def monthField(queryString: String)(implicit driver: WebDriver): MonthField

    Finds and returns the first MonthField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a MonthField.

    Finds and returns the first MonthField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a MonthField.

    queryString

    the string with which to search, first by ID then by name

    driver

    the WebDriver with which to drive the browser

    returns

    the MonthField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a MonthField

  69. def monthField(query: Query)(implicit driver: WebDriver): MonthField

    Finds and returns the first MonthField selected by the specified Query, throws TestFailedException if element not found or the found element is not a MonthField.

    Finds and returns the first MonthField selected by the specified Query, throws TestFailedException if element not found or the found element is not a MonthField.

    query

    the Query with which to search

    driver

    the WebDriver with which to drive the browser

    returns

    the MonthField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a MonthField

  70. def multiSel(queryString: String)(implicit driver: WebDriver): MultiSel

    Finds and returns the first MultiSel selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a MultiSel.

    Finds and returns the first MultiSel selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a MultiSel.

    queryString

    the string with which to search, first by ID then by name

    driver

    the WebDriver with which to drive the browser

    returns

    the MultiSel selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a MultiSel

  71. def multiSel(query: Query)(implicit driver: WebDriver): MultiSel

    Finds and returns the first MultiSel selected by the specified Query, throws TestFailedException if element not found or the found element is not a MultiSel.

    Finds and returns the first MultiSel selected by the specified Query, throws TestFailedException if element not found or the found element is not a MultiSel.

    query

    the Query with which to search

    driver

    the WebDriver with which to drive the browser

    returns

    the MultiSel selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a MultiSel

  72. def name(elementName: String): NameQuery

    Returns a name query.

    Returns a name query.

    This method enables syntax such as the following:

    click on name("q")
             ^
    

  73. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  76. def numberField(queryString: String)(implicit driver: WebDriver): NumberField

    Finds and returns the first NumberField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a NumberField.

    Finds and returns the first NumberField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a NumberField.

    queryString

    the string with which to search, first by ID then by name

    driver

    the WebDriver with which to drive the browser

    returns

    the NumberField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a NumberField

  77. def numberField(query: Query)(implicit driver: WebDriver): NumberField

    Finds and returns the first NumberField selected by the specified Query, throws TestFailedException if element not found or the found element is not a NumberField.

    Finds and returns the first NumberField selected by the specified Query, throws TestFailedException if element not found or the found element is not a NumberField.

    query

    the Query with which to search

    driver

    the WebDriver with which to drive the browser

    returns

    the NumberField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a NumberField

  78. def pageSource(implicit driver: WebDriver): String

    Returns the source of the current page.

    Returns the source of the current page.

    This method invokes getPageSource on the passed WebDriver and returns the result.

    driver

    the WebDriver with which to drive the browser

    returns

    the source of the current page

  79. def pageTitle(implicit driver: WebDriver): String

    Returns the title of the current page, or the empty string if the current page has no title.

    Returns the title of the current page, or the empty string if the current page has no title.

    driver

    the WebDriver with which to drive the browser

    returns

    the current page's title, or the empty string if the current page has no title

  80. def partialLinkText(partialLinkText: String): PartialLinkTextQuery

    Returns a partial link text query.

    Returns a partial link text query.

    This method enables syntax such as the following:

    click on partialLinkText("???")
             ^
    

  81. def pressKeys(value: String)(implicit driver: WebDriver): Unit

    Press the passed keys to current active element.

    Press the passed keys to current active element.

    value

    keys to press in current active element

  82. def pwdField(queryString: String)(implicit driver: WebDriver): PasswordField

    Finds and returns the first PasswordField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a PasswordField.

    Finds and returns the first PasswordField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a PasswordField.

    queryString

    the string with which to search, first by ID then by name

    driver

    the WebDriver with which to drive the browser

    returns

    the PasswordField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a PasswordField

  83. def pwdField(query: Query)(implicit driver: WebDriver): PasswordField

    Finds and returns the first PasswordField selected by the specified Query, throws TestFailedException if element not found or the found element is not a PasswordField.

    Finds and returns the first PasswordField selected by the specified Query, throws TestFailedException if element not found or the found element is not a PasswordField.

    query

    the Query with which to search

    driver

    the WebDriver with which to drive the browser

    returns

    the PasswordField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a PasswordField

  84. def quit()(implicit driver: WebDriver): Unit

    Close all windows, and exit the driver.

    Close all windows, and exit the driver.

    driver

    the WebDriver on which to quit.

  85. def radioButton(queryString: String)(implicit driver: WebDriver): RadioButton

    Finds and returns the first RadioButton selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a RadioButton.

    Finds and returns the first RadioButton selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a RadioButton.

    queryString

    the string with which to search, first by ID then by name

    driver

    the WebDriver with which to drive the browser

    returns

    the RadioButton selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a RadioButton

  86. def radioButton(query: Query)(implicit driver: WebDriver): RadioButton

    Finds and returns the first RadioButton selected by the specified Query, throws TestFailedException if element not found or the found element is not a RadioButton.

    Finds and returns the first RadioButton selected by the specified Query, throws TestFailedException if element not found or the found element is not a RadioButton.

    query

    the Query with which to search

    driver

    the WebDriver with which to drive the browser

    returns

    the RadioButton selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a RadioButton

  87. def radioButtonGroup(groupName: String)(implicit driver: WebDriver): RadioButtonGroup

    Finds and returns RadioButtonGroup selected by the specified group name, throws TestFailedException if no element with the specified group name is found, or found any element with the specified group name but not a RadioButton

    Finds and returns RadioButtonGroup selected by the specified group name, throws TestFailedException if no element with the specified group name is found, or found any element with the specified group name but not a RadioButton

    groupName

    the group name with which to search

    driver

    the WebDriver with which to drive the browser

    returns

    the RadioButtonGroup selected by this query

    Exceptions thrown
    TestFailedException

    if no element with the specified group name is found, or found any element with the specified group name but not a RadioButton

  88. def rangeField(queryString: String)(implicit driver: WebDriver): RangeField

    Finds and returns the first RangeField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a RangeField.

    Finds and returns the first RangeField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a RangeField.

    queryString

    the string with which to search, first by ID then by name

    driver

    the WebDriver with which to drive the browser

    returns

    the RangeField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a RangeField

  89. def rangeField(query: Query)(implicit driver: WebDriver): RangeField

    Finds and returns the first RangeField selected by the specified Query, throws TestFailedException if element not found or the found element is not a RangeField.

    Finds and returns the first RangeField selected by the specified Query, throws TestFailedException if element not found or the found element is not a RangeField.

    query

    the Query with which to search

    driver

    the WebDriver with which to drive the browser

    returns

    the RangeField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a RangeField

  90. def reloadPage()(implicit driver: WebDriver): Unit

    Reload the current page.

    Reload the current page.

    driver

    the WebDriver with which to drive the browser

  91. def searchField(queryString: String)(implicit driver: WebDriver): SearchField

    Finds and returns the first SearchField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a SearchField.

    Finds and returns the first SearchField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a SearchField.

    queryString

    the string with which to search, first by ID then by name

    driver

    the WebDriver with which to drive the browser

    returns

    the SearchField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a SearchField

  92. def searchField(query: Query)(implicit driver: WebDriver): SearchField

    Finds and returns the first SearchField selected by the specified Query, throws TestFailedException if element not found or the found element is not a SearchField.

    Finds and returns the first SearchField selected by the specified Query, throws TestFailedException if element not found or the found element is not a SearchField.

    query

    the Query with which to search

    driver

    the WebDriver with which to drive the browser

    returns

    the SearchField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a SearchField

  93. def setCaptureDir(targetDirPath: String): Unit

    Set capture directory.

    Set capture directory.

    targetDirPath

    the path of capture directory

  94. def setScriptTimeout(timeout: Span)(implicit driver: WebDriver): Unit

    Sets the amount of time to wait for an asynchronous script to finish execution before throwing an exception.

    Sets the amount of time to wait for an asynchronous script to finish execution before throwing an exception.

    timeout

    the amount of time to wait for an asynchronous script to finish execution before throwing exception

  95. def singleSel(queryString: String)(implicit driver: WebDriver): SingleSel

    Finds and returns the first SingleSel selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a SingleSel.

    Finds and returns the first SingleSel selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a SingleSel.

    queryString

    the string with which to search, first by ID then by name

    driver

    the WebDriver with which to drive the browser

    returns

    the SingleSel selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a SingleSel

  96. def singleSel(query: Query)(implicit driver: WebDriver): SingleSel

    Finds and returns the first SingleSel selected by the specified Query, throws TestFailedException if element not found or the found element is not a SingleSel.

    Finds and returns the first SingleSel selected by the specified Query, throws TestFailedException if element not found or the found element is not a SingleSel.

    query

    the Query with which to search

    driver

    the WebDriver with which to drive the browser

    returns

    the SingleSel selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a SingleSel

  97. def submit()(implicit driver: WebDriver): Unit

    Submit the form where current active element belongs to, and throws TestFailedException if current active element is not in a form or underlying WebDriver encounters problem when submitting the form.

    Submit the form where current active element belongs to, and throws TestFailedException if current active element is not in a form or underlying WebDriver encounters problem when submitting the form. If this causes the current page to change, this call will block until the new page is loaded.

    driver

    the WebDriver with which to drive the browser

    Exceptions thrown
    TestFailedException

    if current active element is not in a form or underlying WebDriver encounters problem when submitting the form.

  98. object switch

    This object is part of ScalaTest's Selenium DSL.

  99. def switchTo[T](target: SwitchTarget[T])(implicit driver: WebDriver): T

    Switch to the specified SwitchTarget

    Switch to the specified SwitchTarget

    target

    the SwitchTarget to switch to

    driver

    the WebDriver with which to drive the browser

    returns

    instance of specified SwitchTarget's type parameter

  100. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  101. def tagName(tagName: String): TagNameQuery

    Returns a tag name query.

    Returns a tag name query.

    This method enables syntax such as the following:

    click on tagName("???")
             ^
    

  102. def telField(queryString: String)(implicit driver: WebDriver): TelField

    Finds and returns the first TelField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a TelField.

    Finds and returns the first TelField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a TelField.

    queryString

    the string with which to search, first by ID then by name

    driver

    the WebDriver with which to drive the browser

    returns

    the TelField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a TelField

  103. def telField(query: Query)(implicit driver: WebDriver): TelField

    Finds and returns the first TelField selected by the specified Query, throws TestFailedException if element not found or the found element is not a TelField.

    Finds and returns the first TelField selected by the specified Query, throws TestFailedException if element not found or the found element is not a TelField.

    query

    the Query with which to search

    driver

    the WebDriver with which to drive the browser

    returns

    the TelField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a TelField

  104. def textArea(queryString: String)(implicit driver: WebDriver): TextArea

    Finds and returns the first TextArea selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a TextArea.

    Finds and returns the first TextArea selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a TextArea.

    queryString

    the string with which to search, first by ID then by name

    driver

    the WebDriver with which to drive the browser

    returns

    the TextArea selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a TextArea

  105. def textArea(query: Query)(implicit driver: WebDriver): TextArea

    Finds and returns the first TextArea selected by the specified Query, throws TestFailedException if element not found or the found element is not a TextArea.

    Finds and returns the first TextArea selected by the specified Query, throws TestFailedException if element not found or the found element is not a TextArea.

    query

    the Query with which to search

    driver

    the WebDriver with which to drive the browser

    returns

    the TextArea selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a TextArea

  106. def textField(queryString: String)(implicit driver: WebDriver): TextField

    Finds and returns the first TextField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a TextField.

    Finds and returns the first TextField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a TextField.

    queryString

    the string with which to search, first by ID then by name

    driver

    the WebDriver with which to drive the browser

    returns

    the TextField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a TextField

  107. def textField(query: Query)(implicit driver: WebDriver): TextField

    Finds and returns the first TextField selected by the specified Query, throws TestFailedException if element not found or the found element is not a TextField.

    Finds and returns the first TextField selected by the specified Query, throws TestFailedException if element not found or the found element is not a TextField.

    query

    the Query with which to search

    driver

    the WebDriver with which to drive the browser

    returns

    the TextField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a TextField

  108. def timeField(queryString: String)(implicit driver: WebDriver): TimeField

    Finds and returns the first TimeField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a TimeField.

    Finds and returns the first TimeField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a TimeField.

    queryString

    the string with which to search, first by ID then by name

    driver

    the WebDriver with which to drive the browser

    returns

    the TimeField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a TimeField

  109. def timeField(query: Query)(implicit driver: WebDriver): TimeField

    Finds and returns the first TimeField selected by the specified Query, throws TestFailedException if element not found or the found element is not a TimeField.

    Finds and returns the first TimeField selected by the specified Query, throws TestFailedException if element not found or the found element is not a TimeField.

    query

    the Query with which to search

    driver

    the WebDriver with which to drive the browser

    returns

    the TimeField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a TimeField

  110. def toString(): String

    Definition Classes
    AnyRef → Any
  111. def urlField(queryString: String)(implicit driver: WebDriver): UrlField

    Finds and returns the first UrlField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a UrlField.

    Finds and returns the first UrlField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a UrlField.

    queryString

    the string with which to search, first by ID then by name

    driver

    the WebDriver with which to drive the browser

    returns

    the UrlField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a UrlField

  112. def urlField(query: Query)(implicit driver: WebDriver): UrlField

    Finds and returns the first UrlField selected by the specified Query, throws TestFailedException if element not found or the found element is not a UrlField.

    Finds and returns the first UrlField selected by the specified Query, throws TestFailedException if element not found or the found element is not a UrlField.

    query

    the Query with which to search

    driver

    the WebDriver with which to drive the browser

    returns

    the UrlField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a UrlField

  113. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()
  116. def weekField(queryString: String)(implicit driver: WebDriver): WeekField

    Finds and returns the first WeekField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a WeekField.

    Finds and returns the first WeekField selected by the specified string ID or name, throws TestFailedException if element not found or the found element is not a WeekField.

    queryString

    the string with which to search, first by ID then by name

    driver

    the WebDriver with which to drive the browser

    returns

    the WeekField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a WeekField

  117. def weekField(query: Query)(implicit driver: WebDriver): WeekField

    Finds and returns the first WeekField selected by the specified Query, throws TestFailedException if element not found or the found element is not a WeekField.

    Finds and returns the first WeekField selected by the specified Query, throws TestFailedException if element not found or the found element is not a WeekField.

    query

    the Query with which to search

    driver

    the WebDriver with which to drive the browser

    returns

    the WeekField selected by this query

    Exceptions thrown
    TestFailedException

    if element not found or found element is not a WeekField

  118. def window(nameOrHandle: String): WindowTarget

    This class supports switching to a window by name or handle in ScalaTest's Selenium DSL.

    This class supports switching to a window by name or handle in ScalaTest's Selenium DSL. Please see the documentation for WebBrowser for an overview of the Selenium DSL.

    This class is enables the following syntax:

    switch to window(windowHandle)
              ^
    

    nameOrHandle

    name or window handle of the window to switch to

    returns

    a WindowTarget instance

  119. def windowHandle(implicit driver: WebDriver): String

    Get an opaque handle to current active window that uniquely identifies it within the implicit driver instance.

    Get an opaque handle to current active window that uniquely identifies it within the implicit driver instance.

    driver

    the WebDriver with which to drive the browser

  120. def windowHandles(implicit driver: WebDriver): Set[String]

    Get a set of window handles which can be used to iterate over all open windows

    Get a set of window handles which can be used to iterate over all open windows

    driver

    the WebDriver with which to drive the browser

  121. def withScreenshot(fun: ⇒ Unit)(implicit driver: WebDriver): Unit

    Execute the given function, if ModifiableMessage exception is thrown from the given function, a screenshot will be captured automatically into capture directory, which by default is system property's java.

    Execute the given function, if ModifiableMessage exception is thrown from the given function, a screenshot will be captured automatically into capture directory, which by default is system property's java.io.tmpdir. You can change capture directory by calling setCaptureDir

    fun

    function to execute

  122. def xpath(xpath: String): XPathQuery

    Returns an XPath query.

    Returns an XPath query.

    This method enables syntax such as the following:

    click on xpath("???")
             ^
    

Inherited from AnyRef

Inherited from Any

Ungrouped