Package com.xceptance.xlt.api.engine.scripting

# Class AbstractWebDriverModule

java.lang.Object
com.xceptance.xlt.api.engine.scripting.AbstractWebDriverModule

All Implemented Interfaces:
  `ScriptCommands`

public abstract class AbstractWebDriverModule extends Object implements ScriptCommands
Base class of all exported script modules that rely on the `WebDriver` API.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractWebDriverModule()`
  Default constructor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addSelection(String select, String option)`
  Adds the given option of the given select to the current selection.
  `void`
  `assertAttribute(String attributeLocator, String textPattern)`
  Asserts that the value of the attribute identified by the given attribute locator matches the given text pattern.
  `void`
  `assertAttribute(String elementLocator, String attributeName, String textPattern)`
  Asserts that the value of the attribute identified by the given element locator and attribute name matches the given text pattern.
  `void`
  `assertChecked(String elementLocator)`
  Asserts that the given checkbox/radio button is checked.
  `void`
  `assertClass(String elementLocator, String clazzString)`
  Asserts that the given element has the given class(es).
  `void`
  `assertElementCount(String elementLocator, int count)`
  Asserts that the number of elements found by using the given element locator is equal to the given count.
  `void`
  `assertElementCount(String elementLocator, String count)`
  Asserts that the number of elements found by using the given element locator is equal to the given count.
  `void`
  `assertElementPresent(String elementLocator)`
  Asserts that the given element is present.
  `void`
  `assertEval(String expression, String textPattern)`
  Asserts that evaluating the given expression matches the given text pattern.
  `void`
  `assertLoadTime(long loadTime)`
  Asserts that the time needed to load a page does not exceed the given value.
  `void`
  `assertLoadTime(String loadTime)`
  Asserts that the time needed to load a page does not exceed the given value.
  `void`
  `assertNotAttribute(String attributeLocator, String textPattern)`
  Asserts that the value of the attribute identified by the given attribute locator does NOT match the given text pattern.
  `void`
  `assertNotAttribute(String elementLocator, String attributeName, String textPattern)`
  Asserts that the value of the attribute identified by the given element locator and attribute name does NOT match the given text pattern.
  `void`
  `assertNotChecked(String elementLocator)`
  Asserts that the given checkbox/radio button is unchecked.
  `void`
  `assertNotClass(String elementLocator, String clazzString)`
  Asserts that the given element doesn't have the given class(es).
  `void`
  `assertNotElementCount(String elementLocator, int count)`
  Asserts that the number of elements found by using the given element locator is unequal to the given count.
  `void`
  `assertNotElementCount(String elementLocator, String count)`
  Asserts that the number of elements found by using the given element locator is unequal to the given count.
  `void`
  `assertNotElementPresent(String elementLocator)`
  Asserts that the given element is not present.
  `void`
  `assertNotEval(String expression, String textPattern)`
  Asserts that evaluating the given expression does NOT match the given text pattern.
  `void`
  `assertNotSelectedId(String selectLocator, String idPattern)`
  Asserts that no ID of all selected options of the given select element matches the given pattern.
  `void`
  `assertNotSelectedIndex(String selectLocator, String indexPattern)`
  Asserts that the option of the given select element at the given index is not selected.
  `void`
  `assertNotSelectedLabel(String selectLocator, String labelPattern)`
  Asserts that no label of all selected options of the given select element matches the given pattern.
  `void`
  `assertNotSelectedValue(String selectLocator, String valuePattern)`
  Asserts that no value of all selected options of the given select element matches the given pattern.
  `void`
  `assertNotStyle(String elementLocator, String styleText)`
  Asserts that the effective style of the element identified by the given element locator does NOT match the given style.
  `void`
  `assertNotText(String elementLocator, String text)`
  Asserts that the embedded text of the given element does not contain the given text.
  `void`
  `assertNotTextPresent(String text)`
  Asserts that the given text is not present on the page.
  `void`
  `assertNotTitle(String title)`
  Asserts that the page title does not match the given title.
  `void`
  `assertNotValue(String elementLocator, String value)`
  Asserts that the value of the given element doesn't match the given value.
  `void`
  `assertNotVisible(String elementLocator)`
  Asserts that the given element is invisible.
  `void`
  `assertNotXpathCount(String xpath, int count)`
  Asserts that the number of elements locatable by the given XPath expression is not equal to the given count.
  `void`
  `assertNotXpathCount(String xpath, String count)`
  Asserts that the number of elements locatable by the given XPath expression is not equal to the given count.
  `void`
  `assertPageSize(long pageSize)`
  Asserts that the size of the actual page (including images etc.) does not exceed the given value.
  `void`
  `assertPageSize(String pageSize)`
  Asserts that the size of the actual page (including images etc.) does not exceed the given value.
  `void`
  `assertSelectedId(String selectLocator, String idPattern)`
  Asserts that the ID of at least one selected option of the given select element matches the given pattern.
  `void`
  `assertSelectedIndex(String selectLocator, String indexPattern)`
  Asserts that the option of the given select element at the given index is selected.
  `void`
  `assertSelectedLabel(String selectLocator, String labelPattern)`
  Asserts that the label of at least one selected option of the given select element matches the given pattern.
  `void`
  `assertSelectedValue(String selectLocator, String valuePattern)`
  Asserts that the value of at least one selected option of the given select element matches the given pattern.
  `void`
  `assertStyle(String elementLocator, String styleText)`
  Asserts that the effective style of the element identified by the given element locator matches the given style.
  `void`
  `assertText(String elementLocator, String text)`
  Asserts that the text embedded by the given element contains the given text.
  `void`
  `assertTextPresent(String text)`
  Asserts that the given text is present.
  `void`
  `assertTitle(String title)`
  Asserts that the given title matches the page title.
  `void`
  `assertValue(String elementLocator, String value)`
  Asserts that the value of the given element matches the given value.
  `void`
  `assertVisible(String elementLocator)`
  Asserts that the given element is visible.
  `void`
  `assertXpathCount(String xpath, int count)`
  Asserts that the number of elements locatable by the given XPath expression is equal to the given count.
  `void`
  `assertXpathCount(String xpath, String count)`
  Asserts that the number of elements locatable by the given XPath expression is equal to the given count.
  `void`
  `check(String elementLocator)`
  Checks/toggles the given element.
  `void`
  `checkAndWait(String elementLocator)`
  Checks/toggles the given element and waits for some activity to complete.
  `void`
  `click(String elementLocator)`
  Clicks the given element.
  `void`
  `clickAndWait(String elementLocator)`
  Clicks the given element and waits for some activity to complete.
  `void`
  `close()`
  Closes the browser.
  `void`
  `contextMenu(String elementLocator)`
  Simulates a right-click on the given element.
  `void`
  `contextMenuAt(String elementLocator, int coordX, int coordY)`
  Simulates a right-click at the given coordinates (relative to the given element).
  `void`
  `contextMenuAt(String elementLocator, String coordinates)`
  Simulates a right-click at the given coordinates (relative to the given element).
  `void`
  `createCookie(String cookie)`
  Creates a new cookie.
  `void`
  `createCookie(String cookie, String options)`
  Creates a new cookie.
  `void`
  `deleteAllVisibleCookies()`
  Removes all cookies visible to the current page.
  `void`
  `deleteCookie(String name)`
  Removes the cookie with the specified name.
  `void`
  `deleteCookie(String name, String options)`
  Removes the cookie with the specified name.
  `protected abstract void`
  `doCommands(String... parameters)`
  Executes this module's commands.
  `void`
  `doubleClick(String elementLocator)`
  Double-clicks the given element.
  `void`
  `doubleClickAndWait(String elementLocator)`
  Double-clicks the given element and waits for some activity to complete.
  `void`
  `echo(String message)`
  Prints the given message to the log.
  `String`
  `evaluate(String jsExpression)`
  Returns the result of evaluating the given JavaScript expression.
  `boolean`
  `evaluatesToTrue(String jsExpression)`
  Returns whether or not the given expression evaluates to `true`.
  `void`
  `execute(String... parameters)`
  Executes this module.
  `WebElement`
  `findElement(String elementLocator)`
  Returns the first element matching the given locator.
  `List<WebElement>`
  `findElements(String elementLocator)`
  Returns all elements that match the given locator.
  `String`
  `getAttribute(String attributeLocator)`
  Returns the value of the given element attribute locator.
  `String`
  `getAttribute(String elementLocator, String attributeName)`
  Returns the value of the given element and attribute.
  `int`
  `getElementCount(String elementLocator)`
  Returns the number of matching elements.
  `String`
  `getPageText()`
  Returns the (visible) text of the current page.
  `String`
  `getText(String elementLocator)`
  Returns the (visible) text of the given element.
  `String`
  `getTitle()`
  Returns the title of the current page.
  `String`
  `getValue(String elementLocator)`
  Returns the value of the given element.
  `protected final WebDriver`
  `getWebDriver()`
  Returns the webdriver instance.
  `int`
  `getXpathCount(String xpath)`
  Returns the number of elements matching the given XPath expression.
  `boolean`
  `hasAttribute(String attributeLocator, String textPattern)`
  Returns whether or not the value of the attribute identified by the given attribute locator matches the given text pattern.
  `boolean`
  `hasAttribute(String elementLocator, String attributeName, String textPattern)`
  Returns whether or not the value of the given element and attribute matches the given text pattern.
  `boolean`
  `hasClass(String elementLocator, String clazz)`
  Returns whether or not the given element has the given class(es).
  `boolean`
  `hasNotClass(String elementLocator, String clazz)`
  Returns whether or not the given element doesn't have the given class(es); that is, its class attribute doesn't contain any of the given class(es).
  `boolean`
  `hasNotStyle(String elementLocator, String style)`
  Returns whether or not the given element doesn't have the given style; that is, none of the given CSS properties must match the element's actual style.
  `boolean`
  `hasStyle(String elementLocator, String style)`
  Returns whether or not the given element has the given style; that is, all of the given CSS properties must match the element's actual style.
  `boolean`
  `hasText(String elementLocator, String textPattern)`
  Checks that the text embedded by the given element contains the given text.
  `boolean`
  `hasTitle(String title)`
  Checks that the given title matches the page title.
  `boolean`
  `hasValue(String elementLocator, String valuePattern)`
  Checks that the value of the given element matches the given value.
  `boolean`
  `isChecked(String elementLocator)`
  Returns whether or not the element identified by the given element locator is checked.
  `boolean`
  `isElementPresent(String elementLocator)`
  Returns whether or not there is an element for the given locator.
  `boolean`
  `isEnabled(String elementLocator)`
  Returns whether or not the given element is enabled.
  `boolean`
  `isEvalMatching(String expression, String textPattern)`
  Returns whether or not the result of evaluating the given expression matches the given text pattern.
  `boolean`
  `isTextPresent(String textPattern)`
  Checks that the given text is present.
  `boolean`
  `isVisible(String elementLocator)`
  Returns whether or not the given element is visible.
  `void`
  `mouseDown(String elementLocator)`
  Presses the left mouse button on an element, but does not release the button yet.
  `void`
  `mouseDownAt(String elementLocator, int coordX, int coordY)`
  Presses the left mouse button at the given coordinates (relative to the given element), but does not release the button yet.
  `void`
  `mouseDownAt(String elementLocator, String coordinates)`
  Presses the left mouse button at the given coordinates (relative to the given element), but does not release the button yet.
  `void`
  `mouseMove(String elementLocator)`
  Moves the mouse to the given element.
  `void`
  `mouseMoveAt(String elementLocator, int coordX, int coordY)`
  Moves the mouse to the given coordinates (relative to the given element).
  `void`
  `mouseMoveAt(String elementLocator, String coordinates)`
  Moves the mouse to the given coordinates (relative to the given element).
  `void`
  `mouseOut(String elementLocator)`
  Moves the mouse out of the element's bounding box.
  `void`
  `mouseOver(String elementLocator)`
  Hovers the mouse over an element.
  `void`
  `mouseUp(String elementLocator)`
  Releases the left mouse button on an element.
  `void`
  `mouseUpAt(String elementLocator, int coordX, int coordY)`
  Releases the left mouse button at the given coordinates (relative to the given element).
  `void`
  `mouseUpAt(String elementLocator, String coordinates)`
  Releases the left mouse button at the given coordinates (relative to the given element).
  `void`
  `open(String pageUrlString)`
  Opens the given URL.
  `void`
  `open(URL url)`
  Opens the given URL.
  `void`
  `pause(long waitingTime)`
  Waits the given time.
  `void`
  `pause(String waitingTime)`
  Waits the given time.
  `void`
  `removeSelection(String select, String option)`
  Removes the given option of the given select from the current selection.
  `String`
  `resolve(String resolvable)`
  Resolves the given string.
  `String`
  `resolveKey(String key)`
  Resolves the given test data key.
  `void`
  `select(String select, String option)`
  Selects the given option of the given select.
  `void`
  `selectAndWait(String select, String option)`
  Selects the given option of the given select and waits for some activity to complete.
  `void`
  `selectFrame(String frameTarget)`
  Selects the given frame.
  `void`
  `selectWindow()`
  Selects the top-level window.
  `void`
  `selectWindow(String windowTarget)`
  Selects the given window.
  `void`
  `setTimeout(long timeout)`
  Sets the timeout to the given value.
  `void`
  `setTimeout(String timeout)`
  Sets the timeout to the given value.
  `void`
  `startAction(String actionName)`
  Starts a new action using the given name.
  `void`
  `stopAction()`
  Stops the current action.
  `void`
  `store(String text, String variableName)`
  Stores the given text to the given variable.
  `void`
  `storeAttribute(String attributeLocator, String variableName)`
  Stores the value of the attribute identified by the given attribute locator to the given variable
  `void`
  `storeAttribute(String elementLocator, String attributeName, String variableName)`
  Stores the value of the given element and attribute to the given variable.
  `void`
  `storeElementCount(String elementLocator, String variableName)`
  Stores that the number of elements found by using the given element locator to the given variable.
  `void`
  `storeEval(String expression, String variableName)`
  Stores the result of evaluating the given expression to the given variable.
  `void`
  `storeText(String elementLocator, String variableName)`
  Stores the text of the element identified by the given locator to the given variable.
  `void`
  `storeTitle(String variableName)`
  Stores the title of the currently active document to the given variable.
  `void`
  `storeValue(String elementLocator, String variableName)`
  Stores the value (in case of a `<textarea>` the contained text) of the element identified by the given locator to the given variable.
  `void`
  `storeXpathCount(String xpath, String variableName)`
  Stores the number of elements matching the given XPath expression to the given variable.
  `void`
  `submit(String form)`
  Submits the given form.
  `void`
  `submitAndWait(String form)`
  Submits the given form and waits for some activity to complete.
  `void`
  `type(String elementLocator, String text)`
  Types the given text into the given input field.
  `void`
  `typeAndWait(String elementLocator, String text)`
  Types the given text into the given input field and waits for some activity to complete.
  `void`
  `uncheck(String elementLocator)`
  Unchecks the given checkbox/radio button.
  `void`
  `uncheckAndWait(String elementLocator)`
  Unchecks the given checkbox/radio button and waits for a page load.
  `void`
  `waitForAttribute(String attributeLocator, String textPattern)`
  Waits until the value of the attribute identified by the given attribute locator matches the given text pattern.
  `void`
  `waitForAttribute(String elementLocator, String attributeName, String textPattern)`
  Waits until the value of the given element and attribute matches the given text pattern.
  `void`
  `waitForChecked(String elementLocator)`
  Waits until the given checkbox/radio button becomes checked.
  `void`
  `waitForClass(String elementLocator, String clazzString)`
  Waits until the given element has the given class(es).
  `void`
  `waitForElementCount(String elementLocator, int count)`
  Waits until the number of elements found by using the given element locator is equal to the given count.
  `void`
  `waitForElementCount(String elementLocator, String count)`
  Waits until the number of elements found by using the given element locator is equal to the given count.
  `void`
  `waitForElementPresent(String elementLocator)`
  Waits for the given element to appear.
  `void`
  `waitForEval(String expression, String textPattern)`
  Waits until the result of evaluating the given expression matches the given text pattern.
  `void`
  `waitForNotAttribute(String attributeLocator, String textPattern)`
  Waits until the value of the attribute identified by the given attribute locator does NOT match the given text pattern.
  `void`
  `waitForNotAttribute(String elementLocator, String attributeName, String textPattern)`
  Waits until the value of the given element and attribute does NOT match the given text pattern.
  `void`
  `waitForNotChecked(String elementLocator)`
  Waits until the given checkbox/radio button becomes unchecked.
  `void`
  `waitForNotClass(String elementLocator, String clazzString)`
  Waits until the given element doesn't have the given class(es).
  `void`
  `waitForNotElementCount(String elementLocator, int count)`
  Waits until the number of elements found by using the given element locator is unequal to the given count.
  `void`
  `waitForNotElementCount(String elementLocator, String count)`
  Waits until the number of elements found by using the given element locator is unequal to the given count.
  `void`
  `waitForNotElementPresent(String elementLocator)`
  Waits for the given element to disappear.
  `void`
  `waitForNotEval(String expression, String textPattern)`
  Waits until the result of evaluating the given expression does NOT match the given text pattern.
  `void`
  `waitForNotSelectedId(String selectLocator, String idPattern)`
  Waits until no ID of all selected options of the given select matches the given pattern.
  `void`
  `waitForNotSelectedIndex(String selectLocator, String indexPattern)`
  Waits until the option of the given select element at the given index is not selected.
  `void`
  `waitForNotSelectedLabel(String selectLocator, String labelPattern)`
  Waits until no label of all selected options of the given select matches the given pattern.
  `void`
  `waitForNotSelectedValue(String selectLocator, String valuePattern)`
  Waits until no value of all selected options of the given select matches the given pattern.
  `void`
  `waitForNotStyle(String elementLocator, String styleText)`
  Waits until the effective style of the element identified by the given element locator does NOT match the given style.
  `void`
  `waitForNotText(String elementLocator, String text)`
  Waits for the given text embedded in the given element to disappear/change.
  `void`
  `waitForNotTextPresent(String text)`
  Waits for the given text to disappear/change.
  `void`
  `waitForNotTitle(String title)`
  Waits for the given page title change.
  `void`
  `waitForNotValue(String elementLocator, String value)`
  Waits for the given value in the given element to disappear/change.
  `void`
  `waitForNotVisible(String elementLocator)`
  Waits until the given element becomes invisible.
  `void`
  `waitForNotXpathCount(String xpath, int count)`
  Waits for the number of elements matching the given XPath expression change to a different value than the given one.
  `void`
  `waitForNotXpathCount(String xpath, String count)`
  Waits for the number of elements matching the given XPath expression change to a different value than the given one.
  `void`
  `waitForPageToLoad()`
  Waits for the page to be loaded completely.
  `void`
  `waitForPopUp()`
  Waits for any pop-up window to be loaded completely.
  `void`
  `waitForPopUp(String windowID)`
  Waits for some pop-up window to be loaded completely.
  `void`
  `waitForPopUp(String windowID, long maxWaitingTime)`
  Waits at most the given time for some pop-up window to be loaded completely.
  `void`
  `waitForPopUp(String windowID, String maxWaitingTime)`
  Waits at most the given time for some pop-up window to be loaded completely.
  `void`
  `waitForSelectedId(String selectLocator, String idPattern)`
  Waits until the ID of at least one selected option of the given select matches the given pattern.
  `void`
  `waitForSelectedIndex(String selectLocator, String indexPattern)`
  Waits until the option of the given select at the given index is selected.
  `void`
  `waitForSelectedLabel(String selectLocator, String labelPattern)`
  Waits until the label of at least one selected option of the given select matches the given pattern.
  `void`
  `waitForSelectedValue(String selectLocator, String valuePattern)`
  Waits until the value of at least one selected option of the given select matches the given pattern.
  `void`
  `waitForStyle(String elementLocator, String styleText)`
  Waits until the effective style of the element identified by the given element locator matches the given style.
  `void`
  `waitForText(String elementLocator, String text)`
  Waits for the given text embedded in the given element.
  `void`
  `waitForTextPresent(String text)`
  Waits for the given text to appear.
  `void`
  `waitForTitle(String title)`
  Waits for the given page title.
  `void`
  `waitForValue(String elementLocator, String value)`
  Waits for the given value in the given element.
  `void`
  `waitForVisible(String elementLocator)`
  Waits until the given element becomes visible.
  `void`
  `waitForXpathCount(String xpath, int count)`
  Waits for the number of elements matching the given XPath expression is equal to the given count.
  `void`
  `waitForXpathCount(String xpath, String count)`
  Waits for the number of elements matching the given XPath expression is equal to the given count.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### AbstractWebDriverModule

    public AbstractWebDriverModule()
    Default constructor.

- ## Method Details

  - ### addSelection

    public void addSelection(String select, String option)
    Adds the given option of the given select to the current selection.
    Specified by:
      `addSelection` in interface `ScriptCommands`
    Parameters:
      `select` - the select
      `option` - the option to be added to current selection

  - ### assertAttribute

    public void assertAttribute(String attributeLocator, String textPattern)
    Asserts that the value of the attribute identified by the given attribute locator matches the given text pattern.
    Specified by:
      `assertAttribute` in interface `ScriptCommands`
    Parameters:
      `attributeLocator` - the attribute locator
      `textPattern` - the text pattern that the attribute value must match

  - ### assertAttribute

    public void assertAttribute(String elementLocator, String attributeName, String textPattern)
    Asserts that the value of the attribute identified by the given element locator and attribute name matches the given text pattern.
    Specified by:
      `assertAttribute` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator
      `attributeName` - the name of the attribute
      `textPattern` - the text pattern that the attribute value must match

  - ### assertChecked

    public void assertChecked(String elementLocator)
    Asserts that the given checkbox/radio button is checked.
    Specified by:
      `assertChecked` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the checkbox/radio button element locator

  - ### assertClass

    public void assertClass(String elementLocator, String clazzString)
    Asserts that the given element has the given class(es).
    Specified by:
      `assertClass` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator
      `clazzString` - the class(es) string

  - ### assertElementCount

    public void assertElementCount(String elementLocator, int count)
    Asserts that the number of elements found by using the given element locator is equal to the given count.
    Specified by:
      `assertElementCount` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator
      `count` - the number of elements

  - ### assertElementCount

    public void assertElementCount(String elementLocator, String count)
    Asserts that the number of elements found by using the given element locator is equal to the given count.
    Specified by:
      `assertElementCount` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator
      `count` - the number of elements

  - ### assertElementPresent

    public void assertElementPresent(String elementLocator)
    Asserts that the given element is present.
    Specified by:
      `assertElementPresent` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the element that should be present

  - ### assertEval

    public void assertEval(String expression, String textPattern)
    Asserts that evaluating the given expression matches the given text pattern.
    Specified by:
      `assertEval` in interface `ScriptCommands`
    Parameters:
      `expression` - the expression to evaluate
      `textPattern` - the text pattern that the evaluation result must match

  - ### assertLoadTime

    public void assertLoadTime(long loadTime)
    Asserts that the time needed to load a page does not exceed the given value.
    Specified by:
      `assertLoadTime` in interface `ScriptCommands`
    Parameters:
      `loadTime` - maximum load time in milliseconds

  - ### assertLoadTime

    public void assertLoadTime(String loadTime)
    Asserts that the time needed to load a page does not exceed the given value.
    Specified by:
      `assertLoadTime` in interface `ScriptCommands`
    Parameters:
      `loadTime` - maximum load time in milliseconds

  - ### assertNotAttribute

    public void assertNotAttribute(String attributeLocator, String textPattern)
    Asserts that the value of the attribute identified by the given attribute locator does NOT match the given text pattern.
    Specified by:
      `assertNotAttribute` in interface `ScriptCommands`
    Parameters:
      `attributeLocator` - the attribute locator
      `textPattern` - the text pattern that the attribute value must NOT match

  - ### assertNotAttribute

    public void assertNotAttribute(String elementLocator, String attributeName, String textPattern)
    Asserts that the value of the attribute identified by the given element locator and attribute name does NOT match the given text pattern.
    Specified by:
      `assertNotAttribute` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator
      `attributeName` - the name of the attribute
      `textPattern` - the text pattern that the attribute value must NOT match

  - ### assertNotChecked

    public void assertNotChecked(String elementLocator)
    Asserts that the given checkbox/radio button is unchecked.
    Specified by:
      `assertNotChecked` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the checkbox/radio button element locator

  - ### assertNotClass

    public void assertNotClass(String elementLocator, String clazzString)
    Asserts that the given element doesn't have the given class(es).
    Specified by:
      `assertNotClass` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator
      `clazzString` - the class(es) string

  - ### assertNotElementCount

    public void assertNotElementCount(String elementLocator, int count)
    Asserts that the number of elements found by using the given element locator is unequal to the given count.
    Specified by:
      `assertNotElementCount` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator
      `count` - the number of elements

  - ### assertNotElementCount

    public void assertNotElementCount(String elementLocator, String count)
    Asserts that the number of elements found by using the given element locator is unequal to the given count.
    Specified by:
      `assertNotElementCount` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator
      `count` - the number of elements

  - ### assertNotElementPresent

    public void assertNotElementPresent(String elementLocator)
    Asserts that the given element is not present.
    Specified by:
      `assertNotElementPresent` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the element that should be NOT present

  - ### assertNotEval

    public void assertNotEval(String expression, String textPattern)
    Asserts that evaluating the given expression does NOT match the given text pattern.
    Specified by:
      `assertNotEval` in interface `ScriptCommands`
    Parameters:
      `expression` - the expression to evaluate
      `textPattern` - the text pattern that the evaluation result must NOT match

  - ### assertNotSelectedId

    public void assertNotSelectedId(String selectLocator, String idPattern)
    Asserts that no ID of all selected options of the given select element matches the given pattern.
    Specified by:
      `assertNotSelectedId` in interface `ScriptCommands`
    Parameters:
      `selectLocator` - the select element locator
      `idPattern` - the ID pattern

  - ### assertNotSelectedIndex

    public void assertNotSelectedIndex(String selectLocator, String indexPattern)
    Asserts that the option of the given select element at the given index is not selected.
    Specified by:
      `assertNotSelectedIndex` in interface `ScriptCommands`
    Parameters:
      `selectLocator` - the select element locator
      `indexPattern` - the option index pattern

  - ### assertNotSelectedLabel

    public void assertNotSelectedLabel(String selectLocator, String labelPattern)
    Asserts that no label of all selected options of the given select element matches the given pattern.
    Specified by:
      `assertNotSelectedLabel` in interface `ScriptCommands`
    Parameters:
      `selectLocator` - the select element locator
      `labelPattern` - the label pattern

  - ### assertNotSelectedValue

    public void assertNotSelectedValue(String selectLocator, String valuePattern)
    Asserts that no value of all selected options of the given select element matches the given pattern.
    Specified by:
      `assertNotSelectedValue` in interface `ScriptCommands`
    Parameters:
      `selectLocator` - the select element locator
      `valuePattern` - the value pattern

  - ### assertNotStyle

    public void assertNotStyle(String elementLocator, String styleText)
    Asserts that the effective style of the element identified by the given element locator does NOT match the given style.
    Specified by:
      `assertNotStyle` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator
      `styleText` - the style that must NOT match (e.g. `width: 10px; overflow: hidden;`)

  - ### assertNotText

    public void assertNotText(String elementLocator, String text)
    Asserts that the embedded text of the given element does not contain the given text.
    Specified by:
      `assertNotText` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the element
      `text` - the text that should not be embedded in the given element

  - ### assertNotTextPresent

    public void assertNotTextPresent(String text)
    Asserts that the given text is not present on the page.
    Specified by:
      `assertNotTextPresent` in interface `ScriptCommands`
    Parameters:
      `text` - the text that should NOT be present

  - ### assertNotTitle

    public void assertNotTitle(String title)
    Asserts that the page title does not match the given title.
    Specified by:
      `assertNotTitle` in interface `ScriptCommands`
    Parameters:
      `title` - the title that should not match

  - ### assertNotValue

    public void assertNotValue(String elementLocator, String value)
    Asserts that the value of the given element doesn't match the given value. If the element is a <textarea> this method asserts that the containing text doesn't match the given value.
    Specified by:
      `assertNotValue` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the element whose value doesn't match the given value
      `value` - the value that doesn't match the given element's value

  - ### assertNotVisible

    public void assertNotVisible(String elementLocator)
    Asserts that the given element is invisible.
    Specified by:
      `assertNotVisible` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator.

  - ### assertNotXpathCount

    public void assertNotXpathCount(String xpath, int count)
    Asserts that the number of elements locatable by the given XPath expression is not equal to the given count.
    Specified by:
      `assertNotXpathCount` in interface `ScriptCommands`
    Parameters:
      `xpath` - the XPath expression
      `count` - the number of elements that should NOT be equal to the actual number of elements matching the given XPath expression

  - ### assertNotXpathCount

    public void assertNotXpathCount(String xpath, String count)
    Asserts that the number of elements locatable by the given XPath expression is not equal to the given count.
    Specified by:
      `assertNotXpathCount` in interface `ScriptCommands`
    Parameters:
      `xpath` - the XPath expression
      `count` - the number of elements that should NOT be equal to the actual number of elements matching the given XPath expression

  - ### assertPageSize

    public void assertPageSize(long pageSize)
    Asserts that the size of the actual page (including images etc.) does not exceed the given value.
    Specified by:
      `assertPageSize` in interface `ScriptCommands`
    Parameters:
      `pageSize` - the number of bytes the page size must not exceed

  - ### assertPageSize

    public void assertPageSize(String pageSize)
    Asserts that the size of the actual page (including images etc.) does not exceed the given value.
    Specified by:
      `assertPageSize` in interface `ScriptCommands`
    Parameters:
      `pageSize` - the number of bytes the page size must not exceed

  - ### assertSelectedId

    public void assertSelectedId(String selectLocator, String idPattern)
    Asserts that the ID of at least one selected option of the given select element matches the given pattern.
    Specified by:
      `assertSelectedId` in interface `ScriptCommands`
    Parameters:
      `selectLocator` - the select element locator
      `idPattern` - ID pattern

  - ### assertSelectedIndex

    public void assertSelectedIndex(String selectLocator, String indexPattern)
    Asserts that the option of the given select element at the given index is selected.
    Specified by:
      `assertSelectedIndex` in interface `ScriptCommands`
    Parameters:
      `selectLocator` - the select element locator
      `indexPattern` - the option index pattern

  - ### assertSelectedLabel

    public void assertSelectedLabel(String selectLocator, String labelPattern)
    Asserts that the label of at least one selected option of the given select element matches the given pattern.
    Specified by:
      `assertSelectedLabel` in interface `ScriptCommands`
    Parameters:
      `selectLocator` - the select element locator
      `labelPattern` - the label pattern

  - ### assertSelectedValue

    public void assertSelectedValue(String selectLocator, String valuePattern)
    Asserts that the value of at least one selected option of the given select element matches the given pattern.
    Specified by:
      `assertSelectedValue` in interface `ScriptCommands`
    Parameters:
      `selectLocator` - the select element locator
      `valuePattern` - the value pattern

  - ### assertStyle

    public void assertStyle(String elementLocator, String styleText)
    Asserts that the effective style of the element identified by the given element locator matches the given style.
    Specified by:
      `assertStyle` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator
      `styleText` - the style to match (e.g. `width: 10px; overflow: hidden;`)

  - ### assertText

    public void assertText(String elementLocator, String text)
    Asserts that the text embedded by the given element contains the given text.
    Specified by:
      `assertText` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the element whose text should contain the given text
      `text` - the text that should be embedded in the given element

  - ### assertTextPresent

    public void assertTextPresent(String text)
    Asserts that the given text is present.
    Specified by:
      `assertTextPresent` in interface `ScriptCommands`
    Parameters:
      `text` - the text that should be present

  - ### assertTitle

    public void assertTitle(String title)
    Asserts that the given title matches the page title.
    Specified by:
      `assertTitle` in interface `ScriptCommands`
    Parameters:
      `title` - the title that should match the page title

  - ### assertValue

    public void assertValue(String elementLocator, String value)
    Asserts that the value of the given element matches the given value. If the element is a <textarea> this method asserts that the containing text matches the given value.
    Specified by:
      `assertValue` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the element whose value should match the given value
      `value` - the value that should match the given element's value

  - ### assertVisible

    public void assertVisible(String elementLocator)
    Asserts that the given element is visible.
    Specified by:
      `assertVisible` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator

  - ### assertXpathCount

    public void assertXpathCount(String xpath, int count)
    Asserts that the number of elements locatable by the given XPath expression is equal to the given count.
    Specified by:
      `assertXpathCount` in interface `ScriptCommands`
    Parameters:
      `xpath` - the XPath expression
      `count` - the number of elements that must match the given XPath expression

  - ### assertXpathCount

    public void assertXpathCount(String xpath, String count)
    Asserts that the number of elements locatable by the given XPath expression is equal to the given count.
    Specified by:
      `assertXpathCount` in interface `ScriptCommands`
    Parameters:
      `xpath` - the XPath expression
      `count` - the number of elements that must match the given XPath expression

  - ### check

    public void check(String elementLocator)
    Checks/toggles the given element.
    Specified by:
      `check` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the element to be checked/toggled

  - ### checkAndWait

    public void checkAndWait(String elementLocator)
    Checks/toggles the given element and waits for some activity to complete.
    Specified by:
      `checkAndWait` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the element to be checked/toggled

  - ### click

    public void click(String elementLocator)
    Clicks the given element.
    Specified by:
      `click` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the element to be clicked.

  - ### clickAndWait

    public void clickAndWait(String elementLocator)
    Clicks the given element and waits for some activity to complete.
    Specified by:
      `clickAndWait` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the element to be clicked

  - ### close

    public void close()
    Closes the browser.
    Specified by:
      `close` in interface `ScriptCommands`

  - ### contextMenu

    public void contextMenu(String elementLocator)
    Simulates a right-click on the given element.
    Specified by:
      `contextMenu` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the element to fire events at

  - ### contextMenuAt

    public void contextMenuAt(String elementLocator, String coordinates)
    Simulates a right-click at the given coordinates (relative to the given element).
    Specified by:
      `contextMenuAt` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the target element
      `coordinates` - the coordinates relative to the given element

  - ### contextMenuAt

    public void contextMenuAt(String elementLocator, int coordX, int coordY)
    Simulates a right-click at the given coordinates (relative to the given element).
    Specified by:
      `contextMenuAt` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the target element
      `coordX` - the X coordinate relative to the given element
      `coordY` - the Y coordinate relative to the given element

  - ### createCookie

    public void createCookie(String cookie)
    Creates a new cookie. The new cookie will be stored as session cookie for the current path and domain.
    Specified by:
      `createCookie` in interface `ScriptCommands`
    Parameters:
      `cookie` - name value pair of the new cookie

  - ### createCookie

    public void createCookie(String cookie, String options)
    Creates a new cookie.
    Specified by:
      `createCookie` in interface `ScriptCommands`
    Parameters:
      `cookie` - name value pair of the new cookie
      `options` - cookie creation options (path, max_age and domain)

  - ### deleteAllVisibleCookies

    public void deleteAllVisibleCookies()
    Removes all cookies visible to the current page.
    Specified by:
      `deleteAllVisibleCookies` in interface `ScriptCommands`

  - ### deleteCookie

    public void deleteCookie(String name)
    Removes the cookie with the specified name.
    Specified by:
      `deleteCookie` in interface `ScriptCommands`
    Parameters:
      `name` - the cookie's name

  - ### deleteCookie

    public void deleteCookie(String name, String options)
    Removes the cookie with the specified name.
    Specified by:
      `deleteCookie` in interface `ScriptCommands`
    Parameters:
      `name` - the cookie's name
      `options` - cookie removal options (path, domain and recurse)

  - ### doCommands

    protected abstract void doCommands(String... parameters) throws Exception
    Executes this module's commands.
    Parameters:
      `parameters` - The module parameters.
    Throws:
      `Exception`

  - ### doubleClick

    public void doubleClick(String elementLocator)
    Double-clicks the given element.
    Specified by:
      `doubleClick` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the element to be double-clicked

  - ### doubleClickAndWait

    public void doubleClickAndWait(String elementLocator)
    Double-clicks the given element and waits for some activity to complete.
    Specified by:
      `doubleClickAndWait` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the element to be double-clicked

  - ### echo

    public void echo(String message)
    Prints the given message to the log.
    Specified by:
      `echo` in interface `ScriptCommands`
    Parameters:
      `message` - the message to print

  - ### evaluate

    public String evaluate(String jsExpression)
    Returns the result of evaluating the given JavaScript expression.
    Parameters:
      `jsExpression` - the JavaScript expression to evaluate
    Returns:
      result of evaluation

  - ### evaluatesToTrue

    public boolean evaluatesToTrue(String jsExpression)
    Returns whether or not the given expression evaluates to `true`.
    Parameters:
      `jsExpression` - the JavaScript expression to evaluate
    Returns:
      `true` if and only if the given JavaScript expression is not blank and evaluates to `true`

  - ### execute

    public void execute(String... parameters) throws Exception
    Executes this module.
    Parameters:
      `parameters` - The arguments for the module call.
    Throws:
      `Exception`

  - ### findElement

    public WebElement findElement(String elementLocator)
    Returns the first element matching the given locator.
    Parameters:
      `elementLocator` - the element locator
    Returns:
      first element matching the given locator

  - ### findElements

    public List<WebElement> findElements(String elementLocator)
    Returns all elements that match the given locator.
    Parameters:
      `elementLocator` - the element locator
    Returns:
      all elements that were found for the given locator

  - ### getAttribute

    public String getAttribute(String attributeLocator)
    Returns the value of the given element attribute locator.
    Parameters:
      `attributeLocator` - the element attribute locator
    Returns:
      value of attribute specified by given element attribute locator

  - ### getAttribute

    public String getAttribute(String elementLocator, String attributeName)
    Returns the value of the given element and attribute.
    Parameters:
      `elementLocator` - the element locator
      `attributeName` - the name of the attribute
    Returns:
      value of given element attribute locator

  - ### getElementCount

    public int getElementCount(String elementLocator)
    Returns the number of matching elements.
    Parameters:
      `elementLocator` - the element locator
    Returns:
      number of elements matching the given locator

  - ### getPageText

    public String getPageText()
    Returns the (visible) text of the current page.
    Returns:
      the page's (visible) text

  - ### getText

    public String getText(String elementLocator)
    Returns the (visible) text of the given element. If the element is not visible, the empty string is returned.
    Parameters:
      `elementLocator` - the element locator
    Returns:
      the element's (visible) text

  - ### getTitle

    public String getTitle()
    Returns the title of the current page.
    Returns:
      page title

  - ### getValue

    public String getValue(String elementLocator)
    Returns the value of the given element. If the element doesn't have a value, the empty string is returned.
    Parameters:
      `elementLocator` - the element locator
    Returns:
      the element's value

  - ### getWebDriver

    protected final WebDriver getWebDriver()
    Returns the webdriver instance.
    Returns:
      webdriver instance

  - ### getXpathCount

    public int getXpathCount(String xpath)
    Returns the number of elements matching the given XPath expression.
    Parameters:
      `xpath` - the XPath expression
    Returns:
      number of matching elements

  - ### hasAttribute

    public boolean hasAttribute(String attributeLocator, String textPattern)
    Returns whether or not the value of the attribute identified by the given attribute locator matches the given text pattern.
    Parameters:
      `attributeLocator` - the attribute locator
      `textPattern` - the text pattern
    Returns:
      `true` if the attribute value matches the given pattern, `false` otherwise

  - ### hasAttribute

    public boolean hasAttribute(String elementLocator, String attributeName, String textPattern)
    Returns whether or not the value of the given element and attribute matches the given text pattern.
    Parameters:
      `elementLocator` - the element locator
      `attributeName` - the name of the attribute
      `textPattern` - the text pattern
    Returns:
      `true` if the attribute value matches the given pattern, `false` otherwise

  - ### hasClass

    public boolean hasClass(String elementLocator, String clazz)
    Returns whether or not the given element has the given class(es).
    Parameters:
      `elementLocator` - the element locator
      `clazz` - the class string (multiple CSS classes separated by whitespace)
    Returns:
      `true` if the element's class attribute contains all of the given class(es), `false` otherwise
    See Also:
      - `CommonScriptCommands.hasClass(java.lang.String, java.lang.String)`

  - ### hasNotClass

    public boolean hasNotClass(String elementLocator, String clazz)
    Returns whether or not the given element doesn't have the given class(es); that is, its class attribute doesn't contain any of the given class(es).
    Parameters:
      `elementLocator` -
      `clazz` - the class string (multiple CSS classes separated by whitespace)
    Returns:
      `true` if the element's class attribute does not contains any of the given class(es), `false` otherwise

  - ### hasNotStyle

    public boolean hasNotStyle(String elementLocator, String style)
    Returns whether or not the given element doesn't have the given style; that is, none of the given CSS properties must match the element's actual style.
    Parameters:
      `elementLocator` - the element locator
      `style` - the CSS style text to check (e.g. `width: 10px; overflow: hidden;`)
    Returns:
      `true` if NONE of the given CSS properties match the element's actual style, `false` otherwise

  - ### hasStyle

    public boolean hasStyle(String elementLocator, String style)
    Returns whether or not the given element has the given style; that is, all of the given CSS properties must match the element's actual style.
    Parameters:
      `elementLocator` - the element locator
      `style` - the CSS style text to check (e.g. `width: 10px; overflow: hidden;`)
    Returns:
      `true` if ALL of the given CSS properties match the elements actual style, `false` otherwise

  - ### hasText

    public boolean hasText(String elementLocator, String textPattern)
    Checks that the text embedded by the given element contains the given text.
    Parameters:
      `elementLocator` - locator identifying the element whose text should contain the given text
      `textPattern` - the text that should be embedded in the given element
    Returns:
      `true` if the text embedded by the given element contains the given text, `false` otherwise

  - ### hasTitle

    public boolean hasTitle(String title)
    Checks that the given title matches the page title.
    Parameters:
      `title` - the title that should match the page title
    Returns:
      `true` if the given title matches the page title, `false` otherwise

  - ### hasValue

    public boolean hasValue(String elementLocator, String valuePattern)
    Checks that the value of the given element matches the given value. If the element is a <textarea> this method checks that the containing text matches the given value.
    Parameters:
      `elementLocator` - locator identifying the element whose value should match the given value
      `valuePattern` - the value that should match the given element's value
    Returns:
      `true` if the value of the given element matches the given value, `false` otherwise

  - ### isChecked

    public boolean isChecked(String elementLocator)
    Returns whether or not the element identified by the given element locator is checked.
    Parameters:
      `elementLocator` - the element locator
    Returns:
      `true` if the element identified by the given element locator is checked, `false` otherwise

  - ### isElementPresent

    public boolean isElementPresent(String elementLocator)
    Returns whether or not there is an element for the given locator.
    Parameters:
      `elementLocator` - the element locator
    Returns:
      `true` if there at least one element has been found for the given locator, `false` otherwise

  - ### isEnabled

    public boolean isEnabled(String elementLocator)
    Returns whether or not the given element is enabled.
    Parameters:
      `elementLocator` - the element locator
    Returns:
      `true` if the element identified by the given element locator is enabled, `false` otherwise

  - ### isEvalMatching

    public boolean isEvalMatching(String expression, String textPattern)
    Returns whether or not the result of evaluating the given expression matches the given text pattern.
    Parameters:
      `expression` - the JavaScript expression to evaluate
      `textPattern` - the text pattern
    Returns:
      `true` if the evaluation result matches the given pattern, `false` otherwise

  - ### isTextPresent

    public boolean isTextPresent(String textPattern)
    Checks that the given text is present.
    Parameters:
      `textPattern` - the text that should be present
    Returns:
      `true` if the given text is present, `false` otherwise

  - ### isVisible

    public boolean isVisible(String elementLocator)
    Returns whether or not the given element is visible.
    Parameters:
      `elementLocator` - the element locator
    Returns:
      `true` if element was found and is visible, `false` otherwise

  - ### mouseDown

    public void mouseDown(String elementLocator)
    Presses the left mouse button on an element, but does not release the button yet.
    Specified by:
      `mouseDown` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the target element

  - ### mouseDownAt

    public void mouseDownAt(String elementLocator, String coordinates)
    Presses the left mouse button at the given coordinates (relative to the given element), but does not release the button yet.
    Specified by:
      `mouseDownAt` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the target element
      `coordinates` - the coordinates relative to the given element

  - ### mouseDownAt

    public void mouseDownAt(String elementLocator, int coordX, int coordY)
    Presses the left mouse button at the given coordinates (relative to the given element), but does not release the button yet.
    Specified by:
      `mouseDownAt` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the target element
      `coordX` - the X coordinate relative to the given element
      `coordY` - the Y coordinate relative to the given element

  - ### mouseMove

    public void mouseMove(String elementLocator)
    Moves the mouse to the given element.
    Specified by:
      `mouseMove` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the target element

  - ### mouseMoveAt

    public void mouseMoveAt(String elementLocator, String coordinates)
    Moves the mouse to the given coordinates (relative to the given element).
    Specified by:
      `mouseMoveAt` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the target element
      `coordinates` - the coordinates relative to the given element

  - ### mouseMoveAt

    public void mouseMoveAt(String elementLocator, int coordX, int coordY)
    Moves the mouse to the given coordinates (relative to the given element).
    Specified by:
      `mouseMoveAt` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the target element
      `coordX` - the X coordinate relative to the given element
      `coordY` - the Y coordinate relative to the given element

  - ### mouseOut

    public void mouseOut(String elementLocator)
    Moves the mouse out of the element's bounding box.
    Specified by:
      `mouseOut` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the target element

  - ### mouseOver

    public void mouseOver(String elementLocator)
    Hovers the mouse over an element.
    Specified by:
      `mouseOver` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the target element

  - ### mouseUp

    public void mouseUp(String elementLocator)
    Releases the left mouse button on an element.
    Specified by:
      `mouseUp` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the target element

  - ### mouseUpAt

    public void mouseUpAt(String elementLocator, String coordinates)
    Releases the left mouse button at the given coordinates (relative to the given element).
    Specified by:
      `mouseUpAt` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the target element
      `coordinates` - the coordinates relative to the given element

  - ### mouseUpAt

    public void mouseUpAt(String elementLocator, int coordX, int coordY)
    Releases the left mouse button at the given coordinates (relative to the given element).
    Specified by:
      `mouseUpAt` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the target element
      `coordX` - the X coordinate relative to the given element
      `coordY` - the Y coordinate relative to the given element

  - ### open

    public void open(String pageUrlString)
    Opens the given URL.
    Specified by:
      `open` in interface `ScriptCommands`
    Parameters:
      `pageUrlString` - the URL to open

  - ### open

    public void open(URL url)
    Opens the given URL.
    Parameters:
      `url` - url the target URL

  - ### pause

    public void pause(long waitingTime)
    Waits the given time.
    Specified by:
      `pause` in interface `ScriptCommands`
    Parameters:
      `waitingTime` - the time in milliseconds to wait

  - ### pause

    public void pause(String waitingTime)
    Waits the given time.
    Specified by:
      `pause` in interface `ScriptCommands`
    Parameters:
      `waitingTime` - the time in milliseconds to wait

  - ### removeSelection

    public void removeSelection(String select, String option)
    Removes the given option of the given select from the current selection.
    Specified by:
      `removeSelection` in interface `ScriptCommands`
    Parameters:
      `select` - the select
      `option` - the option to be removed from the current selection

  - ### resolve

    public String resolve(String resolvable)
    Resolves the given string.
    Parameters:
      `resolvable` - the resolvable string containing one or more test data placeholders
    Returns:
      resolved string

  - ### resolveKey

    public String resolveKey(String key)
    Resolves the given test data key.
    Parameters:
      `key` - the key string containing only the name of a test data field
    Returns:
      resolved string or `null` if not found

  - ### select

    public void select(String select, String option)
    Selects the given option of the given select.
    Specified by:
      `select` in interface `ScriptCommands`
    Parameters:
      `select` - the select
      `option` - the option to select

  - ### selectAndWait

    public void selectAndWait(String select, String option)
    Selects the given option of the given select and waits for some activity to complete.
    Specified by:
      `selectAndWait` in interface `ScriptCommands`
    Parameters:
      `select` - the select
      `option` - the option to select

  - ### selectFrame

    public void selectFrame(String frameTarget)
    Selects the given frame.
    Specified by:
      `selectFrame` in interface `ScriptCommands`
    Parameters:
      `frameTarget` - the frame to be selected

  - ### selectWindow

    public void selectWindow()
    Selects the top-level window.
    Specified by:
      `selectWindow` in interface `ScriptCommands`

  - ### selectWindow

    public void selectWindow(String windowTarget)
    Selects the given window.
    Specified by:
      `selectWindow` in interface `ScriptCommands`
    Parameters:
      `windowTarget` - the window to be selected

  - ### setTimeout

    public void setTimeout(long timeout)
    Sets the timeout to the given value.
    Specified by:
      `setTimeout` in interface `ScriptCommands`
    Parameters:
      `timeout` - the new timeout in milliseconds

  - ### setTimeout

    public void setTimeout(String timeout)
    Sets the timeout to the given value.
    Specified by:
      `setTimeout` in interface `ScriptCommands`
    Parameters:
      `timeout` - the new timeout in milliseconds

  - ### startAction

    public void startAction(String actionName)
    Starts a new action using the given name.
    Specified by:
      `startAction` in interface `ScriptCommands`
    Parameters:
      `actionName` - the name of the action

  - ### stopAction

    public void stopAction()
    Stops the current action.
    See Also:
      - `startAction(String)`

  - ### store

    public void store(String text, String variableName)
    Stores the given text to the given variable.
    Specified by:
      `store` in interface `ScriptCommands`
    Parameters:
      `text` - the text to store
      `variableName` - the variable name

  - ### storeAttribute

    public void storeAttribute(String attributeLocator, String variableName)
    Stores the value of the attribute identified by the given attribute locator to the given variable
    Specified by:
      `storeAttribute` in interface `ScriptCommands`
    Parameters:
      `attributeLocator` - the attribute locator
      `variableName` - the variable name

  - ### storeAttribute

    public void storeAttribute(String elementLocator, String attributeName, String variableName)
    Stores the value of the given element and attribute to the given variable.
    Specified by:
      `storeAttribute` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator
      `attributeName` - the name of the attribute
      `variableName` - the variable name

  - ### storeElementCount

    public void storeElementCount(String elementLocator, String variableName)
    Stores that the number of elements found by using the given element locator to the given variable.
    Specified by:
      `storeElementCount` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator
      `variableName` - the variable name

  - ### storeEval

    public void storeEval(String expression, String variableName)
    Stores the result of evaluating the given expression to the given variable.
    Specified by:
      `storeEval` in interface `ScriptCommands`
    Parameters:
      `expression` - the expression to evaluate
      `variableName` - the variable name

  - ### storeText

    public void storeText(String elementLocator, String variableName)
    Stores the text of the element identified by the given locator to the given variable.
    Specified by:
      `storeText` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator
      `variableName` - the variable

  - ### storeTitle

    public void storeTitle(String variableName)
    Stores the title of the currently active document to the given variable.
    Specified by:
      `storeTitle` in interface `ScriptCommands`
    Parameters:
      `variableName` - the variable

  - ### storeValue

    public void storeValue(String elementLocator, String variableName)
    Stores the value (in case of a `<textarea>` the contained text) of the element identified by the given locator to the given variable.
    Specified by:
      `storeValue` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator
      `variableName` - the variable

  - ### storeXpathCount

    public void storeXpathCount(String xpath, String variableName)
    Stores the number of elements matching the given XPath expression to the given variable.
    Specified by:
      `storeXpathCount` in interface `ScriptCommands`
    Parameters:
      `xpath` - the XPath expression
      `variableName` - the variable

  - ### submit

    public void submit(String form)
    Submits the given form.
    Specified by:
      `submit` in interface `ScriptCommands`
    Parameters:
      `form` - the form to submit

  - ### submitAndWait

    public void submitAndWait(String form)
    Submits the given form and waits for some activity to complete.
    Specified by:
      `submitAndWait` in interface `ScriptCommands`
    Parameters:
      `form` - the form to submit

  - ### type

    public void type(String elementLocator, String text)
    Types the given text into the given input field.
    Specified by:
      `type` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the input field
      `text` - the text to be typed

  - ### typeAndWait

    public void typeAndWait(String elementLocator, String text)
    Types the given text into the given input field and waits for some activity to complete.
    Specified by:
      `typeAndWait` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the input field
      `text` - the text to be typed

  - ### uncheck

    public void uncheck(String elementLocator)
    Unchecks the given checkbox/radio button.
    Specified by:
      `uncheck` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the checkbox/radio button

  - ### uncheckAndWait

    public void uncheckAndWait(String elementLocator)
    Unchecks the given checkbox/radio button and waits for a page load.
    Specified by:
      `uncheckAndWait` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the checkbox/radio button

  - ### waitForAttribute

    public void waitForAttribute(String attributeLocator, String textPattern)
    Waits until the value of the attribute identified by the given attribute locator matches the given text pattern.
    Specified by:
      `waitForAttribute` in interface `ScriptCommands`
    Parameters:
      `attributeLocator` - the attribute locator
      `textPattern` - the text pattern

  - ### waitForAttribute

    public void waitForAttribute(String elementLocator, String attributeName, String textPattern)
    Waits until the value of the given element and attribute matches the given text pattern.
    Specified by:
      `waitForAttribute` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator
      `attributeName` - the name of the attribute
      `textPattern` - the text pattern

  - ### waitForChecked

    public void waitForChecked(String elementLocator)
    Waits until the given checkbox/radio button becomes checked.
    Specified by:
      `waitForChecked` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the checkbox/radio button element locator

  - ### waitForClass

    public void waitForClass(String elementLocator, String clazzString)
    Waits until the given element has the given class(es).
    Specified by:
      `waitForClass` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator
      `clazzString` - the class(es) string

  - ### waitForElementCount

    public void waitForElementCount(String elementLocator, int count)
    Waits until the number of elements found by using the given element locator is equal to the given count.
    Specified by:
      `waitForElementCount` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator
      `count` - the number of elements

  - ### waitForElementCount

    public void waitForElementCount(String elementLocator, String count)
    Waits until the number of elements found by using the given element locator is equal to the given count.
    Specified by:
      `waitForElementCount` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator
      `count` - the number of elements

  - ### waitForElementPresent

    public void waitForElementPresent(String elementLocator)
    Waits for the given element to appear.
    Specified by:
      `waitForElementPresent` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the element to wait for

  - ### waitForEval

    public void waitForEval(String expression, String textPattern)
    Waits until the result of evaluating the given expression matches the given text pattern.
    Specified by:
      `waitForEval` in interface `ScriptCommands`
    Parameters:
      `expression` - the expression to evaluate
      `textPattern` - textPattern the text pattern the evaluation result must match

  - ### waitForNotAttribute

    public void waitForNotAttribute(String attributeLocator, String textPattern)
    Waits until the value of the attribute identified by the given attribute locator does NOT match the given text pattern.
    Specified by:
      `waitForNotAttribute` in interface `ScriptCommands`
    Parameters:
      `attributeLocator` - the attribute locator
      `textPattern` - the text pattern that must NOT match

  - ### waitForNotAttribute

    public void waitForNotAttribute(String elementLocator, String attributeName, String textPattern)
    Waits until the value of the given element and attribute does NOT match the given text pattern.
    Specified by:
      `waitForNotAttribute` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator
      `attributeName` - the name of the attribute
      `textPattern` - the text pattern

  - ### waitForNotChecked

    public void waitForNotChecked(String elementLocator)
    Waits until the given checkbox/radio button becomes unchecked.
    Specified by:
      `waitForNotChecked` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the checkbox/radio button element locator

  - ### waitForNotClass

    public void waitForNotClass(String elementLocator, String clazzString)
    Waits until the given element doesn't have the given class(es).
    Specified by:
      `waitForNotClass` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator
      `clazzString` - the class(es) string

  - ### waitForNotElementCount

    public void waitForNotElementCount(String elementLocator, int count)
    Waits until the number of elements found by using the given element locator is unequal to the given count.
    Specified by:
      `waitForNotElementCount` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator
      `count` - the number of elements

  - ### waitForNotElementCount

    public void waitForNotElementCount(String elementLocator, String count)
    Waits until the number of elements found by using the given element locator is unequal to the given count.
    Specified by:
      `waitForNotElementCount` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator
      `count` - the number of elements

  - ### waitForNotElementPresent

    public void waitForNotElementPresent(String elementLocator)
    Waits for the given element to disappear.
    Specified by:
      `waitForNotElementPresent` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the element to disappear

  - ### waitForNotEval

    public void waitForNotEval(String expression, String textPattern)
    Waits until the result of evaluating the given expression does NOT match the given text pattern.
    Specified by:
      `waitForNotEval` in interface `ScriptCommands`
    Parameters:
      `expression` - the expression to evaluate
      `textPattern` - the text pattern that the evaluation result must NOT match

  - ### waitForNotSelectedId

    public void waitForNotSelectedId(String selectLocator, String idPattern)
    Waits until no ID of all selected options of the given select matches the given pattern.
    Specified by:
      `waitForNotSelectedId` in interface `ScriptCommands`
    Parameters:
      `selectLocator` - the select element locator
      `idPattern` - the ID pattern

  - ### waitForNotSelectedIndex

    public void waitForNotSelectedIndex(String selectLocator, String indexPattern)
    Waits until the option of the given select element at the given index is not selected.
    Specified by:
      `waitForNotSelectedIndex` in interface `ScriptCommands`
    Parameters:
      `selectLocator` - the select element locator
      `indexPattern` - the option index pattern

  - ### waitForNotSelectedLabel

    public void waitForNotSelectedLabel(String selectLocator, String labelPattern)
    Waits until no label of all selected options of the given select matches the given pattern.
    Specified by:
      `waitForNotSelectedLabel` in interface `ScriptCommands`
    Parameters:
      `selectLocator` - the select element locator
      `labelPattern` - the label pattern

  - ### waitForNotSelectedValue

    public void waitForNotSelectedValue(String selectLocator, String valuePattern)
    Waits until no value of all selected options of the given select matches the given pattern.
    Specified by:
      `waitForNotSelectedValue` in interface `ScriptCommands`
    Parameters:
      `selectLocator` - the select element locator
      `valuePattern` - the value pattern

  - ### waitForNotStyle

    public void waitForNotStyle(String elementLocator, String styleText)
    Waits until the effective style of the element identified by the given element locator does NOT match the given style.
    Specified by:
      `waitForNotStyle` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator
      `styleText` - the style that must NOT match (e.g. `width: 10px; overflow: hidden;`)

  - ### waitForNotText

    public void waitForNotText(String elementLocator, String text)
    Waits for the given text embedded in the given element to disappear/change.
    Specified by:
      `waitForNotText` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the element whose embedded text should change
      `text` - the text that should change/disappear

  - ### waitForNotTextPresent

    public void waitForNotTextPresent(String text)
    Waits for the given text to disappear/change.
    Specified by:
      `waitForNotTextPresent` in interface `ScriptCommands`
    Parameters:
      `text` - the text that should disappear/change

  - ### waitForNotTitle

    public void waitForNotTitle(String title)
    Waits for the given page title change.
    Specified by:
      `waitForNotTitle` in interface `ScriptCommands`
    Parameters:
      `title` - the page title that should change

  - ### waitForNotValue

    public void waitForNotValue(String elementLocator, String value)
    Waits for the given value in the given element to disappear/change.
    Specified by:
      `waitForNotValue` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the element whose value should change
      `value` - the value that should change/disappear

  - ### waitForNotVisible

    public void waitForNotVisible(String elementLocator)
    Waits until the given element becomes invisible.
    Specified by:
      `waitForNotVisible` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator

  - ### waitForNotXpathCount

    public void waitForNotXpathCount(String xpath, int count)
    Waits for the number of elements matching the given XPath expression change to a different value than the given one.
    Specified by:
      `waitForNotXpathCount` in interface `ScriptCommands`
    Parameters:
      `xpath` - the XPath expression
      `count` - the number of elements currently matching the given XPath expression

  - ### waitForNotXpathCount

    public void waitForNotXpathCount(String xpath, String count)
    Waits for the number of elements matching the given XPath expression change to a different value than the given one.
    Specified by:
      `waitForNotXpathCount` in interface `ScriptCommands`
    Parameters:
      `xpath` - the XPath expression
      `count` - the number of elements currently matching the given XPath expression

  - ### waitForPageToLoad

    public void waitForPageToLoad()
    Waits for the page to be loaded completely.
    Specified by:
      `waitForPageToLoad` in interface `ScriptCommands`

  - ### waitForPopUp

    public void waitForPopUp()
    Waits for any pop-up window to be loaded completely.
    Specified by:
      `waitForPopUp` in interface `ScriptCommands`

  - ### waitForPopUp

    public void waitForPopUp(String windowID)
    Waits for some pop-up window to be loaded completely.
    Specified by:
      `waitForPopUp` in interface `ScriptCommands`
    Parameters:
      `windowID` - the ID of the window to wait for

  - ### waitForPopUp

    public void waitForPopUp(String windowID, long maxWaitingTime)
    Waits at most the given time for some pop-up window to be loaded completely.
    Specified by:
      `waitForPopUp` in interface `ScriptCommands`
    Parameters:
      `windowID` - the ID of the window to wait for
      `maxWaitingTime` - the maximum waiting time

  - ### waitForPopUp

    public void waitForPopUp(String windowID, String maxWaitingTime)
    Waits at most the given time for some pop-up window to be loaded completely.
    Specified by:
      `waitForPopUp` in interface `ScriptCommands`
    Parameters:
      `windowID` - the ID of the window to wait for
      `maxWaitingTime` - the maximum waiting time

  - ### waitForSelectedId

    public void waitForSelectedId(String selectLocator, String idPattern)
    Waits until the ID of at least one selected option of the given select matches the given pattern.
    Specified by:
      `waitForSelectedId` in interface `ScriptCommands`
    Parameters:
      `selectLocator` - the select element locator
      `idPattern` - the ID pattern

  - ### waitForSelectedIndex

    public void waitForSelectedIndex(String selectLocator, String indexPattern)
    Waits until the option of the given select at the given index is selected.
    Specified by:
      `waitForSelectedIndex` in interface `ScriptCommands`
    Parameters:
      `selectLocator` - the select element locator
      `indexPattern` - the option index pattern

  - ### waitForSelectedLabel

    public void waitForSelectedLabel(String selectLocator, String labelPattern)
    Waits until the label of at least one selected option of the given select matches the given pattern.
    Specified by:
      `waitForSelectedLabel` in interface `ScriptCommands`
    Parameters:
      `selectLocator` - the select element locator
      `labelPattern` - the label pattern

  - ### waitForSelectedValue

    public void waitForSelectedValue(String selectLocator, String valuePattern)
    Waits until the value of at least one selected option of the given select matches the given pattern.
    Specified by:
      `waitForSelectedValue` in interface `ScriptCommands`
    Parameters:
      `selectLocator` - the select element locator
      `valuePattern` - the value pattern

  - ### waitForStyle

    public void waitForStyle(String elementLocator, String styleText)
    Waits until the effective style of the element identified by the given element locator matches the given style.
    Specified by:
      `waitForStyle` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator
      `styleText` - the style that must match (e.g. `width: 10px; overflow: hidden;`)

  - ### waitForText

    public void waitForText(String elementLocator, String text)
    Waits for the given text embedded in the given element.
    Specified by:
      `waitForText` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the element whose text should contain the given text
      `text` - the text to wait for

  - ### waitForTextPresent

    public void waitForTextPresent(String text)
    Waits for the given text to appear.
    Specified by:
      `waitForTextPresent` in interface `ScriptCommands`
    Parameters:
      `text` - the text to wait for

  - ### waitForTitle

    public void waitForTitle(String title)
    Waits for the given page title.
    Specified by:
      `waitForTitle` in interface `ScriptCommands`
    Parameters:
      `title` - the page title to wait for

  - ### waitForValue

    public void waitForValue(String elementLocator, String value)
    Waits for the given value in the given element.
    Specified by:
      `waitForValue` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - locator identifying the element whose value should match the given value
      `value` - the value to wait for

  - ### waitForVisible

    public void waitForVisible(String elementLocator)
    Waits until the given element becomes visible.
    Specified by:
      `waitForVisible` in interface `ScriptCommands`
    Parameters:
      `elementLocator` - the element locator

  - ### waitForXpathCount

    public void waitForXpathCount(String xpath, int count)
    Waits for the number of elements matching the given XPath expression is equal to the given count.
    Specified by:
      `waitForXpathCount` in interface `ScriptCommands`
    Parameters:
      `xpath` - the XPath expression
      `count` - the number of elements to wait for

  - ### waitForXpathCount

    public void waitForXpathCount(String xpath, String count)
    Waits for the number of elements matching the given XPath expression is equal to the given count.
    Specified by:
      `waitForXpathCount` in interface `ScriptCommands`
    Parameters:
      `xpath` - the XPath expression
      `count` - the number of elements to wait for