## Class Selenium

Description

Selenium

- author: Shin Ohno <ganchiku@gmail.com>
- version: 0.1.4

Located in /Selenium.php (line 52)

Method Summary
Selenium __construct (string $browser, string $browserUrl, [string $host = 'localhost'], [int $port = 4444], [int $timeout = 30000], [string $driver = 'curl'])
string addSelection (string $locator, string $optionLocator)
string answerOnNextPrompt (string $answer)
string check (string $locator)
string chooseCancelOnNextConfirmation ()
string click (string $locator)
string close ()
string fireEvent (string $locator, string $eventName)
string getAlert ()
array getAllButtons ()
array getAllFields ()
array getAllLinks ()
string getAttribute (string $attributeLocator)
string getBodyText ()
string getConfirmation ()
string getCursorPosition (string $locator)
string getEval ( $script, string $locator)
string getExpression (string $expression)
string getHtmlSource ()
string getLocation ()
string getPrompt ()
string getSelectedId (string $selectLocator)
array getSelectedIds (string $selectLocator)
string getSelectedIndex (string $selectLocator)
array getSelectedIndexes (string $selectLocator)
string getSelectedLabel (string $selectLocator)
array getSelectedLabels ( $selectLocator, string $optionLocator)
string getSelectedValue (string $selectLocator)
array getSelectedValues (string $selectLocator)
array getSelectOptions (string $selectLocator)
string getTable (string $tableCellAddress)
string getText (string $locator)
string getTitle ()
string getValue (string $locator)
string goBack ()
boolean isAlertPresent ()
boolean isChecked (string $locator)
boolean isConfirmationPresent ()
boolean isEditable (string $locator)
boolean isElementPresent (string $locator)
boolean isPromptPresent ()
boolean isSomethingSelected (string $selectLocator)
boolean isTextPattern (string $pattern)
boolean isVisible (string $locator)
string keyDown (string $locator, string $keycode)
string keyPress (string $locator, string $keycode)
string keyUp (string $locator, string $keycode)
string mouseDown (string $locator)
string mouseOver (string $locator)
string open (string $url)
string refresh ()
string removeSelection (string $locator, string $optionLocator)
string select (string $selectLocator, string $optionLocator)
string selectWindow (string $windowId)
string setContext (string $context, string $logLevelThreashould)
string setCursorPosition (string $locator, int $position)
void setDriver (string $driver)
string setTimeout (int $timeout)
string start ()
string stop ()
string submit (string $locator)
string type (string $locator, string $value)
string uncheck (string $locator)
string waitForCondition (string $script, [int $timeout = null])
string waitForPageToLoad ([string $timeout = null])
string waitForPopUp (string $windowId, [int $timeout = null])
Methods
Constructor __construct (line 110)

Constructor

- throws: Selenium_Exception
- access: public

Selenium __construct (string $browser, string $browserUrl, [string $host = 'localhost'], [int $port = 4444], [int $timeout = 30000], [string $driver = 'curl'])

- string $browser
- string $browserUrl
- string $host
- int $port
- int $timeout
- string $driver

addSelection (line 367)

Add a selection to the set of selected options in a multi-select element using an option locator.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string addSelection (string $locator, string $optionLocator)

- string $locator: an element locator identifying a multi-select box
- string $optionLocator: an option locator (a label by default)

answerOnNextPrompt (line 485)

Instructs Selenium to return the specified answer string in response to the next JavaScript prompt [window.prompt()].

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string answerOnNextPrompt (string $answer)

- string $answer: the answer to give in response to the prompt pop-up

check (line 299)

Check a toggle-button (checkbox/radio)

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string check (string $locator)

- string $locator: an element locator

chooseCancelOnNextConfirmation (line 470)

By default, Selenium's overridden window.confirm() function will return true, as if the user had manually clicked OK. After running this command, the next call to confirm() will return false, as if the user had clicked Cancel.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string chooseCancelOnNextConfirmation ()
click (line 177)

Clicks on a link, button, checkbox or radio button. If the click action cause a new page to load (like a link usually does), call waitForPageToLoad.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string click (string $locator)

- string $locator: an element locator

close (line 525)

Simulates the user clicking the "close" button" in the titlebar of a popup window or tab.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string close ()
fireEvent (line 193)

Explicitly simulate an event, to trigger the corresponding "on<em>event</em>" handler

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string fireEvent (string $locator, string $eventName)

- string $locator: an element locator
- string $eventName: the event name, e.g. "focus" or "blur"

getAlert (line 586)

Retrieves the message of a JavaScript alert generated during the previous action, or fail if there were no alerts.

Getting an alert has the same effect as manually clicking OK. If an alert is generated but you do not get/verify it, the next Selenium action will fail. NOTE: under Selenium, JavaScript alerts will NOT pop up a visible alert dialog. NOTE: Selenium does NOT support JavaScript alerts that are generated in a page's onload() event handler. In this case a visible dialog WILL be generated and Selenium will hang until someone manually clicks OK.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string getAlert ()
getAllButtons (line 986)

Returns the IDs of all buttons on the page.

If a given button has no ID, it will appear as "" in the array.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

array getAllButtons ()
getAllFields (line 1014)

Returns the IDs of all nput fields on the page.

If a given field has no ID, it will appear as "" in the array.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

array getAllFields ()
getAllLinks (line 1000)

Returns the IDs of all links on the page.

If a given link has no ID, it will appear as "" in the array.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

array getAllLinks ()
getAttribute (line 911)

Gets the value of an element attribute

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string getAttribute (string $attributeLocator)

- string $attributeLocator: an element locator followd by an

getBodyText (line 672)

Gets the entire text of the page.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string getBodyText ()
getConfirmation (line 610)

Retrieves the message of a JavaScript confirmation dialog generated during the previous action.

By default, the confirm function will return true, having the same effect as manually clicking OK. This can be changed by prior execution of the chooseCancelOnNextConfirmation command. If an confirmation is generated but you do not get/verify it, the next Selenium action will fail. NOTE: under Selenium, JavaScript confirmations will NOT pop up a visible dialog. NOTE: Selenium does NOT support JavaScript confirmations that are generated in a page's onload() event handler. In this case a visible dialog WILL be generated and Selenium will hang until you manually click OK.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string getConfirmation ()
getCursorPosition (line 1063)

Retrieves the text cursor position in the given input element or textarea; beware, this may not work perfectly on all browsers.

Specifically, if the cursor/selection has been cleared by JavaScript, this command will tend to return the position of the last location of the cursor, even though the cursor is now gone from the page. This is filed as SEL-243. This method will fail if the specified element isn't an input element or textarea, or there is no cursor in the element.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string getCursorPosition (string $locator)

- string $locator: an element locator poiting to an input element or textarea

getEval (line 728)

Gets the result of evaluating the specified JavaScript snippet. The snippet may have multiple lines, but only the result of the last line will be returned.

Note that, by default, the snippet will run in the context of the "selenium" object itself, so <tt>this</tt> will refer to the Selenium object, and <tt>window</tt> will refer to the top-level runner test window, not the window of your application. If you need a reference to the window of your application, you can refer to <tt>this.browserbot.getCurrentWindow()</tt> and if you need to use a locator to refer to a single element in your application page, you can use <tt>this.page().findElement("foo")</tt> where "foo" is your locator.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string getEval ( $script, string $locator)

- string $locator: an element locator
- $script

getExpression (line 1101)

Returns the specified expression.

This is useful because of JavaScript preprocessing. It is used to generate commands like assertExpression and waitForExpression.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string getExpression (string $expression)

- string $expression: the value to return

getHtmlSource (line 1028)

Returns the entire HTML source between the opening and closing "html" tags.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string getHtmlSource ()
getLocation (line 646)

Gets the absolute URL of the current page.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string getLocation ()
getPrompt (line 633)

Retrieves the message of a JavaScript question prompt dialog generated during the previous action.

Successful handling of the prompt requires prior execution of the answerOnNextPrompt command. If a prompt is generated but you do not get/verify it, the next Selenium action will fail. NOTE: under Selenium, JavaScript prompts will NOT pop up a visible dialog. NOTE: Selenium does NOT support JavaScript prompts that are generated in a page's onload() event handler. In this case a visible dialog WILL be generated and Selenium will hang until someone manually clicks OK

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string getPrompt ()
getSelectedId (line 869)

Gets option element ID for selected option in the specified select element.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string getSelectedId (string $selectLocator)

- string $selectLocator: an element locator identifying a drop-down menu

getSelectedIds (line 855)

Gets all option element IDs for selected options in the specified select or multi-select element.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

array getSelectedIds (string $selectLocator)

- string $selectLocator: an element locator identifying a drop-down menu

getSelectedIndex (line 841)

Gets option index (option number, starting at 0) for selected option in the specified select element.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string getSelectedIndex (string $selectLocator)

- string $selectLocator: an element locator identifying a drop-down menu

getSelectedIndexes (line 827)

Gets all option indexes (option number, starting at 0) for selected options in the specified select or multi-select element.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

array getSelectedIndexes (string $selectLocator)

- string $selectLocator: an element locator identifying a drop-down menu

getSelectedLabel (line 785)

Gets all option labels (visible text) for selected options in the specified selector multi-select element.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string getSelectedLabel (string $selectLocator)

- string $selectLocator: an element locator identifying a drop-down menu

getSelectedLabels (line 771)

Getsall option labels (visible text) for selected options in the specified select or multi-select element.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

array getSelectedLabels ( $selectLocator, string $optionLocator)

- string $optionLocator: an option locator (a label by default)
- $selectLocator

getSelectedValue (line 813)

Gets option value (value attribute) for selected option in the specified select element.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string getSelectedValue (string $selectLocator)

- string $selectLocator: an element locator identifying a drop-down menu

getSelectedValues (line 799)

Gets all option values (value attributes) for selected options in the specified select or multi-select element.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

array getSelectedValues (string $selectLocator)

- string $selectLocator: an element locator identifying a drop-down menu

getSelectOptions (line 897)

Gets all option labels in the specified select drop-down.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

array getSelectOptions (string $selectLocator)

- string $selectLocator: an element locator identifying a drop-down menu

getTable (line 757)

Gets the text from a cell of a table. The cellAddress syntax tableLocator.row.column, where row and column start at 0.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string getTable (string $tableCellAddress)

- string $tableCellAddress: a cell address, e.g. "foo.1.4"

getText (line 705)

Gets the text of an element. This works for any element that contains

text. This command uses either the textContent (Mozilla-like browsers) or the innerText (IE-like browsers) of the element, which is the rendered text shown to the user

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string getText (string $locator)

- string $locator: an element locator

getTitle (line 659)

Gets the title of the current page.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string getTitle ()
getValue (line 688)

Gets the (whitespace-trimmed) value of an input field (or anything else with a value parameter).

For checkbox/radio elements, the value will be "on" or "off" depending on whether the element is checked or not.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string getValue (string $locator)

- string $locator: an element locator

goBack (line 498)

Simulates the user clicking the "back" button" on their browser.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string goBack ()
isAlertPresent (line 538)

Has an alert occured?

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

boolean isAlertPresent ()
isChecked (line 742)

Gets whether a toggle-button (checkbox/radio) is checked. Fails if the specified element does't exist or isn't a toggle button.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

boolean isChecked (string $locator)

- string $locator: an element locator

isConfirmationPresent (line 564)

Has confirm() been called?

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

boolean isConfirmationPresent ()
isEditable (line 972)

Determines whether the specified input element is editable, ie hasn't been disabled.

This method will fail if the specified element isn't an input element.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

boolean isEditable (string $locator)

- string $locator: an element locator

isElementPresent (line 939)

Verifies that the specified element is somewhere on the page.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

boolean isElementPresent (string $locator)

- string $locator: an element locator

isPromptPresent (line 551)

Has a prompt occured?

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

boolean isPromptPresent ()
isSomethingSelected (line 883)

Determines whether some option in a drop-down menu is selected.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

boolean isSomethingSelected (string $selectLocator)

- string $selectLocator: an element locator identifying a drop-down menu

isTextPattern (line 925)

Verifies that the specified text pattern appears somewhere on the rendered page shown to the user.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

boolean isTextPattern (string $pattern)

- string $pattern: a pattern to match with the text of the page

isVisible (line 957)

Determines if the specified element is visible. An

element can be rendered invisible by setting the CSS "visibility" property to "hidden", or the "display" property to "none", either for the element itself or one if its ancestors. This method will fail if the element is not present.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

boolean isVisible (string $locator)

- string $locator: an element locator

keyDown (line 223)

Simulates a user pressing and pressing a key (without releasing it yet).

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string keyDown (string $locator, string $keycode)

- string $locator: an element locator
- string $keycode: the numeric keycode of the key to be pressed, normally the ASCII value of that key.

keyPress (line 208)

Simulates a user pressing and releasing a key.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string keyPress (string $locator, string $keycode)

- string $locator: an element locator
- string $keycode: the numeric keycode of the key to be pressed, normally the ASCII value of that key.

keyUp (line 238)

Simulates a user releasing a key

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string keyUp (string $locator, string $keycode)

- string $locator: an element locator
- string $keycode: the numeric keycode of the key to be pressed, normally the ASCII value of that key.

mouseDown (line 267)

Simulates a user pressing the mouse button (without releasing it yet) on the specified element.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string mouseDown (string $locator)

- string $locator: an element locator

mouseOver (line 252)

Simulates a user hovering a mouse over the specified element.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string mouseOver (string $locator)

- string $locator: an element locator

open (line 420)

Open the UrL in the test frame. This accepts both relative and absolute URLs.

The "open" command waits for the page to load before proceeding. ie. the "AndWait" suffix is implicit.

<em>Note</em>: The URL must be on the same domain as the runner HTML due to security restrictions in the browser (Same Origin Policy). If you need to open an URL on another domain, use the Selenium Server to start a new browser session on that domain.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string open (string $url)

- string $url: the URL to open; may be relative or absolute

refresh (line 511)

Simulates the user clicking the "Refresh" button" on their browser.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string refresh ()
removeSelection (line 382)

Remove a selection to the set of selected options in a multi-select element using an option locator.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string removeSelection (string $locator, string $optionLocator)

- string $locator: an element locator identifying a multi-select box
- string $optionLocator: an option locator (a label by default)

select (line 352)

Select an option from a drop-down using an option locator.

Option locators provide different ways of specifying options of an HTML Select element (e.g. for selecting a specific option, or for asserting that the selected option satisfies a specification). There are several forms of Select Option Locator.

label=<em>labelPattern</em>:: matches options based on their labels, i.e. the visible text. (This is the default.) label=regexp:^[Oo]ther

value=<em>valuePattern</em>:: matches options based on their values. value=other

id=<em>id</em>:: matches options based on their ids. id=option1

index=<em>index</em>:: matches an option based on its index (offset from zero). index=2

If no option locator prefix is provided, the default behaviour is to match on label.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string select (string $selectLocator, string $optionLocator)

- string $selectLocator: an element locator identifying a drop-down menu
- string $optionLocator: an option locator (a label by default)

selectWindow (line 436)

Selects a popup window; once a popup window has been selected, all commands go to that window. To select the main window again, use "null" as the target.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string selectWindow (string $windowId)

- string $windowId: the JavaScript window ID of the window to select

setContext (line 1084)

Writes a message to the status bar and adds a note to the browser-side log.

If logLevelThreshold is specified, set the threshold for logging to that level (debug, info, warn, error). (Note that the browser-side logs will <em>not</em> be sent back to the server, and are invisible to the Client Driver.)

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string setContext (string $context, string $logLevelThreashould)

- string $context: the message to be sent to the browser
- string $logLevelThreashould: one of "debug", "info", "warn" , "error", sets the thrshould for browser-side logging

setCursorPosition (line 1046)

Moves the text cursor to the specified position in the given input element or textarea.

This method will fail if the specified element isn't an input element or textarea

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string setCursorPosition (string $locator, int $position)

- string $locator: an element locator pointing to an input element or textarea
- int $position: the numerical position of the cursor in the field; position should be 0 to move the position to the beginning of the field. You can also set the cursor to -1 to move it to the endo of the field.

setDriver (line 130)

Set driver for HTTP Request.

- access: public
- throws: Selenium_Exception

void setDriver (string $driver)

- string $driver

setTimeout (line 1141)

Specifies the amount of time that Selenium will wait for actions to complete.

Actions that require waiting include "open" and the "waitFor*" actions. The default timeout is 30 seconds.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string setTimeout (int $timeout)

- int $timeout: in milliseconds, after which the action will return with an error

start (line 147)

Run the browser and set session id.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string start ()
stop (line 161)

Close the browser and set session id null

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string stop ()
submit (line 397)

Submit the specified form. This is particularly useful for forms without submit buttons, e.g. single-input "Search" forms.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string submit (string $locator)

- string $locator: an element locator

type (line 285)

Set the value of an input field, as though you typed it in.

can also be used to set the value of combo boxes, check boxes, etc. In these cases, value should be the value of the option selected, not the visible text.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string type (string $locator, string $value)

- string $locator: an element locator
- string $value: the value to type

uncheck (line 313)

Uncheck a toggle-button (checkbox/radio)

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string uncheck (string $locator)

- string $locator: an element locator

waitForCondition (line 1122)

Runs the specified JavaScript snippet repeatedly until it evaluates to "true".

The snippet may have multiple lines, but only the result of the last line will be considered. Note that, by default, the snippet will be run in the runner's test window, not in the window of your application. To get the window of your application, you can use the JavaScript snippet <tt>selenium.browserbot.getCurrentWindow()</tt>, and then run your JavaScript in there

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string waitForCondition (string $script, [int $timeout = null])

- string $script: the JavaScript snippet to run
- int $timeout: in milliseconds, after which this command will return with an error

waitForPageToLoad (line 1162)

Waits for a new page to load.

You can use this command instead of the "AndWait" suffixes, "clickAndWait", "selectAndWait", "typeAndWait" etc. (which are only available in the JS API). Selenium constantly keeps track of new pages loading, and sets a "newPageLoaded" flag when it first notices a page load. Running any other Selenium command after turns the flag to false. Hence, if you want to wait for a page to load, you must wait immediately after a Selenium command that caused a page-load.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string waitForPageToLoad ([string $timeout = null])

- string $timeout: a timeout in milliseconds, after which this command will return with an error

waitForPopUp (line 451)

Wait for a popup window to appear and load up.

- return: on success, error object on failure
- access: public
- throws: Selenium_Exception

string waitForPopUp (string $windowId, [int $timeout = null])

- string $windowId: the JavaScript window ID of the window to select
- int $timeout: a timeout in milliseconds, after which the action will return with an error

Documentation generated on Wed, 06 Sep 2006 23:24:47 +0900 by phpDocumentor 1.3.0RC6