
Selenium WebDriver Tutorial
Selenium Webdriver tutorial provides basic concepts of Selenium. Our tutorial is designed for beginners as well as for professionals. This online course is a step by step guide to learn Selenium Concepts. It is highly suggestible to refer the tutorials sequentially, one after the other. If you are new to testing first take the basic Software Testing.
Selenium is an open-source Web UI (User Interface) automation testing suite. It is widely used to automate the testing of web applications.
What is Selenium ? Introduction to Automation Testing
Selenium is one of the most widely used Web UI (User Interface) automation testing suite. It is an open source tool which is used for automating the tests carried out on different web browsers and platform.
Advantages of Selenium over other tool:
Programming Language supported: Java, Python, C#, PHP, Ruby, Perl & .Net
Supports OS (Operating System) for Web Application: Windows, Mac or Linux
Supports OS (Operating System) for mobile applications: iOS, windows mobile and android
Browsers supported: Internet Explorer, Mozilla Firefox, Google Chrome and Safari
Integrate with Framework for managing testcases and generating reports: TestNG & JUnit
Integrate with automation test tool to Achieve continuous testing: Maven, Jenkins & Docker
Run First Test on Chrome Browser
Chrome browser implements the WebDriver protocol using an executable called ChromeDriver.exe. This executable starts a server on your system which will be responsible for running your test script in selenium.
Testcase: Open chrome browser and navigate to “https://demoapp1.tequality.tech/” and close the browser
Step1: Right click on src folder and select New > Class
Step2: Provide Class Name and click on Finish
Step3: Open URL: https://sites.google.com/a/chromium.org/chromedriver/downloads in your browser and select any of the latest chrome driver version according to your browser version
Step4: Download executable file as per the operating system you are working on.
For windows, click on the “chromedriver_win32.zip” download and unzip the file.
Step5: Set a system property “webdriver.chrome.driver” to the path of your ChromeDriverServer.exe file and instantiate an ChromeDriver class.
Here below your test script will look like
import org.openqa.selenium.By;
import org.openqa.selenium.Cookie;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class FirstChromeTest {
public static void main(String[] args) {
// System Property for Chrome Driver
System.setProperty("webdriver.chrome.driver", "E:\chromedriver.exe");
// Instantiate a ChromeDriver class.
WebDriver driver=new ChromeDriver();
//Maximize the browser window driver.manage().window().maximize();
driver.manage().window().maximize();
// Launch Website and navigate to URL
driver.get("https://demoapp1.tequality.tech/");
//close the browser
driver.close();
}
}
Step6: Run the code by right click on the Eclipse code and select Run As > Java Application
Browser Navigation Command
Navigation Commands are able open a web page URL, navigate to another web page or navigate back, Forward or Refresh the web page using browser’s history.
Given below are the Navigation commands for Selenium WebDriver.
1. Navigate.To()
This method is used to redirect to the new web page from the existing web page. It maintains browser history and cookies, unlike get method. It accepts string as a parameter and returns void.
driver.navigate().to(“https://demoapp1.tequality.tech/”);
2. Navigate.Forward()
This method takes to the forward page of the existing browser window. It neither accepts anything nor returns anything.
driver.navigate().forward();
3. Navigate.Backward()
This method takes to the backward page of the existing browser window. It neither accepts anything nor returns anything.
driver.navigate().back();
4. Navigate.Refresh()
This method is used to refresh or reload the current page in the existing browser window. It neither accepts anything nor returns anything.
driver.navigate().refresh();
Name
Name locator is also an effective way to locate an element in Selenium. It is similar way locating elements as that of ID locator. These are not unique on DOM. If there are multiple elements present with the same Name locator in the DOM then the first element on the page is selected while locating with below methods.And if there is no DOM element available with the given Name, then NoSuchElementException is raised in that case.
Syntax: WebElement element = driver.findElement(By.name(<NAME>));
Let’s take an example by locating “side menu” in “https://demoapp1.tequality.tech/” page.
Step1: Open “https://demoapp1.tequality.tech/“ in browser
Step2: Hover your mouse to Forms present in side-menu
Step3: Right click on the mouse and do inspect element
WebElement element = driver.findElement(By.name("side-menu-form"));