Class webdriver.ActionSequence

code »

Class for defining sequences of complex user interactions. Each sequence will not be executed until #perform is called.

Example:


   new webdriver.ActionSequence(driver).
       keyDown(webdriver.Key.SHIFT).
       click(element1).
       click(element2).
       dragAndDrop(element3, element4).
       keyUp(webdriver.Key.SHIFT).
       perform();
 

Constructor

webdriver.ActionSequence ( driver )
Parameters
driver: !webdriver.WebDriver
The driver instance to use.
Show:

Instance Methods

code »click ( opt_elementOrButton, opt_button )!webdriver.ActionSequence

Clicks a mouse button.

If an element is provided, the mouse will first be moved to the center of that element. This is equivalent to:

sequence.mouseMove(element).click()
Parameters
opt_elementOrButton: (webdriver.WebElement|webdriver.Button)=
Either the element to interact with or the button to click with. Defaults to webdriver.Button.LEFT if neither an element nor button is specified.
opt_button: webdriver.Button=
The button to use. Defaults to webdriver.Button.LEFT. Ignored if a button is provided as the first argument.
Returns
A self reference.
code »doubleClick ( opt_elementOrButton, opt_button )!webdriver.ActionSequence

Double-clicks a mouse button.

If an element is provided, the mouse will first be moved to the center of that element. This is equivalent to:

sequence.mouseMove(element).doubleClick()

Warning: this method currently only supports the left mouse button. See http://code.google.com/p/selenium/issues/detail?id=4047

Parameters
opt_elementOrButton: (webdriver.WebElement|webdriver.Button)=
Either the element to interact with or the button to click with. Defaults to webdriver.Button.LEFT if neither an element nor button is specified.
opt_button: webdriver.Button=
The button to use. Defaults to webdriver.Button.LEFT. Ignored if a button is provided as the first argument.
Returns
A self reference.
code »dragAndDrop ( element, location )!webdriver.ActionSequence

Convenience function for performing a "drag and drop" manuever. The target element may be moved to the location of another element, or by an offset (in pixels).

Parameters
element: !webdriver.WebElement
The element to drag.
location: (!webdriver.WebElement|{x: number, y: number})
The location to drag to, either as another WebElement or an offset in pixels.
Returns
A self reference.

Performs a modifier key press. The modifier key is not released until #keyUp or #sendKeys is called. The key press will be targetted at the currently focused element.

Parameters
key: !webdriver.Key
The modifier key to push. Must be one of {ALT, CONTROL, SHIFT, COMMAND, META}.
Returns
A self reference.
Throws
Error
If the key is not a valid modifier key.

Performs a modifier key release. The release is targetted at the currently focused element.

Parameters
key: !webdriver.Key
The modifier key to release. Must be one of {ALT, CONTROL, SHIFT, COMMAND, META}.
Returns
A self reference.
Throws
Error
If the key is not a valid modifier key.
code »mouseDown ( opt_elementOrButton, opt_button )!webdriver.ActionSequence

Presses a mouse button. The mouse button will not be released until #mouseUp is called, regardless of whether that call is made in this sequence or another. The behavior for out-of-order events (e.g. mouseDown, click) is undefined.

If an element is provided, the mouse will first be moved to the center of that element. This is equivalent to:

sequence.mouseMove(element).mouseDown()

Warning: this method currently only supports the left mouse button. See http://code.google.com/p/selenium/issues/detail?id=4047

Parameters
opt_elementOrButton: (webdriver.WebElement|webdriver.Button)=
Either the element to interact with or the button to click with. Defaults to webdriver.Button.LEFT if neither an element nor button is specified.
opt_button: webdriver.Button=
The button to use. Defaults to webdriver.Button.LEFT. Ignored if a button is provided as the first argument.
Returns
A self reference.
code »mouseMove ( location, opt_offset )!webdriver.ActionSequence

Moves the mouse. The location to move to may be specified in terms of the mouse's current location, an offset relative to the top-left corner of an element, or an element (in which case the middle of the element is used).

Parameters
location: (!webdriver.WebElement|{x: number, y: number})
The location to drag to, as either another WebElement or an offset in pixels.
opt_offset: {x: number, y: number}=
If the target location is defined as a webdriver.WebElement, this parameter defines an offset within that element. The offset should be specified in pixels relative to the top-left corner of the element's bounding box. If omitted, the element's center will be used as the target offset.
Returns
A self reference.
code »mouseUp ( opt_elementOrButton, opt_button )!webdriver.ActionSequence

Releases a mouse button. Behavior is undefined for calling this function without a previous call to #mouseDown.

If an element is provided, the mouse will first be moved to the center of that element. This is equivalent to:

sequence.mouseMove(element).mouseUp()

Warning: this method currently only supports the left mouse button. See http://code.google.com/p/selenium/issues/detail?id=4047

Parameters
opt_elementOrButton: (webdriver.WebElement|webdriver.Button)=
Either the element to interact with or the button to click with. Defaults to webdriver.Button.LEFT if neither an element nor button is specified.
opt_button: webdriver.Button=
The button to use. Defaults to webdriver.Button.LEFT. Ignored if a button is provided as the first argument.
Returns
A self reference.

Executes this action sequence.

Returns
A promise that will be resolved once this sequence has completed.

Schedules a keyboard action.

Parameters
description: string
A simple descriptive label for the scheduled action.
keys: !Array
The keys to send.
Returns
A self reference.
code »scheduleMouseAction_ ( description, commandName, opt_elementOrButton, opt_button )!webdriver.ActionSequence

Schedules a mouse action.

Parameters
description: string
A simple descriptive label for the scheduled action.
commandName: !webdriver.CommandName
The name of the command.
opt_elementOrButton: (webdriver.WebElement|webdriver.Button)=
Either the element to interact with or the button to click with. Defaults to webdriver.Button.LEFT if neither an element nor button is specified.
opt_button: webdriver.Button=
The button to use. Defaults to webdriver.Button.LEFT. Ignored if the previous argument is provided as a button.
Returns
A self reference.
code »schedule_ ( description, command )

Schedules an action to be executed each time #perform is called on this instance.

Parameters
description: string
A description of the command.
command: !webdriver.Command
The command.

Simulates typing multiple keys. Each modifier key encountered in the sequence will not be released until it is encountered again. All key events will be targetted at the currently focused element.

Parameters
var_args: ...(string|!webdriver.Key|!Array)
The keys to type.
Returns
A self reference.
Throws
Error
If the key is not a valid modifier key.

Instance Properties

Static Functions

Checks that a key is a modifier key.

Parameters
key: !webdriver.Key
The key to check.
Throws
Error
If the key is not a modifier key.