Selenium WebDriver | API Commands & Operations

API Commands & Operations

Selenium WebDriver API Commands and Operation

Selenium WebDriver API by Example

Selenium WebDriver is a tool for automating web application testing, and in particular to verify that they work as expected. It aims to provide a friendly API that’s easy to explore and understand, easier to use than the Selenium-RC (1.0) API, which will help to make tests easier to read and maintain. It’s not tied to any particular test framework, so it can be used equally well in unit testing or from a plain old “main” method. This section introduces WebDriver’s API and helps get you started becoming familiar with it. Start by setting up a WebDriver project if you haven’t already. This was described in the previous section, Setting Up a Selenium-WebDriver Project.

Once project is set up, you can see that WebDriver acts just as any normal library: it is entirely self-contained, and you usually don’t need to remember to start any additional processes or run any installers before using it, as opposed to the proxy server with Selenium-RC.

Additional steps are required to use Chrome Driver, Opera Driver, Android Driver and iOS Driver

You’re now ready to write some code. An easy way to get started is this example, which searches for the term “Cheese” on Google and then outputs the result page’s title to the console.

package org.openqa.selenium.example;

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.firefox.FirefoxDriver;

import org.openqa.selenium.support.ui.ExpectedCondition;

import org.openqa.selenium.support.ui.WebDriverWait;

 

public class Selenium2Example {

public static void main(String[] args) {

// Create a new instance of the Firefox driver

// Notice that the remainder of the code relies on the interface,

// not the implementation.

WebDriver driver = new FirefoxDriver();

 

// And now use this to visit Google

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

// Alternatively the same thing can be done like this

// driver.navigate().to(“http://www.google.com”);

 

// Find the text input element by its name

WebElement element = driver.findElement(By.name(“q”));

// Enter something to search for

element.sendKeys(“Cheese!”);

 

// Now submit the form. WebDriver will find the form for us from the element

element.submit();

 

// Check the title of the page

System.out.println(“Page title is: ” + driver.getTitle());

 

// Google’s search is rendered dynamically with JavaScript.

// Wait for the page to load, timeout after 10 seconds

(new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() {

public Boolean apply(WebDriver d) {

return d.getTitle().toLowerCase().startsWith(“cheese!”);

}

});

 

// Should see: “cheese! – Google Search”

System.out.println(“Page title is: ” + driver.getTitle());

 

//Close the browser

driver.quit();

}

}

 

In upcoming sections, you will learn more about how to use WebDriver for things such as navigating forward and backward in browser’s history, and how to test web sites that use frames and windows. We also provide more thorough discussions and examples

Selenium-WebDriver API Commands and Operations

Fetching a Page

The first thing you’re likely to want to do with WebDriver is to navigate to a page. The normal way to do this is by calling “get”:

Dependent on several factors, including the OS/Browser combination, WebDriver may or may not wait for the page to load. In some circumstances, WebDriver may return control before the page has finished, or even started, loading. To ensure robustness, you need to wait for the element(s) to exist on the page using Explicit and Implicit Waits.

Getting UI Elements (WebElements)

It can be done as:

Method Description
clear() If this element is a text entry element, this will clear the value.
click() Click this element.
findElement(By by) Find the first WebElement using the given method.
findElements(By by) Find all elements within the current context using the given mechanism.
getAttribute(java.lang.String name) Get the value of a the given attribute of the element.
getCssValue(java.lang.String

 

propertyName)

Get the value of a given CSS property.
getLocation() Where on the page is the top left-hand corner of the rendered element?
getSize() What is the width and height of the rendered element?
getTagName() Get the tag name of this element.
getText() Get the visible (i.e.
isDisplayed() Is this element displayed or not? This method avoids the problem of having to parse an element’s “style” attribute.
isEnabled() Is the element currently enabled or not? This will generally return true for everything but disabled input elements.
isSelected() Determine whether or not this element is selected or not.
sendKeys(java.lang.CharSequence… keysToSend) Use this method to simulate typing into an element, which may set its value.
submit() If this current element is a form, or an element within a form, then this will be submitted to the remote server.

Selenium professional free practice test

Go back to Tutorial                                                                                Go to Home Page

Get industry recognized certification – Contact us

Menu