Selenium 2.0 – Locators, Webelements and RenderedWebElement

Locators
Locator Example (Java)
id attribute By.id(“myElementId”)
name attribute By.name(“myElementName”)
XPATH By.xpath(“//input[@id=’myElementId’]”)
Class name By.className(“even-table-row”)
CSS Selector By.cssSelector(“h1[title]”)
Link Text By.linkText(“Click Me!”)
By.partialLinkText(“ck M”)
Tag Name By.tagName(“td”)
WebElement Methods
Method Purpose
clear() Clears all of the contents if the element is a text entity.
click() Simulates a mouse click on the element.
getAttribute(String name) Returns the value associated with the provided attribute name (if present) or null (if not present).
getTagName() Returns the tag name for this element.
getText() Returns the visible text contained within this element (including subelements) if not hidden via CSS.
getValue() Gets the value of the element’s “value” attribute.
isEnabled() Returns true for input elements that are currently enabled; otherwise false.
isSelected() Returns true if the element (radio buttons, options within a select, and checkboxes) is currently selected; otherwise false.
sendKeys(CharSequence…
keysToSend)
Simulates typing into an element.
setSelected() Select an element (radio buttons, options within a select, and checkboxes).
submit() Submits the same block if the element if the element is a form (or contained within a form). Blocks until new page is loaded.
toggle() Toggles the state of a checkbox element.
Method Purpose
findElement(By by) Finds the first element located by the provided method (see Locators table).
findElements(By by) Finds all elements located by the provided method.
Method Purpose
selectByIndex(int index)/
deselectByIndex(int index)
Selects/deselects the option at the given index.
selectByValue(String value)/
deselectByValue(String value)
Selects/deselects the option(s) that has a value matching the argument.
selectByVisibleText(String text)/
deselectByVisibleTest(String text)
Selects/deselects the option(s) that displays text matching the argument.
deselectAll() Deselects all options.
getAllSelectedOptions() Returns a List<WebElement> of all selected options.
getFirstSelectedOption() Returns a WebElement representing the first selected option.
getOptions() Returns a List<WebElement> of all options.
isMultiple() Returns true if this is a multi-select list; false otherwise.
RenderedWebElement Methods
Method Purpose
dragAndDropBy(int moveRightBy,
int moveDownBy)
Drags and drops the element moveRightBy pixels to the right and moveDownBy pixels down. Pass negative arguments to move left and up.
dragAndDropOn(RenderedWeb
Element element)
Drags and drops the element on the supplied element.
getLocation() Returns a java.awt.Point representing the top left-hand corner of the element.
getSize() Returns a java.awt.Dimension representing the width and height of the element.
getValueOfCssProperty(String
propertyName)
Returns the value of the provided property.
hover() Simulates a mouse hover event over the element.
isDisplayed() Returns true if the element is currently displayed; otherwise false.
Locator Examples
id attribute @FindBy(how = How.ID, using = “myElementId”)
@FindBy(id = “myElementId)
name attribute @FindBy(how = How.NAME, using = “myElementName”)
@FindBy(name = “myElementName”)
id or name
attribute
@FindBy(how = How.ID_OR_NAME, using = “myElement”)
XPATH @FindBy(how = How.XPATH, using = “//input[@id=’myElementId’]”)
@FindBy(xpath = “//input[@id=’myElementId’]”)
Class name @FindBy(how = How.CLASS_NAME, using=”even-table-row”)
@FindBy(className = “even-table-row”)
Link Text @FindBy(how = How.LINK_TEXT, using=”Click Me!”)
@FindBy(linkText = “Click Me!”)
Partial Link Text @FindBy(how = How.PARTIAL_LINK_TEXT, using=”ck M”)
@FindBy(partialLinkText = “ck M”)
Tag Name @FindBy(how = How.TAG_NAME, using=”td”)
@FindBy(tagName = “td”)

Verify browser title in Firefox browser in TestNG

package usinghtmlunit;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
import org.testng.annotations.Test;

import com.gargoylesoftware.htmlunit.BrowserVersion;

public class usingffbrowserintestng {

@Test
public void FacebookTitle()
{
WebDriver driver = new HtmlUnitDriver(BrowserVersion.FIREFOX_17);

((HtmlUnitDriver) driver).setJavascriptEnabled(true);

driver.get(“http://facebook.com”);

System.out.println(driver.getTitle());
}

@Test
public void GoogleTitle()
{
WebDriver driver = new HtmlUnitDriver(BrowserVersion.CHROME);

((HtmlUnitDriver) driver).setJavascriptEnabled(true);

driver.get(“http://google.com”);

System.out.println(driver.getTitle());
}

}

Verify browser title using TestNG

package usinghtmlunit;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
import org.testng.annotations.Test;

public class verifybrowsertitleusingtestng {

@Test
public void FacebookTitle()
{
WebDriver driver = new HtmlUnitDriver();

driver.get(“http://facebook.com”);

System.out.println(driver.getTitle());
}

}

Verify browser title using TestNG and Assert

package usinghtmlunit;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
import org.testng.Assert;
import org.testng.annotations.Test;

public class verifybrowsertitleusingtestngandassert {

@Test
public void FacebookTitle()
{
WebDriver driver = new HtmlUnitDriver();

driver.get(“http://facebook.com”);

String fbTitle = driver.getTitle();

Assert.assertTrue(fbTitle.contains(“Facebook”));

System.out.println(fbTitle);
}

@Test
public void FacebookTitlenew()
{
WebDriver driver = new HtmlUnitDriver();

driver.get(“http://facebook.com”);

String fbTitle = driver.getTitle();

Assert.assertTrue(fbTitle.contains(“Selenium”));

System.out.println(fbTitle);
}

}

Verify Browser Title

package usinghtmlunit;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;

public class verifybrowsertitle {

public static void main(String[] args) {

WebDriver driver = new HtmlUnitDriver();

driver.get(“http://facebook.com”);

System.out.println(driver.getTitle());

}

}