|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.thoughtworks.selenium.DefaultSelenium
public class DefaultSelenium
The default implementation of the Selenium interface; end users will primarily interact with this object.
| Field Summary | |
|---|---|
protected CommandProcessor |
commandProcessor
|
| Constructor Summary | |
|---|---|
DefaultSelenium(CommandProcessor processor)
Uses an arbitrary CommandProcessor |
|
DefaultSelenium(java.lang.String serverHost,
int serverPort,
java.lang.String browserStartCommand,
java.lang.String browserURL)
Uses a CommandBridgeClient, specifying a server host/port, a command to launch the browser, and a starting URL for the browser. |
|
| Method Summary | |
|---|---|
void |
addLocationStrategy(java.lang.String strategyName,
java.lang.String functionDefinition)
Defines a new function for Selenium to locate elements on the page. |
void |
addSelection(java.lang.String locator,
java.lang.String optionLocator)
Add a selection to the set of selected options in a multi-select element using an option locator. |
void |
allowNativeXpath(java.lang.String allow)
Specifies whether Selenium should use the native in-browser implementation of XPath (if any native version is available); if you pass "false" to this function, we will always use our pure-JavaScript xpath library. |
void |
altKeyDown()
Press the alt key and hold it down until doAltUp() is called or a new page is loaded. |
void |
altKeyUp()
Release the alt key. |
void |
answerOnNextPrompt(java.lang.String answer)
Instructs Selenium to return the specified answer string in response to the next JavaScript prompt [window.prompt()]. |
void |
assignId(java.lang.String locator,
java.lang.String identifier)
Temporarily sets the "id" attribute of the specified element, so you can locate it in the future using its ID rather than a slow/complicated XPath. |
void |
attachFile(java.lang.String fieldLocator,
java.lang.String fileLocator)
Sets a file input (upload) field to the file listed in fileLocator |
void |
captureEntirePageScreenshot(java.lang.String filename)
Saves the entire contents of the current window canvas to a PNG file. |
void |
captureScreenshot(java.lang.String filename)
Captures a PNG screenshot to the specified file. |
void |
check(java.lang.String locator)
Check a toggle-button (checkbox/radio) |
void |
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. |
void |
chooseOkOnNextConfirmation()
Undo the effect of calling chooseCancelOnNextConfirmation. |
void |
click(java.lang.String locator)
Clicks on a link, button, checkbox or radio button. |
void |
clickAt(java.lang.String locator,
java.lang.String coordString)
Clicks on a link, button, checkbox or radio button. |
void |
close()
Simulates the user clicking the "close" button in the titlebar of a popup window or tab. |
void |
contextMenu(java.lang.String locator)
Simulates opening the context menu for the specified element (as might happen if the user "right-clicked" on the element). |
void |
contextMenuAt(java.lang.String locator,
java.lang.String coordString)
Simulates opening the context menu for the specified element (as might happen if the user "right-clicked" on the element). |
void |
controlKeyDown()
Press the control key and hold it down until doControlUp() is called or a new page is loaded. |
void |
controlKeyUp()
Release the control key. |
void |
createCookie(java.lang.String nameValuePair,
java.lang.String optionsString)
Create a new cookie whose path and domain are same with those of current page under test, unless you specified a path for this cookie explicitly. |
void |
deleteAllVisibleCookies()
Calls deleteCookie with recurse=true on all cookies visible to the current page. |
void |
deleteCookie(java.lang.String name,
java.lang.String optionsString)
Delete a named cookie with specified path and domain. |
void |
doubleClick(java.lang.String locator)
Double clicks on a link, button, checkbox or radio button. |
void |
doubleClickAt(java.lang.String locator,
java.lang.String coordString)
Doubleclicks on a link, button, checkbox or radio button. |
void |
dragAndDrop(java.lang.String locator,
java.lang.String movementsString)
Drags an element a certain distance and then drops it |
void |
dragAndDropToObject(java.lang.String locatorOfObjectToBeDragged,
java.lang.String locatorOfDragDestinationObject)
Drags an element and drops it on another element |
void |
dragdrop(java.lang.String locator,
java.lang.String movementsString)
deprecated - use dragAndDrop instead |
void |
fireEvent(java.lang.String locator,
java.lang.String eventName)
Explicitly simulate an event, to trigger the corresponding "onevent" handler. |
void |
focus(java.lang.String locator)
Move the focus to the specified element; for example, if the element is an input field, move the cursor to that field. |
java.lang.String |
getAlert()
Retrieves the message of a JavaScript alert generated during the previous action, or fail if there were no alerts. |
java.lang.String[] |
getAllButtons()
Returns the IDs of all buttons on the page. |
java.lang.String[] |
getAllFields()
Returns the IDs of all input fields on the page. |
java.lang.String[] |
getAllLinks()
Returns the IDs of all links on the page. |
java.lang.String[] |
getAllWindowIds()
Returns the IDs of all windows that the browser knows about. |
java.lang.String[] |
getAllWindowNames()
Returns the names of all windows that the browser knows about. |
java.lang.String[] |
getAllWindowTitles()
Returns the titles of all windows that the browser knows about. |
java.lang.String |
getAttribute(java.lang.String attributeLocator)
Gets the value of an element attribute. |
java.lang.String[] |
getAttributeFromAllWindows(java.lang.String attributeName)
Returns every instance of some attribute from all known windows. |
java.lang.String |
getBodyText()
Gets the entire text of the page. |
java.lang.String |
getConfirmation()
Retrieves the message of a JavaScript confirmation dialog generated during the previous action. |
java.lang.String |
getCookie()
Return all cookies of the current page under test. |
java.lang.String |
getCookieByName(java.lang.String name)
Returns the value of the cookie with the specified name, or throws an error if the cookie is not present. |
java.lang.Number |
getCursorPosition(java.lang.String locator)
Retrieves the text cursor position in the given input element or textarea; beware, this may not work perfectly on all browsers. |
java.lang.Number |
getElementHeight(java.lang.String locator)
Retrieves the height of an element |
java.lang.Number |
getElementIndex(java.lang.String locator)
Get the relative index of an element to its parent (starting from 0). |
java.lang.Number |
getElementPositionLeft(java.lang.String locator)
Retrieves the horizontal position of an element |
java.lang.Number |
getElementPositionTop(java.lang.String locator)
Retrieves the vertical position of an element |
java.lang.Number |
getElementWidth(java.lang.String locator)
Retrieves the width of an element |
java.lang.String |
getEval(java.lang.String script)
Gets the result of evaluating the specified JavaScript snippet. |
java.lang.String |
getExpression(java.lang.String expression)
Returns the specified expression. |
java.lang.String |
getHtmlSource()
Returns the entire HTML source between the opening and closing "html" tags. |
java.lang.String |
getLocation()
Gets the absolute URL of the current page. |
java.lang.Number |
getMouseSpeed()
Returns the number of pixels between "mousemove" events during dragAndDrop commands (default=10). |
java.lang.String |
getPrompt()
Retrieves the message of a JavaScript question prompt dialog generated during the previous action. |
java.lang.String |
getSelectedId(java.lang.String selectLocator)
Gets option element ID for selected option in the specified select element. |
java.lang.String[] |
getSelectedIds(java.lang.String selectLocator)
Gets all option element IDs for selected options in the specified select or multi-select element. |
java.lang.String |
getSelectedIndex(java.lang.String selectLocator)
Gets option index (option number, starting at 0) for selected option in the specified select element. |
java.lang.String[] |
getSelectedIndexes(java.lang.String selectLocator)
Gets all option indexes (option number, starting at 0) for selected options in the specified select or multi-select element. |
java.lang.String |
getSelectedLabel(java.lang.String selectLocator)
Gets option label (visible text) for selected option in the specified select element. |
java.lang.String[] |
getSelectedLabels(java.lang.String selectLocator)
Gets all option labels (visible text) for selected options in the specified select or multi-select element. |
java.lang.String |
getSelectedValue(java.lang.String selectLocator)
Gets option value (value attribute) for selected option in the specified select element. |
java.lang.String[] |
getSelectedValues(java.lang.String selectLocator)
Gets all option values (value attributes) for selected options in the specified select or multi-select element. |
java.lang.String[] |
getSelectOptions(java.lang.String selectLocator)
Gets all option labels in the specified select drop-down. |
java.lang.String |
getSpeed()
Get execution speed (i.e., get the millisecond length of the delay following each selenium operation). |
java.lang.String |
getTable(java.lang.String tableCellAddress)
Gets the text from a cell of a table. |
java.lang.String |
getText(java.lang.String locator)
Gets the text of an element. |
java.lang.String |
getTitle()
Gets the title of the current page. |
java.lang.String |
getValue(java.lang.String locator)
Gets the (whitespace-trimmed) value of an input field (or anything else with a value parameter). |
boolean |
getWhetherThisFrameMatchFrameExpression(java.lang.String currentFrameString,
java.lang.String target)
Determine whether current/locator identify the frame containing this running code. |
boolean |
getWhetherThisWindowMatchWindowExpression(java.lang.String currentWindowString,
java.lang.String target)
Determine whether currentWindowString plus target identify the window containing this running code. |
java.lang.Number |
getXpathCount(java.lang.String xpath)
Returns the number of nodes that match the specified xpath, eg. |
void |
goBack()
Simulates the user clicking the "back" button on their browser. |
void |
highlight(java.lang.String locator)
Briefly changes the backgroundColor of the specified element yellow. |
void |
ignoreAttributesWithoutValue(java.lang.String ignore)
Specifies whether Selenium will ignore xpath attributes that have no value, i.e. |
boolean |
isAlertPresent()
Has an alert occurred? |
boolean |
isChecked(java.lang.String locator)
Gets whether a toggle-button (checkbox/radio) is checked. |
boolean |
isConfirmationPresent()
Has confirm() been called? |
boolean |
isCookiePresent(java.lang.String name)
Returns true if a cookie with the specified name is present, or false otherwise. |
boolean |
isEditable(java.lang.String locator)
Determines whether the specified input element is editable, ie hasn't been disabled. |
boolean |
isElementPresent(java.lang.String locator)
Verifies that the specified element is somewhere on the page. |
boolean |
isOrdered(java.lang.String locator1,
java.lang.String locator2)
Check if these two elements have same parent and are ordered siblings in the DOM. |
boolean |
isPromptPresent()
Has a prompt occurred? |
boolean |
isSomethingSelected(java.lang.String selectLocator)
Determines whether some option in a drop-down menu is selected. |
boolean |
isTextPresent(java.lang.String pattern)
Verifies that the specified text pattern appears somewhere on the rendered page shown to the user. |
boolean |
isVisible(java.lang.String locator)
Determines if the specified element is visible. |
void |
keyDown(java.lang.String locator,
java.lang.String keySequence)
Simulates a user pressing a key (without releasing it yet). |
void |
keyDownNative(java.lang.String keycode)
Simulates a user pressing a key (without releasing it yet) by sending a native operating system keystroke. |
void |
keyPress(java.lang.String locator,
java.lang.String keySequence)
Simulates a user pressing and releasing a key. |
void |
keyPressNative(java.lang.String keycode)
Simulates a user pressing and releasing a key by sending a native operating system keystroke. |
void |
keyUp(java.lang.String locator,
java.lang.String keySequence)
Simulates a user releasing a key. |
void |
keyUpNative(java.lang.String keycode)
Simulates a user releasing a key by sending a native operating system keystroke. |
void |
metaKeyDown()
Press the meta key and hold it down until doMetaUp() is called or a new page is loaded. |
void |
metaKeyUp()
Release the meta key. |
void |
mouseDown(java.lang.String locator)
Simulates a user pressing the mouse button (without releasing it yet) on the specified element. |
void |
mouseDownAt(java.lang.String locator,
java.lang.String coordString)
Simulates a user pressing the mouse button (without releasing it yet) at the specified location. |
void |
mouseMove(java.lang.String locator)
Simulates a user pressing the mouse button (without releasing it yet) on the specified element. |
void |
mouseMoveAt(java.lang.String locator,
java.lang.String coordString)
Simulates a user pressing the mouse button (without releasing it yet) on the specified element. |
void |
mouseOut(java.lang.String locator)
Simulates a user moving the mouse pointer away from the specified element. |
void |
mouseOver(java.lang.String locator)
Simulates a user hovering a mouse over the specified element. |
void |
mouseUp(java.lang.String locator)
Simulates the event that occurs when the user releases the mouse button (i.e., stops holding the button down) on the specified element. |
void |
mouseUpAt(java.lang.String locator,
java.lang.String coordString)
Simulates the event that occurs when the user releases the mouse button (i.e., stops holding the button down) at the specified location. |
void |
open(java.lang.String url)
Opens an URL in the test frame. |
void |
openWindow(java.lang.String url,
java.lang.String windowID)
Opens a popup window (if a window with that ID isn't already open). |
void |
refresh()
Simulates the user clicking the "Refresh" button on their browser. |
void |
removeAllSelections(java.lang.String locator)
Unselects all of the selected options in a multi-select element. |
void |
removeSelection(java.lang.String locator,
java.lang.String optionLocator)
Remove a selection from the set of selected options in a multi-select element using an option locator. |
void |
runScript(java.lang.String script)
Creates a new "script" tag in the body of the current test window, and adds the specified text into the body of the command. |
void |
select(java.lang.String selectLocator,
java.lang.String optionLocator)
Select an option from a drop-down using an option locator. |
void |
selectFrame(java.lang.String locator)
Selects a frame within the current window. |
void |
selectWindow(java.lang.String windowID)
Selects a popup window using a window locator; once a popup window has been selected, all commands go to that window. |
void |
setBrowserLogLevel(java.lang.String logLevel)
Sets the threshold for browser-side logging messages; log messages beneath this threshold will be discarded. |
void |
setContext(java.lang.String context)
Writes a message to the status bar and adds a note to the browser-side log. |
void |
setCursorPosition(java.lang.String locator,
java.lang.String position)
Moves the text cursor to the specified position in the given input element or textarea. |
void |
setMouseSpeed(java.lang.String pixels)
Configure the number of pixels between "mousemove" events during dragAndDrop commands (default=10). |
void |
setSpeed(java.lang.String value)
Set execution speed (i.e., set the millisecond length of a delay which will follow each selenium operation). |
void |
setTimeout(java.lang.String timeout)
Specifies the amount of time that Selenium will wait for actions to complete. |
void |
shiftKeyDown()
Press the shift key and hold it down until doShiftUp() is called or a new page is loaded. |
void |
shiftKeyUp()
Release the shift key. |
void |
shutDownSeleniumServer()
Kills the running Selenium Server and all browser sessions. |
void |
start()
Launches the browser with a new Selenium session |
void |
stop()
Ends the test session, killing the browser |
void |
submit(java.lang.String formLocator)
Submit the specified form. |
void |
type(java.lang.String locator,
java.lang.String value)
Sets the value of an input field, as though you typed it in. |
void |
typeKeys(java.lang.String locator,
java.lang.String value)
Simulates keystroke events on the specified element, as though you typed the value key-by-key. |
void |
uncheck(java.lang.String locator)
Uncheck a toggle-button (checkbox/radio) |
void |
waitForCondition(java.lang.String script,
java.lang.String timeout)
Runs the specified JavaScript snippet repeatedly until it evaluates to "true". |
void |
waitForFrameToLoad(java.lang.String frameAddress,
java.lang.String timeout)
Waits for a new frame to load. |
void |
waitForPageToLoad(java.lang.String timeout)
Waits for a new page to load. |
void |
waitForPopUp(java.lang.String windowID,
java.lang.String timeout)
Waits for a popup window to appear and load up. |
void |
windowFocus()
Gives focus to the currently selected window |
void |
windowMaximize()
Resize currently selected window to take up the entire screen |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected CommandProcessor commandProcessor
| Constructor Detail |
|---|
public DefaultSelenium(java.lang.String serverHost,
int serverPort,
java.lang.String browserStartCommand,
java.lang.String browserURL)
browserString may be any one of the following:
*firefox [absolute path] - Automatically launch a new Firefox process using a custom Firefox profile.
This profile will be automatically configured to use the Selenium Server as a proxy and to have all annoying prompts
("save your password?" "forms are insecure" "make Firefox your default browser?" disabled. You may optionally specify
an absolute path to your firefox executable, or just say "*firefox". If no absolute path is specified, we'll look for
firefox.exe in a default location (normally c:\program files\mozilla firefox\firefox.exe), which you can override by
setting the Java system property firefoxDefaultPath to the correct path to Firefox.*iexplore [absolute path] - Automatically launch a new Internet Explorer process using custom Windows registry settings.
This process will be automatically configured to use the Selenium Server as a proxy and to have all annoying prompts
("save your password?" "forms are insecure" "make Firefox your default browser?" disabled. You may optionally specify
an absolute path to your iexplore executable, or just say "*iexplore". If no absolute path is specified, we'll look for
iexplore.exe in a default location (normally c:\program files\internet explorer\iexplore.exe), which you can override by
setting the Java system property iexploreDefaultPath to the correct path to Internet Explorer./path/to/my/browser [other arguments] - You may also simply specify the absolute path to your browser
executable, or use a relative path to your executable (which we'll try to find on your path). Warning: If you
specify your own custom browser, it's up to you to configure it correctly. At a minimum, you'll need to configure your
browser to use the Selenium Server as a proxy, and disable all browser-specific prompting.
serverHost - the host name on which the Selenium Server residesserverPort - the port on which the Selenium Server is listeningbrowserString - the command string used to launch the browser, e.g. "*firefox", "*iexplore" or "c:\\program files\\internet explorer\\iexplore.exe"browserURL - the starting URL including just a domain name. We'll start the browser pointing at the Selenium resources on this URL,
e.g. "http://www.google.com" would send the browser to "http://www.google.com/selenium-server/SeleneseRunner.html"public DefaultSelenium(CommandProcessor processor)
| Method Detail |
|---|
public void start()
Selenium
start in interface Seleniumpublic void stop()
Selenium
stop in interface Seleniumpublic void click(java.lang.String locator)
Selenium
click in interface Seleniumlocator - an element locatorpublic void doubleClick(java.lang.String locator)
Selenium
doubleClick in interface Seleniumlocator - an element locatorpublic void contextMenu(java.lang.String locator)
Selenium
contextMenu in interface Seleniumlocator - an element locator
public void clickAt(java.lang.String locator,
java.lang.String coordString)
Selenium
clickAt in interface Seleniumlocator - an element locatorcoordString - specifies the x,y position (i.e. - 10,20) of the mouse event relative to the element returned by the locator.
public void doubleClickAt(java.lang.String locator,
java.lang.String coordString)
Selenium
doubleClickAt in interface Seleniumlocator - an element locatorcoordString - specifies the x,y position (i.e. - 10,20) of the mouse event relative to the element returned by the locator.
public void contextMenuAt(java.lang.String locator,
java.lang.String coordString)
Selenium
contextMenuAt in interface Seleniumlocator - an element locatorcoordString - specifies the x,y position (i.e. - 10,20) of the mouse event relative to the element returned by the locator.
public void fireEvent(java.lang.String locator,
java.lang.String eventName)
Selenium
fireEvent in interface Seleniumlocator - an element locatoreventName - the event name, e.g. "focus" or "blur"public void focus(java.lang.String locator)
Selenium
focus in interface Seleniumlocator - an element locator
public void keyPress(java.lang.String locator,
java.lang.String keySequence)
Selenium
keyPress in interface Seleniumlocator - an element locatorkeySequence - Either be a string("\" followed by the numeric keycode of the key to be pressed, normally the ASCII value of that key), or a single character. For example: "w", "\119".public void shiftKeyDown()
Selenium
shiftKeyDown in interface Seleniumpublic void shiftKeyUp()
Selenium
shiftKeyUp in interface Seleniumpublic void metaKeyDown()
Selenium
metaKeyDown in interface Seleniumpublic void metaKeyUp()
Selenium
metaKeyUp in interface Seleniumpublic void altKeyDown()
Selenium
altKeyDown in interface Seleniumpublic void altKeyUp()
Selenium
altKeyUp in interface Seleniumpublic void controlKeyDown()
Selenium
controlKeyDown in interface Seleniumpublic void controlKeyUp()
Selenium
controlKeyUp in interface Selenium
public void keyDown(java.lang.String locator,
java.lang.String keySequence)
Selenium
keyDown in interface Seleniumlocator - an element locatorkeySequence - Either be a string("\" followed by the numeric keycode of the key to be pressed, normally the ASCII value of that key), or a single character. For example: "w", "\119".
public void keyUp(java.lang.String locator,
java.lang.String keySequence)
Selenium
keyUp in interface Seleniumlocator - an element locatorkeySequence - Either be a string("\" followed by the numeric keycode of the key to be pressed, normally the ASCII value of that key), or a single character. For example: "w", "\119".public void mouseOver(java.lang.String locator)
Selenium
mouseOver in interface Seleniumlocator - an element locatorpublic void mouseOut(java.lang.String locator)
Selenium
mouseOut in interface Seleniumlocator - an element locatorpublic void mouseDown(java.lang.String locator)
Selenium
mouseDown in interface Seleniumlocator - an element locator
public void mouseDownAt(java.lang.String locator,
java.lang.String coordString)
Selenium
mouseDownAt in interface Seleniumlocator - an element locatorcoordString - specifies the x,y position (i.e. - 10,20) of the mouse event relative to the element returned by the locator.public void mouseUp(java.lang.String locator)
Selenium
mouseUp in interface Seleniumlocator - an element locator
public void mouseUpAt(java.lang.String locator,
java.lang.String coordString)
Selenium
mouseUpAt in interface Seleniumlocator - an element locatorcoordString - specifies the x,y position (i.e. - 10,20) of the mouse event relative to the element returned by the locator.public void mouseMove(java.lang.String locator)
Selenium
mouseMove in interface Seleniumlocator - an element locator
public void mouseMoveAt(java.lang.String locator,
java.lang.String coordString)
Selenium
mouseMoveAt in interface Seleniumlocator - an element locatorcoordString - specifies the x,y position (i.e. - 10,20) of the mouse event relative to the element returned by the locator.
public void type(java.lang.String locator,
java.lang.String value)
SeleniumCan 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.
type in interface Seleniumlocator - an element locatorvalue - the value to type
public void typeKeys(java.lang.String locator,
java.lang.String value)
SeleniumThis is a convenience method for calling keyDown, keyUp, keyPress for every character in the specified string; this is useful for dynamic UI widgets (like auto-completing combo boxes) that require explicit key events.
Unlike the simple "type" command, which forces the specified value into the page directly, this command may or may not have any visible effect, even in cases where typing keys would normally have a visible effect. For example, if you use "typeKeys" on a form element, you may or may not see the results of what you typed in the field.
In some cases, you may need to use the simple "type" command to set the value of the field and then the "typeKeys" command to send the keystroke events corresponding to what you just typed.
typeKeys in interface Seleniumlocator - an element locatorvalue - the value to typepublic void setSpeed(java.lang.String value)
Selenium
setSpeed in interface Seleniumvalue - the number of milliseconds to pause after operationpublic java.lang.String getSpeed()
Selenium
getSpeed in interface Seleniumpublic void check(java.lang.String locator)
Selenium
check in interface Seleniumlocator - an element locatorpublic void uncheck(java.lang.String locator)
Selenium
uncheck in interface Seleniumlocator - an element locator
public void select(java.lang.String selectLocator,
java.lang.String optionLocator)
SeleniumOption 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.
If no option locator prefix is provided, the default behaviour is to match on label.
select in interface SeleniumselectLocator - an element locator identifying a drop-down menuoptionLocator - an option locator (a label by default)
public void addSelection(java.lang.String locator,
java.lang.String optionLocator)
Selenium
addSelection in interface Seleniumlocator - an element locator identifying a multi-select boxoptionLocator - an option locator (a label by default)for details of option locators
public void removeSelection(java.lang.String locator,
java.lang.String optionLocator)
Selenium
removeSelection in interface Seleniumlocator - an element locator identifying a multi-select boxoptionLocator - an option locator (a label by default)for details of option locatorspublic void removeAllSelections(java.lang.String locator)
Selenium
removeAllSelections in interface Seleniumlocator - an element locator identifying a multi-select boxpublic void submit(java.lang.String formLocator)
Selenium
submit in interface SeleniumformLocator - an element locator for the form you want to submitpublic void open(java.lang.String url)
Selenium
open in interface Seleniumurl - the URL to open; may be relative or absolute
public void openWindow(java.lang.String url,
java.lang.String windowID)
SeleniumThis command can also be a useful workaround for bug SEL-339. In some cases, Selenium will be unable to intercept a call to window.open (if the call occurs during or before the "onLoad" event, for example). In those cases, you can force Selenium to notice the open window's name by using the Selenium openWindow command, using an empty (blank) url, like this: openWindow("", "myFunnyWindow").
openWindow in interface Seleniumurl - the URL to open, which can be blankwindowID - the JavaScript window ID of the window to selectpublic void selectWindow(java.lang.String windowID)
SeleniumWindow locators provide different ways of specifying the window object: by title, by internal JavaScript "name," or by JavaScript variable.
If no window locator prefix is provided, we'll try to guess what you mean like this:
1.) if windowID is null, (or the string "null") then it is assumed the user is referring to the original window instantiated by the browser).
2.) if the value of the "windowID" parameter is a JavaScript variable name in the current application window, then it is assumed that this variable contains the return value from a call to the JavaScript window.open() method.
3.) Otherwise, selenium looks in a hash it maintains that maps string names to window "names".
4.) If that fails, we'll try looping over all of the known windows to try to find the appropriate "title". Since "title" is not necessarily unique, this may have unexpected behavior.
If you're having trouble figuring out the name of a window that you want to manipulate, look at the Selenium log messages which identify the names of windows created via window.open (and therefore intercepted by Selenium). You will see messages like the following for each window as it is opened:
debug: window.open call intercepted; window ID (which you can use with selectWindow()) is "myNewWindow"
In some cases, Selenium will be unable to intercept a call to window.open (if the call occurs during or before the "onLoad" event, for example). (This is bug SEL-339.) In those cases, you can force Selenium to notice the open window's name by using the Selenium openWindow command, using an empty (blank) url, like this: openWindow("", "myFunnyWindow").
selectWindow in interface SeleniumwindowID - the JavaScript window ID of the window to selectpublic void selectFrame(java.lang.String locator)
SeleniumYou may also use a DOM expression to identify the frame you want directly,
like this: dom=frames["main"].frames["subframe"]
selectFrame in interface Seleniumlocator - an element locator identifying a frame or iframe
public boolean getWhetherThisFrameMatchFrameExpression(java.lang.String currentFrameString,
java.lang.String target)
SeleniumThis is useful in proxy injection mode, where this code runs in every browser frame and window, and sometimes the selenium server needs to identify the "current" frame. In this case, when the test calls selectFrame, this routine is called for each frame to figure out which one has been selected. The selected frame will return true, while all others will return false.
getWhetherThisFrameMatchFrameExpression in interface SeleniumcurrentFrameString - starting frametarget - new frame (which might be relative to the current one)
public boolean getWhetherThisWindowMatchWindowExpression(java.lang.String currentWindowString,
java.lang.String target)
SeleniumThis is useful in proxy injection mode, where this code runs in every browser frame and window, and sometimes the selenium server needs to identify the "current" window. In this case, when the test calls selectWindow, this routine is called for each window to figure out which one has been selected. The selected window will return true, while all others will return false.
getWhetherThisWindowMatchWindowExpression in interface SeleniumcurrentWindowString - starting windowtarget - new window (which might be relative to the current one, e.g., "_parent")
public void waitForPopUp(java.lang.String windowID,
java.lang.String timeout)
Selenium
waitForPopUp in interface SeleniumwindowID - the JavaScript window "name" of the window that will appear (not the text of the title bar)timeout - a timeout in milliseconds, after which the action will return with an errorpublic void chooseCancelOnNextConfirmation()
Selenium
chooseCancelOnNextConfirmation in interface Seleniumpublic void chooseOkOnNextConfirmation()
Selenium
chooseOkOnNextConfirmation in interface Seleniumpublic void answerOnNextPrompt(java.lang.String answer)
Selenium
answerOnNextPrompt in interface Seleniumanswer - the answer to give in response to the prompt pop-uppublic void goBack()
Selenium
goBack in interface Seleniumpublic void refresh()
Selenium
refresh in interface Seleniumpublic void close()
Selenium
close in interface Seleniumpublic boolean isAlertPresent()
SeleniumThis function never throws an exception
isAlertPresent in interface Seleniumpublic boolean isPromptPresent()
SeleniumThis function never throws an exception
isPromptPresent in interface Seleniumpublic boolean isConfirmationPresent()
SeleniumThis function never throws an exception
isConfirmationPresent in interface Seleniumpublic java.lang.String getAlert()
SeleniumGetting 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.
getAlert in interface Seleniumpublic java.lang.String getConfirmation()
SeleniumBy 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.
getConfirmation in interface Seleniumpublic java.lang.String getPrompt()
SeleniumSuccessful 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.
getPrompt in interface Seleniumpublic java.lang.String getLocation()
Selenium
getLocation in interface Seleniumpublic java.lang.String getTitle()
Selenium
getTitle in interface Seleniumpublic java.lang.String getBodyText()
Selenium
getBodyText in interface Seleniumpublic java.lang.String getValue(java.lang.String locator)
Selenium
getValue in interface Seleniumlocator - an element locator
public java.lang.String getText(java.lang.String locator)
Selenium
getText in interface Seleniumlocator - an element locator
public void highlight(java.lang.String locator)
Selenium
highlight in interface Seleniumlocator - an element locatorpublic java.lang.String getEval(java.lang.String script)
SeleniumNote that, by default, the snippet will run in the context of the "selenium"
object itself, so this will refer to the Selenium object. Use window to
refer to the window of your application, e.g. window.document.getElementById('foo')
If you need to use
a locator to refer to a single element in your application page, you can
use this.browserbot.findElement("id=foo") where "id=foo" is your locator.
getEval in interface Seleniumscript - the JavaScript snippet to run
public boolean isChecked(java.lang.String locator)
Selenium
isChecked in interface Seleniumlocator - an element locator pointing to a checkbox or radio button
public java.lang.String getTable(java.lang.String tableCellAddress)
Selenium
getTable in interface SeleniumtableCellAddress - a cell address, e.g. "foo.1.4"
public java.lang.String[] getSelectedLabels(java.lang.String selectLocator)
Selenium
getSelectedLabels in interface SeleniumselectLocator - an element locator identifying a drop-down menu
public java.lang.String getSelectedLabel(java.lang.String selectLocator)
Selenium
getSelectedLabel in interface SeleniumselectLocator - an element locator identifying a drop-down menu
public java.lang.String[] getSelectedValues(java.lang.String selectLocator)
Selenium
getSelectedValues in interface SeleniumselectLocator - an element locator identifying a drop-down menu
public java.lang.String getSelectedValue(java.lang.String selectLocator)
Selenium
getSelectedValue in interface SeleniumselectLocator - an element locator identifying a drop-down menu
public java.lang.String[] getSelectedIndexes(java.lang.String selectLocator)
Selenium
getSelectedIndexes in interface SeleniumselectLocator - an element locator identifying a drop-down menu
public java.lang.String getSelectedIndex(java.lang.String selectLocator)
Selenium
getSelectedIndex in interface SeleniumselectLocator - an element locator identifying a drop-down menu
public java.lang.String[] getSelectedIds(java.lang.String selectLocator)
Selenium
getSelectedIds in interface SeleniumselectLocator - an element locator identifying a drop-down menu
public java.lang.String getSelectedId(java.lang.String selectLocator)
Selenium
getSelectedId in interface SeleniumselectLocator - an element locator identifying a drop-down menu
public boolean isSomethingSelected(java.lang.String selectLocator)
Selenium
isSomethingSelected in interface SeleniumselectLocator - an element locator identifying a drop-down menu
public java.lang.String[] getSelectOptions(java.lang.String selectLocator)
Selenium
getSelectOptions in interface SeleniumselectLocator - an element locator identifying a drop-down menu
public java.lang.String getAttribute(java.lang.String attributeLocator)
Selenium
getAttribute in interface SeleniumattributeLocator - an element locator followed by an @ sign and then the name of the attribute, e.g. "foo@bar"
public boolean isTextPresent(java.lang.String pattern)
Selenium
isTextPresent in interface Seleniumpattern - a pattern to match with the text of the page
public boolean isElementPresent(java.lang.String locator)
Selenium
isElementPresent in interface Seleniumlocator - an element locator
public boolean isVisible(java.lang.String locator)
Selenium
isVisible in interface Seleniumlocator - an element locator
public boolean isEditable(java.lang.String locator)
Selenium
isEditable in interface Seleniumlocator - an element locator
public java.lang.String[] getAllButtons()
SeleniumIf a given button has no ID, it will appear as "" in this array.
getAllButtons in interface Seleniumpublic java.lang.String[] getAllLinks()
SeleniumIf a given link has no ID, it will appear as "" in this array.
getAllLinks in interface Seleniumpublic java.lang.String[] getAllFields()
SeleniumIf a given field has no ID, it will appear as "" in this array.
getAllFields in interface Seleniumpublic java.lang.String[] getAttributeFromAllWindows(java.lang.String attributeName)
Selenium
getAttributeFromAllWindows in interface SeleniumattributeName - name of an attribute on the windows
public void dragdrop(java.lang.String locator,
java.lang.String movementsString)
Selenium
dragdrop in interface Seleniumlocator - an element locatormovementsString - offset in pixels from the current location to which the element should be moved, e.g., "+70,-300"public void setMouseSpeed(java.lang.String pixels)
SeleniumSetting this value to 0 means that we'll send a "mousemove" event to every single pixel in between the start location and the end location; that can be very slow, and may cause some browsers to force the JavaScript to timeout.
If the mouse speed is greater than the distance between the two dragged objects, we'll just send one "mousemove" at the start location and then one final one at the end location.
setMouseSpeed in interface Seleniumpixels - the number of pixels between "mousemove" eventspublic java.lang.Number getMouseSpeed()
Selenium
getMouseSpeed in interface Selenium
public void dragAndDrop(java.lang.String locator,
java.lang.String movementsString)
Selenium
dragAndDrop in interface Seleniumlocator - an element locatormovementsString - offset in pixels from the current location to which the element should be moved, e.g., "+70,-300"
public void dragAndDropToObject(java.lang.String locatorOfObjectToBeDragged,
java.lang.String locatorOfDragDestinationObject)
Selenium
dragAndDropToObject in interface SeleniumlocatorOfObjectToBeDragged - an element to be draggedlocatorOfDragDestinationObject - an element whose location (i.e., whose center-most pixel) will be the point where locatorOfObjectToBeDragged is droppedpublic void windowFocus()
Selenium
windowFocus in interface Seleniumpublic void windowMaximize()
Selenium
windowMaximize in interface Seleniumpublic java.lang.String[] getAllWindowIds()
Selenium
getAllWindowIds in interface Seleniumpublic java.lang.String[] getAllWindowNames()
Selenium
getAllWindowNames in interface Seleniumpublic java.lang.String[] getAllWindowTitles()
Selenium
getAllWindowTitles in interface Seleniumpublic java.lang.String getHtmlSource()
Selenium
getHtmlSource in interface Selenium
public void setCursorPosition(java.lang.String locator,
java.lang.String position)
Selenium
setCursorPosition in interface Seleniumlocator - an element locator pointing to an input element or textareaposition - 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 end of the field.public java.lang.Number getElementIndex(java.lang.String locator)
Selenium
getElementIndex in interface Seleniumlocator - an element locator pointing to an element
public boolean isOrdered(java.lang.String locator1,
java.lang.String locator2)
Selenium
isOrdered in interface Seleniumlocator1 - an element locator pointing to the first elementlocator2 - an element locator pointing to the second element
public java.lang.Number getElementPositionLeft(java.lang.String locator)
Selenium
getElementPositionLeft in interface Seleniumlocator - an element locator pointing to an element OR an element itself
public java.lang.Number getElementPositionTop(java.lang.String locator)
Selenium
getElementPositionTop in interface Seleniumlocator - an element locator pointing to an element OR an element itself
public java.lang.Number getElementWidth(java.lang.String locator)
Selenium
getElementWidth in interface Seleniumlocator - an element locator pointing to an element
public java.lang.Number getElementHeight(java.lang.String locator)
Selenium
getElementHeight in interface Seleniumlocator - an element locator pointing to an element
public java.lang.Number getCursorPosition(java.lang.String locator)
SeleniumSpecifically, 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.
getCursorPosition in interface Seleniumlocator - an element locator pointing to an input element or textarea
public java.lang.String getExpression(java.lang.String expression)
SeleniumThis is useful because of JavaScript preprocessing. It is used to generate commands like assertExpression and waitForExpression.
getExpression in interface Seleniumexpression - the value to return
public java.lang.Number getXpathCount(java.lang.String xpath)
Selenium
getXpathCount in interface Seleniumxpath - the xpath expression to evaluate. do NOT wrap this expression in a 'count()' function; we will do that for you.
public void assignId(java.lang.String locator,
java.lang.String identifier)
Selenium
assignId in interface Seleniumlocator - an element locator pointing to an elementidentifier - a string to be used as the ID of the specified elementpublic void allowNativeXpath(java.lang.String allow)
Selenium
allowNativeXpath in interface Seleniumallow - boolean, true means we'll prefer to use native XPath; false means we'll only use JS XPathpublic void ignoreAttributesWithoutValue(java.lang.String ignore)
Selenium
ignoreAttributesWithoutValue in interface Seleniumignore - boolean, true means we'll ignore attributes without value at the expense of xpath "correctness"; false means we'll sacrifice speed for correctness.
public void waitForCondition(java.lang.String script,
java.lang.String timeout)
SeleniumNote 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 selenium.browserbot.getCurrentWindow(), and then
run your JavaScript in there
waitForCondition in interface Seleniumscript - the JavaScript snippet to runtimeout - a timeout in milliseconds, after which this command will return with an errorpublic void setTimeout(java.lang.String timeout)
SeleniumActions that require waiting include "open" and the "waitFor*" actions.
The default timeout is 30 seconds.
setTimeout in interface Seleniumtimeout - a timeout in milliseconds, after which the action will return with an errorpublic void waitForPageToLoad(java.lang.String timeout)
SeleniumYou 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.
waitForPageToLoad in interface Seleniumtimeout - a timeout in milliseconds, after which this command will return with an error
public void waitForFrameToLoad(java.lang.String frameAddress,
java.lang.String timeout)
SeleniumSelenium constantly keeps track of new pages and frames loading, and sets a "newPageLoaded" flag when it first notices a page load.
See waitForPageToLoad for more information.
waitForFrameToLoad in interface SeleniumframeAddress - FrameAddress from the server sidetimeout - a timeout in milliseconds, after which this command will return with an errorpublic java.lang.String getCookie()
Selenium
getCookie in interface Seleniumpublic java.lang.String getCookieByName(java.lang.String name)
Selenium
getCookieByName in interface Seleniumname - the name of the cookie
public boolean isCookiePresent(java.lang.String name)
Selenium
isCookiePresent in interface Seleniumname - the name of the cookie
public void createCookie(java.lang.String nameValuePair,
java.lang.String optionsString)
Selenium
createCookie in interface SeleniumnameValuePair - name and value of the cookie in a format "name=value"optionsString - options for the cookie. Currently supported options include 'path', 'max_age' and 'domain'. the optionsString's format is "path=/path/, max_age=60, domain=.foo.com". The order of options are irrelevant, the unit of the value of 'max_age' is second. Note that specifying a domain that isn't a subset of the current domain will usually fail.
public void deleteCookie(java.lang.String name,
java.lang.String optionsString)
Selenium
deleteCookie in interface Seleniumname - the name of the cookie to be deletedoptionsString - options for the cookie. Currently supported options include 'path', 'domain' and 'recurse.' The optionsString's format is "path=/path/, domain=.foo.com, recurse=true". The order of options are irrelevant. Note that specifying a domain that isn't a subset of the current domain will usually fail.public void deleteAllVisibleCookies()
Selenium
deleteAllVisibleCookies in interface Seleniumpublic void setBrowserLogLevel(java.lang.String logLevel)
Selenium
setBrowserLogLevel in interface SeleniumlogLevel - one of the following: "debug", "info", "warn", "error" or "off"public void runScript(java.lang.String script)
Selenium
runScript in interface Seleniumscript - the JavaScript snippet to run
public void addLocationStrategy(java.lang.String strategyName,
java.lang.String functionDefinition)
Selenium
addLocationStrategy in interface SeleniumstrategyName - the name of the strategy to define; this should use only letters [a-zA-Z] with no spaces or other punctuation.functionDefinition - a string defining the body of a function in JavaScript. For example: return inDocument.getElementById(locator);public void captureEntirePageScreenshot(java.lang.String filename)
Selenium
captureEntirePageScreenshot in interface Seleniumfilename - the path to the file to persist the screenshot as. No filename extension will be appended by default. Directories will not be created if they do not exist, and an exception will be thrown, possibly by native code.public void setContext(java.lang.String context)
Selenium
setContext in interface Seleniumcontext - the message to be sent to the browser
public void attachFile(java.lang.String fieldLocator,
java.lang.String fileLocator)
Selenium
attachFile in interface SeleniumfieldLocator - an element locatorfileLocator - a URL pointing to the specified file. Before the file can be set in the input field (fieldLocator), Selenium RC may need to transfer the file to the local machine before attaching the file in a web page form. This is common in selenium grid configurations where the RC server driving the browser is not the same machine that started the test. Supported Browsers: Firefox ("*chrome") only.public void captureScreenshot(java.lang.String filename)
Selenium
captureScreenshot in interface Seleniumfilename - the absolute path to the file to be written, e.g. "c:\blah\screenshot.png"public void shutDownSeleniumServer()
Selenium
shutDownSeleniumServer in interface Seleniumpublic void keyDownNative(java.lang.String keycode)
Selenium
keyDownNative in interface Seleniumkeycode - an integer keycode number corresponding to a java.awt.event.KeyEvent; note that Java keycodes are NOT the same thing as JavaScript keycodes!public void keyUpNative(java.lang.String keycode)
Selenium
keyUpNative in interface Seleniumkeycode - an integer keycode number corresponding to a java.awt.event.KeyEvent; note that Java keycodes are NOT the same thing as JavaScript keycodes!public void keyPressNative(java.lang.String keycode)
Selenium
keyPressNative in interface Seleniumkeycode - an integer keycode number corresponding to a java.awt.event.KeyEvent; note that Java keycodes are NOT the same thing as JavaScript keycodes!
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||