Skip to main content

Selenium WebDriver Cheat Sheet

Below are some important code samples for those who are willing to learn Selenium automation.

Driver Initialization


WebDriver driver;

driver = new ChromeDriver();
driver = new FirefoxDriver();
driver = new SafariDriver();
driver = new InternetExplorerDriver();
driver = new EdgeDriver();

// Driver Profiling
//Firefox
//Load Firefox
System.setProperty("webdriver.firefox.bin","path/to/driver");
FirefoxProfile profile = new FirefoxProfile();
//load with add-on
File file = new File("path/to/add-on");
profile.addExtension(file);
//profile settings (setting up desired capabilities)
DesiredCapabilities capabilities= new DesiredCapabilities();
capabilities.setCapability(FirefoxDriver.PROFILE,profile);
WebDriver driver = new RemoteWebDriver(capabilities);

//Chrome Options
System.setProperty("webdriver.chrome.driver","/path/to/chrome/driver");
ChromeOptions options = new ChromeOptions();
//Load extensions
File file= new File("path/to/extension");
options.addExtensions(file);
//Setting up Desired Capabilities
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(ChromeOptions.CAPABILITY,options);
WebDriver driver = new RemoteWebDriver(capabilities);

Navigations

//Navigate to URL
driver.get("URL");
driver.navigate().to("URL");
//Navigate forward
driver.navigate().forward();
//Navigate backward
driver.navigate().back();
//Page refresh
driver.navigate().refresh();
//Switch to Iframe
driver.switchTo().frame("Frame name or ID");

Locators

//Single Web Element
WebElement element = driver.findElement(By.id("element/id"));
WebElement element = driver.findElement(By.xpath("element/xpath"));
WebElement element = driver.findElement(By.className("element/class/name"));
WebElement element = driver.findElement(By.cssSelector("element/css/selector"));
WebElement element = driver.findElement(By.name("element/name"));
WebElement element = driver.findElement(By.linkText("element/linkText"));
WebElement element = driver.findElement(By.tagName("element/tagname"));

//List of Elements
List<WebElement> elements = driver.findElements(By.id("element/id"));
List<WebElement> element = driver.findElements(By.xpath("element/xpath"));
List<WebElement> element = driver.findElements(By.className("element/class/name"));
List<WebElement> element = driver.findElements(By.cssSelector("element/css/selector"));
List<WebElement> element = driver.findElements(By.name("element/name"));
List<WebElement> element = driver.findElements(By.linkText("element/linkText"));
List<WebElement> element = driver.findElements(By.tagName("element/tagname"));

Operations

WebDriver driver; WebElement element; //To Clear data in a text field element.clear(); //To pass text to a field element.sendKeys("Text"); //To click on a element element.click(); //To submit a form element.submit(); //To get a text in an element element.getText(); //Get value of an element attribute element.getAttribute("Attribute Name"); //Verify display element.isDisplayed(); //Verify selected element.isSelected(); //Verify enable element.isEnabled(); //Dropdowns(Lists) Select select= new Select(element); //Select by visible value select.selectByVisibleText("Text"); //Select by value select.selectByValue("value"); //Select by index select.selectByIndex("index/Number"); //Deselect all options select.deselectAll(); //Get a list of selected items select.getAllSelectedOptions(); //Get page title driver.getTitle(); //Get page URL driver.getCurrentUrl(); //Get Source code of the page driver.getPageSource(); //Close current Page driver.close(); //Driver teardown driver.quit();



Comments

Popular posts from this blog

Behavior Driven Development

Behavior Driven Development (BDD) is a development process that originally associated with Test-Driven Development (TDD).  BDD is written in a readable format in an understandable language for anyone involved in software development.  BDD Features Providing better readability and visibility.  Verifying the software against customer requirements.  Assure the implementation of the system is correct. Derives examples of different expected behaviors of the system. Uses examples as acceptance tests. Focus on customer requirements throughout the development. BDD Practice There are two practices in BDD:-  Specification by Example (SbE). Test-Driven Development (TDD). Specification by example (SbE) uses examples in conversation to illustrate the business rules and the behavior of the software.  This uses to have a better understanding for Business Analyst, Product Owners, Testers and the Developers to reduce the misunderstanding abou...

Scraping HTML Content using Python

To Scrape Data using python we are using BeautifulSoup python Package !pip install beautifulsoup4 As a first step we have to import the packages and html page that we need to scrape. In here I have used some static HTML content which was customized to scrape the data. #imports import requests from bs4 import BeautifulSoup #html HTML Sample Doing Data Science with Python Doing Data Science with Python Author: Eranda Kodagoda This will help to perform various data science activitied using python Modules Title Duration in minutes Getting Started 20 Setting Up Environment 40 Extracting Data 30 Exploring and Processing Data 45 Building Productive Model 45 To View the HTML using beautifulsoup we can use below code-lines and execute on python executor from IPython.core.display import display, HTML display(HTML(html_string)) To Print the HTML using beautifulsoup we can use below code-lines and execute on python executor ps=Be...

Basics of Data Science with Python

About Data Science with Python From this module I will post some interesting posts about Data science and how to gather information and process them using Python and for that I will be using below softwares  Python 3.6 Anaconda Jupyter Notebook PyCharm by JetBrains In the posts I will include fundamentals of Python  programming techniques such as lambdas, reading and manipulating csv files, and the numpy library. And In the posts I will be doing a simple Data Challange which is available on Kaggle and I will provide the URL's to the github repo which I will be posting the whole module once it finished. In Future I will be post some articles related to Applied Data Science with Python: Applied Plotting, Charting & Data Representation in Python, Applied Machine Learning in Python, Applied Text Mining in Python, Applied Social Network Analysis in Python