Selenium
How to Create Firefox Profile in Selenium WebDriver
Firefox profile is the collection of settings, customization, add-ons and other personalization...
Interaction with a web page requires a user to locate the web element. Find Element command is used to uniquely identify a (one) web element within the web page. Whereas, Find Elements command is used to uniquely identify the list of web elements within the web page. There are multiple ways to uniquely identify a web element within the web page such as ID, Name, Class Name, Link Text, Partial Link Text, Tag Name and XPATH.
Selenium Find Element command takes in the By object as the parameter and returns an object of type list WebElement in Selenium. By object in turn can be used with various locator strategies such as find element by ID Selenium, Name, Class Name, XPATH etc. Below is the syntax of FindElement command in Selenium web driver.
WebElement elementName = driver.findElement(By.LocatorStrategy("LocatorValue"));Locator Strategy can be any of the following values.
Locator Value is the unique value using which a web element can be identified. It is the responsibility of developers and testers to make sure that web elements are uniquely identifiable using certain properties such as ID or name.
Example:
WebElement loginLink = driver.findElement(By.linkText("Login"));FindElements in Selenium command takes in By object as the parameter and returns a list of web elements. It returns an empty list if there are no elements found using the given locator strategy and locator value. Below is the syntax of find elements command.
List<WebElement> elementName = driver.findElements(By.LocatorStrategy("LocatorValue"));Example:
List<WebElement> listOfElements = driver.findElements(By.xpath("//div"));Below are the major differences between find element and find elements commands.
| Find Element | Find Elements |
|---|---|
| Returns the first most web element if there are multiple web elements found with the same locator | Returns a list of web elements |
| Throws exception NoSuchElementException if there are no elements matching the locator strategy | Returns an empty list if there are no web elements matching the locator strategy |
| Find element by XPath will only find one web element | It will find a collection of elements whose match the locator strategy. |
| Not Applicable | Each Web element is indexed with a number starting from 0 just like an array |
The following application is used for demo purpose
http://demo.gtupapers.com/test/ajax.html
Scenario:
1. Open the AUT
2. Find and click radio button
package com.sample.stepdefinitions;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class NameDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.setProperty("webdriver.chrome.driver", "D:\\3rdparty\\chrome\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.get("http://demo.gtupapers.com/test/ajax.html");
// Find the radio button for “No” using its ID and click on it
driver.findElement(By.id("no")).click();
//Click on Check Button
driver.findElement(By.id("buttoncheck")).click();
}
}Scenario:
1. Open the URL for Application Under Test
2. Find the text of radio buttons and print it onto the output console
package com.sample.stepdefinitions;
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class NameDemo {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "X://chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://demo.gtupapers.com/test/ajax.html");
List<WebElement> elements = driver.findElements(By.name("name"));
System.out.println("Number of elements:" +elements.size());
for (int i=0; i<elements.size();i++){
System.out.println("Radio button text:" + elements.get(i).getAttribute("value"));
}
}
}
Summary:
Firefox profile is the collection of settings, customization, add-ons and other personalization...
What are Broken Links? Broken links are links or URLs that are not reachable. They may be down or...
What is Selenium Grid? Selenium Grid is a part of the Selenium Suite that specializes in running...
What is a Scrollbar? A Scrollbar is a lets you move around screen in horizontal or vertical...
For DateTime selection, HTML5 has a new control shown below. Above page can be accessed here If we...
There are two main listeners. WebDriver Listeners TestNG Listeners In this tutorial, we will...