Selenium
[ class tree: Selenium ] [ index: Selenium ] [ all elements ]

Class: Selenium

Source Location: /Selenium-0.1.5/Selenium.php

Class Overview


Selenium


Author(s):

Version:

  • 0.1.5

Methods


Inherited Variables

Inherited Methods


Class Details

[line 52]
Selenium


[ Top ]


Method Detail

__construct (Constructor)   [line 110]

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

Constructor
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

addSelection   [line 367]

string addSelection( string $locator, string $optionLocator)

Add a selection to the set of selected options in a multi-select element using an option locator.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

answerOnNextPrompt   [line 485]

string answerOnNextPrompt( string $answer)

Instructs Selenium to return the specified answer string in response to the next JavaScript prompt [window.prompt()].
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

check   [line 299]

string check( string $locator)

Check a toggle-button (checkbox/radio)
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

string   $locator   —  an element locator

[ Top ]

chooseCancelOnNextConfirmation   [line 470]

string chooseCancelOnNextConfirmation( )

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
  • Throws: Selenium_Exception
  • Access: public

[ Top ]

click   [line 177]

string click( string $locator)

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
  • Throws: Selenium_Exception
  • Access: public

Parameters:

string   $locator   —  an element locator

[ Top ]

close   [line 525]

string close( )

Simulates the user clicking the "close" button" in the titlebar of a popup window or tab.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

[ Top ]

fireEvent   [line 193]

string fireEvent( string $locator, string $eventName)

Explicitly simulate an event, to trigger the corresponding "on<em>event</em>" handler
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

getAlert   [line 586]

string getAlert( )

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
  • Throws: Selenium_Exception
  • Access: public

[ Top ]

getAllButtons   [line 986]

array getAllButtons( )

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
  • Throws: Selenium_Exception
  • Access: public

[ Top ]

getAllFields   [line 1014]

array getAllFields( )

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
  • Throws: Selenium_Exception
  • Access: public

[ Top ]

getAllLinks   [line 1000]

array getAllLinks( )

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
  • Throws: Selenium_Exception
  • Access: public

[ Top ]

getAttribute   [line 911]

string getAttribute( string $attributeLocator)

Gets the value of an element attribute
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

string   $attributeLocator   —  an element locator followd by an

[ Top ]

getBodyText   [line 672]

string getBodyText( )

Gets the entire text of the page.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

[ Top ]

getConfirmation   [line 610]

string getConfirmation( )

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
  • Throws: Selenium_Exception
  • Access: public

[ Top ]

getCursorPosition   [line 1063]

string getCursorPosition( string $locator)

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
  • Throws: Selenium_Exception
  • Access: public

Parameters:

string   $locator   —  an element locator poiting to an input element or textarea

[ Top ]

getEval   [line 728]

string getEval( $script, string $locator)

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
  • Throws: Selenium_Exception
  • Access: public

Parameters:

string   $locator   —  an element locator
   $script   — 

[ Top ]

getExpression   [line 1101]

string getExpression( string $expression)

Returns the specified expression.

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

  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

string   $expression   —  the value to return

[ Top ]

getHtmlSource   [line 1028]

string getHtmlSource( )

Returns the entire HTML source between the opening and closing "html" tags.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

[ Top ]

getLocation   [line 646]

string getLocation( )

Gets the absolute URL of the current page.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

[ Top ]

getPrompt   [line 633]

string getPrompt( )

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
  • Throws: Selenium_Exception
  • Access: public

[ Top ]

getSelectedId   [line 869]

string getSelectedId( string $selectLocator)

Gets option element ID for selected option in the specified select element.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

getSelectedIds   [line 855]

array getSelectedIds( string $selectLocator)

Gets all option element IDs for selected options in the specified select or multi-select element.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

getSelectedIndex   [line 841]

string getSelectedIndex( string $selectLocator)

Gets option index (option number, starting at 0) for selected option in the specified select element.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

getSelectedIndexes   [line 827]

array getSelectedIndexes( string $selectLocator)

Gets all option indexes (option number, starting at 0) for selected options in the specified select or multi-select element.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

getSelectedLabel   [line 785]

string getSelectedLabel( string $selectLocator)

Gets all option labels (visible text) for selected options in the specified selector multi-select element.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

getSelectedLabels   [line 771]

array getSelectedLabels( $selectLocator, string $optionLocator)

Getsall option labels (visible text) for selected options in the specified select or multi-select element.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

getSelectedValue   [line 813]

string getSelectedValue( string $selectLocator)

Gets option value (value attribute) for selected option in the specified select element.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

getSelectedValues   [line 799]

array getSelectedValues( string $selectLocator)

Gets all option values (value attributes) for selected options in the specified select or multi-select element.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

getSelectOptions   [line 897]

array getSelectOptions( string $selectLocator)

Gets all option labels in the specified select drop-down.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

getTable   [line 757]

string getTable( string $tableCellAddress)

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
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

getText   [line 705]

string getText( string $locator)

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
  • Throws: Selenium_Exception
  • Access: public

Parameters:

string   $locator   —  an element locator

[ Top ]

getTitle   [line 659]

string getTitle( )

Gets the title of the current page.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

[ Top ]

getValue   [line 688]

string getValue( string $locator)

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
  • Throws: Selenium_Exception
  • Access: public

Parameters:

string   $locator   —  an element locator

[ Top ]

goBack   [line 498]

string goBack( )

Simulates the user clicking the "back" button" on their browser.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

[ Top ]

isAlertPresent   [line 538]

boolean isAlertPresent( )

Has an alert occured?
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

[ Top ]

isChecked   [line 742]

boolean isChecked( string $locator)

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
  • Throws: Selenium_Exception
  • Access: public

Parameters:

string   $locator   —  an element locator

[ Top ]

isConfirmationPresent   [line 564]

boolean isConfirmationPresent( )

Has confirm() been called?
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

[ Top ]

isEditable   [line 972]

boolean isEditable( string $locator)

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
  • Throws: Selenium_Exception
  • Access: public

Parameters:

string   $locator   —  an element locator

[ Top ]

isElementPresent   [line 939]

boolean isElementPresent( string $locator)

Verifies that the specified element is somewhere on the page.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

string   $locator   —  an element locator

[ Top ]

isPromptPresent   [line 551]

boolean isPromptPresent( )

Has a prompt occured?
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

[ Top ]

isSomethingSelected   [line 883]

boolean isSomethingSelected( string $selectLocator)

Determines whether some option in a drop-down menu is selected.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

isTextPresent   [line 925]

boolean isTextPresent( string $pattern)

Verifies that the specified text pattern appears somewhere on the rendered page shown to the user.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

string   $pattern   —  a pattern to match with the text of the page

[ Top ]

isVisible   [line 957]

boolean isVisible( string $locator)

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
  • Throws: Selenium_Exception
  • Access: public

Parameters:

string   $locator   —  an element locator

[ Top ]

keyDown   [line 223]

string keyDown( string $locator, string $keycode)

Simulates a user pressing and pressing a key (without releasing it yet).
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

keyPress   [line 208]

string keyPress( string $locator, string $keycode)

Simulates a user pressing and releasing a key.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

keyUp   [line 238]

string keyUp( string $locator, string $keycode)

Simulates a user releasing a key
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

mouseDown   [line 267]

string mouseDown( string $locator)

Simulates a user pressing the mouse button (without releasing it yet) on the specified element.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

string   $locator   —  an element locator

[ Top ]

mouseOver   [line 252]

string mouseOver( string $locator)

Simulates a user hovering a mouse over the specified element.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

string   $locator   —  an element locator

[ Top ]

open   [line 420]

string open( string $url)

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
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

refresh   [line 511]

string refresh( )

Simulates the user clicking the "Refresh" button" on their browser.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

[ Top ]

removeSelection   [line 382]

string removeSelection( string $locator, string $optionLocator)

Remove a selection to the set of selected options in a multi-select element using an option locator.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

select   [line 352]

string select( string $selectLocator, string $optionLocator)

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
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

selectWindow   [line 436]

string selectWindow( string $windowId)

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
  • Throws: Selenium_Exception
  • Access: public

Parameters:

string   $windowId   —  the JavaScript window ID of the window to select

[ Top ]

setContext   [line 1084]

string setContext( string $context, string $logLevelThreashould)

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
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

setCursorPosition   [line 1046]

string setCursorPosition( string $locator, int $position)

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
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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.

[ Top ]

setDriver   [line 130]

void setDriver( string $driver)

Set driver for HTTP Request.
  • Throws: Selenium_Exception
  • Access: public

Parameters:

string   $driver   — 

[ Top ]

setTimeout   [line 1141]

string setTimeout( int $timeout)

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
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

start   [line 147]

string start( )

Run the browser and set session id.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

[ Top ]

stop   [line 161]

string stop( )

Close the browser and set session id null
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

[ Top ]

submit   [line 397]

string submit( string $locator)

Submit the specified form. This is particularly useful for forms without submit buttons, e.g. single-input "Search" forms.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

string   $locator   —  an element locator

[ Top ]

type   [line 285]

string type( string $locator, string $value)

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
  • Throws: Selenium_Exception
  • Access: public

Parameters:

string   $locator   —  an element locator
string   $value   —  the value to type

[ Top ]

uncheck   [line 313]

string uncheck( string $locator)

Uncheck a toggle-button (checkbox/radio)
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

string   $locator   —  an element locator

[ Top ]

waitForCondition   [line 1122]

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

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
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

waitForPageToLoad   [line 1162]

string waitForPageToLoad( [string $timeout = null])

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
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]

waitForPopUp   [line 451]

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

Wait for a popup window to appear and load up.
  • Return: on success
  • Throws: Selenium_Exception
  • Access: public

Parameters:

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

[ Top ]


Documentation generated on Mon, 11 Mar 2019 14:46:49 -0400 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.