Sunteți pe pagina 1din 7

Element Locators in Selenium

Element locators tell selenium which HTML element a command refers to.
Format of element locator is:
locatortype = argument

1. Locating by identifier
identifier = id
Selects an element with specified @id attribute.If no match is found, it will take the
element with @name = id.

2. Locating by Name
name = name
Selects the first element with specified @name attribute. If multiple elements have
the same value for a name attribute, then you can use filters to further refine your
location strategy (matching the value attribute).

3. Locating by id
id = id
Selects the element with @id attribute.

4. Locating by DOM
The Document Object Model represents an HTML document and can be accessed
using JavaScript.
dom = javascriptExpression
Example:
dom=document.forms['myForm'].myDropDown

TABLE OF CONTENT
Introduction
Selenium Components
Commands
Element Locators
Regular Expressions
Start Selenium Server
Element Locators in Selenium
Element locators tell selenium which HTML element a command refers to.
Format of element locator is:
locatortype = argument

1. Locating by identifier
identifier = id
Selects an element with specified @id attribute.If no match is found, it will take the
element with @name = id.

2. Locating by Name
name = name
Selects the first element with specified @name attribute. If multiple elements have
the same value for a name attribute, then you can use filters to further refine your
location strategy (matching the value attribute).

3. Locating by id
id = id
Selects the element with @id attribute.

4. Locating by DOM
The Document Object Model represents an HTML document and can be accessed
using JavaScript.
dom = javascriptExpression
Example:
dom=document.forms['myForm'].myDropdown

5. Locating by XPath
xpath = xpathExpression
Locates an element with XPath expression.

XPath is the language used for locating nodes in an XML document. As HTML can be
an implementation of XML (XHTML), Selenium users can leverage this powerful
language to target elements in their web applications.
One of teh main reasons for using XPath is when you don't have a suitable id or
name attribute for the element you wish to locate. You can use XPath to either
locate the element in absolute terms, or relative to an element that does have an id
or name attribute.
Absolute XPaths contain the location of all elements from the root and as a result
are likely to fail with only the slightest adjustment to the application.
In Relatiion XPath, we can find a nearby element with an id or name attribute
(ideally a parent element), you can locate you target element based on the
relationship. This is less likely to change and can make your tests more robust.

Since only xpath locators start with "//", it is not necessary to include the
xpath=label when specifying an XPath locator.

Example:
xpath=//img[@alt='The image alt text']
xpath=//table[@id='table1']//tr[4]/td[2]
xpath=//a[contains(@href,'#id1')]

6. Locating Hyperlinks by link Text


link = textPattern
Selects a link with specified text. If two links with the same text are present, then
the first match will be used.

7. Locating by CSS
CSS (Cascading Style Sheets) is a language for describing the rendering of HTML
and XML documents. CSS uses Selectors for binding style properties to elements in
the document. These selectors can be used by Selenium as another locating
strategy.
css = cssSelectorSyntax

8. ui = uiSpecifierString

Without an explicit locator prefix, selenium uses the following default strategies:
1. dom, for locators starting with document.
2. xpath, for locators starting with //

Action Commands in Selenium


Selenium commands consists of two parameters:
1. Locator: for identifying a UI element within a page.
2. Text pattern: for verifying or asserting expected page content.

The following are the commands used:


1. Open Statement
2. Check Statement
3. Click Statement
4. Select Statement
5. Type Statement
6. Wait For Page to Load
7. Set Time Out Statement
8. Store Commands
8.1. Store Element Present
8.2. Store Text
8.3. Store Eval

1. Open Command -- Tells the Browser to Open the URL


Syntax: open(String url)
private static final String BASE_URL = http://www.google.com/
selenium.open(BASE_URL)
2. waitForPageToLoad -- waits for a new page to load
Syntax: waitForPageToLoad(String timeoutinMilliSeconds)
public static final String MAX_TIME = "60000"
selenium.waitForPageToLoad(MAX_TIME)

3. Type- Types text in the text field


Syntax: type(String locator, String value)
We can use selenium.type commands in one of the following ways
selenium.type("name=q","testing");
selenium.type("xpath=//input[@name='q']","testing");
selenium.type("//*[@name='q']","testing");

4. Click--performs a Click operation, optionally waits for a new page to load


(button, link, checkbox or radio button.)
Syntax: Click(String locator)
selenium.click("link=Images");
5. Check
Syntax: check(String locator)
selenium.check("id=checkBoxInput");

6. Select - select options from the drop-down listbox


Syntax: select(String locator, String value)

7. setTimeout --- Overrides Default Timeout value of Selenium


Syntax: setTimeout("50000");

8. Store Commands and Selenium Variables


Selenium variables can be used to store values passed to your test program from
the command-line, from another program, or from a file.

It takes two parameters, the text value to be stored and a selenium variables.

Use the standard variable naming conventions of only alphanumeric characters


when choosing a name for your variable

store paul@gmail.com userName

To access the value of a variable, enclose the variable in curly brackets ({}) and
precede it with a dollar sign like this.

verifyText //div/p ${userName}

8.1. storeElementPresent
It stores a boolean value - "true" or "false" - depending on whether the UI element
is found.

8.2. storeText
It uses a locater to identify specific page test. The text, if found, is stored in the
variable.

8.3. storeEval
StoreEval allows the test to store the result of running the script in a variable.

We can get information from a page using the following commands.


1. Get Title
2. Get Text
3. getSelectedValue Statement
4. Is Something Selected Statement
5. Get Title Statement
6. Get Text
7. Get Value
8. Is Editable
9. Is Element Present
10. Get Selected Label
11. getSelectedValue Statement
12. isChecked
13. isSomethingSelected Statement
14. verify Title
15. verify Text Present
16. verify Element Present
17. verify text
18. verify Table

Get Title -- Gets the title of the current page


Syntax: getTitle()
Example: private status final String TEST_PAGE_TITLE = "My Page"
assertEquals(TEST_PAGE_TITILE, selenium.getTitle());

getText -- Gets the Text of the element


Syntax: getText(String locator)
Example: assertEquals("Text in the fields","selenium.getValue("id=textInput"));

Get Value
getValue(String locator)
Example: assertEquals("option
two",selenium.getValue("id=selectWithLabelsOnly"));

Is Editable
Syntax: isEditable(String locator)

Is Element Present
Syntax: isElementPresent(String locator)
assertTrue(selenium.isElementPresent("id=textInput"));

Get Selected Label


getSelectedLabel(String locator)
assertEquals("option two",selenium.getSelectedLabel("id=selectWithLabelsOnly"));

getSelectedValue Statement
Syntax: getSelectedValue(String locator)
Example:
assertEquals("2",selenium.getSelectedValue("id=selectWithLabelsAndValues"));

isSomethingSelected Statement
isSomethingSelected(String locator)
Example: assertTrue(selenium.isSomethingSelected("id=selectwithLabelsOnly"));

isChecked
Syntax: isChecked(String locator)
Example:
assertTrue(selenium.isChecked("id=checkBoxInput"));
assertTrue(selenium.isChecked("name=radioButton value=a"));

getAlert()

verifyTitle/AssertTitle verifies an expected page title

verifyTextPresent This command is used to verify specific text is somewhere on


the page. It takes a single argument the text pattern to be verified.
Example: selenium.verifyTextPresent("Testing")

verifyElementPresent This command verifies whether an expected UI element, as


defined by its HTML tag, is present on the page

verifyText verifies expected text and it's corresponding HTML tag are preset on the
page.

verifyTable verifies a table's expected contents.

S-ar putea să vă placă și