Selenium Introduction
· What is Selenium?
· Who developed Selenium?
· Selenium Components
· Introduction to WebDriver
· Installing Selenium WebDriver
· Architecture of Selenium Webdriver
· Creating your First Script in Webdriver
Launching AUT and Inspecting properties of Elements
- Launching AUT in Firefox
- Launching AUT in Internet Explorer
- Launching AUT in Chrome
- Launching AUT in Safari
- Inspecting properties of Elements on different Browsers
- Creating Firefox Profile
Finding elements using Locators
Creating Customize XPath/CSS Selectors
- What is XPath
- When to Use XPath
- Absolute XPath/Relative XPath
- Specifying conditions with XPath
- CSS Selectors
Automating WebElements Operations
- Browser
- TextBox
- ListBox
- Links
- Check Box
- Radio Button
- HTML Tables
- Calendars
Automating Keyboard and Mouse Events
- Action Class
- KeyBoard Events
- Drag & Drop Actions
- Mouse Hover Action
- RightClick, Double Click & Tool Tip
Handling Alerts
- accept()
- dismiss()
- getText()
Handling Frames
- What is iFrame?
- Locating Frames
- Handling Frames
Handling multiple Windows
- getwindowHandle()
- getwindowHandles()
- Switching between windows
- Handling elements present in different windows
Synchronization
- ImplicitWait
- WebDriverWait
- FluentWait
- PageLoadTimeout
-------------------------
08-11-2024
-------------------------
Integers:
byte age;
short marks;
age = 25;
marks = 900;
int salary = 50000;
long turnover = 100000000;
System.out.println(age);
System.out.println(marks);
System.out.println(salary);
System.out.println(turnover);
Real Numbers:
float x = 0.0012f;
double y = 9999.99d;
double z = 99999.99;
System.out.println(x);
System.out.println(y);
System.out.println(z);
Boolean:
boolean isworking;
isworking = true;
System.out.println(isworking);
Character:
char gender = 'm';
System.out.println(gender);
primitive types non primitive types
byte Byte
short Short
int Integer
long Long
float Float
double Double
boolean Boolean
char Character
11-11-2024
String Class provided
.toLowerCase()
.toUpperCase()
.length()
.equals()
.equalsIgnoreCase()
.contains()
.concat()
.charAt()
.substring()
.compareTo()
.split() ..,etc
functions to perform various String related operations.
Converting a String to LowerCase / UpperCase
String course;
course = "Java";
System.out.println(course);
System.out.println(course.toUpperCase());
System.out.println(course.toLowerCase());
Counting No. of chars in a String using : length()
String course;
course = "Java";
System.out.println(course);
int count = course.length();
System.out.println(count);
Comparing Two Strings using : equals()
String exptitle,acttitle;
exptitle = "google images";
acttitle = "Google Images";
boolean res = exptitle.equals(acttitle);
System.out.println(res);
output : false
Comparing Two Strings using : equalsIgnoreCase()
String exptitle,acttitle;
exptitle = "google images";
acttitle = "Google Images";
boolean res = exptitle.equalsIgnoreCase(acttitle);
System.out.println(res);
output : true
Comparing Two Strings using : equals()
String newpwd,confpwd;
newpwd = "Qedge123";
confpwd = "qedge123";
boolean res = newpwd.equals(confpwd);
System.out.println(res);
contains()
String acturl = "https://workspace.google.com/intl/en-US/gmail/";
String expurl = "gmail";
boolean res = acturl.contains(expurl);
System.out.println(res);
output : true
Concatinating Two Strings using : concat()
String course = "Java";
String version = "1.8";
System.out.println(course.concat(version));
---------------------------
String course = "Java";
String version = "1.8";
System.out.println(course+version);
Capturing Character present at specified position using : charAt()
String course = "Java";
char data = course.charAt(0);
System.out.println(data);
output : J
12-11-2024
Capturing a part of String using : substring()
String course = "Selenium Java";
String res = course.substring(9);
System.out.println(res);
output : Java
Capturing a part of String using : substring()
String course = "Selenium Java";
String res = course.substring(0,8);
System.out.println(res);
output : Selenium
compareTo()
------------
String str1,str2;
str1 = "A";
str2 = "A";
System.out.println(str2.compareTo(str1)); // output 0
str1 = "A";
str2 = "B";
System.out.println(str2.compareTo(str1)); // output 1
str1 = "B";
str2 = "A";
System.out.println(str2.compareTo(str1)); // output -1
The output value is depending on ASCI value
Splitting a String using : split()
String dob = "1/Jan/2000";
String[] temp = dob.split("/");
System.out.println(temp[0]);
System.out.println(temp[1]);
System.out.println(temp[2]);
Syntax of Creating an Array
Method 1:
datatype[] arrayname = {val1,val2,...valn};
String[] sname = {"Richards","John","Smith","David"};
Method 2:
datatype[] arrayname = new datatype[size];
int[] marks = new int[4];
marks[0] =60;
marks[1] =70;
marks[2] =80;
marks[3] =90;
13-11-2024
Create an Array to store 4 car names
BMW
Audi
Honda
Cooper
1st Method:
String[] cars = {"BMW","Audi","Honda","Cooper"};
2nd Method:
String[] cars = new String[4];
cars[0] = "BMW";
cars[1] = "Audi";
cars[2] = "Honda";
cars[3] = "Cooper";
Counting No. of elements present in a Array using : length
Syntax: arrayname.length;
Ex:
String[] cars = {"BMW","Audi","Honda","Cooper"};
int count = cars.length;
System.out.println(count);
output : 4
Accessing elements present in a Array
Syntax: arrayname[index];
Ex:
String[] cars = {"BMW","Audi","Honda","Cooper"};
System.out.println(cars[0]);
System.out.println(cars[3]);
Output:
BMW
Cooper
Replacing an existing element
Syntax: arrayname[index] = new value;
Ex:
String[] cars = {"BMW","Audi","Honda","Cooper"};
System.out.println(cars[0]);
cars[0] = "New Car";
System.out.println("after replacing...");
System.out.println(cars[0]);
Array:
int[] marks = new int[4];
marks[0] = 60;
marks[1] = 70;
marks[2] = 80;
marks[3] = 90;
// counting no. of elements
System.out.println(marks.length);
// accessing elements present in a Array
System.out.println(marks[0]);
System.out.println(marks[1]);
System.out.println(marks[2]);
System.out.println(marks[3]);
// replacing an existing element
marks[0] = 65;
System.out.println("after replacing...");
System.out.println(marks[0]);
Object :
Create an Array to store employee data such as
E001
Richards
25
M
40000.50
true
---------------------------
Object[] empdata = {"E001","Richards",25,'M',40000.50,true};
System.out.println(empdata.length);
System.out.println(empdata[0]);
System.out.println(empdata[5]);
14-11-2024
Syntax for Creating ArrayList
Syntax: ArrayList<ref_datatype> alist = new ArrayList<>();
Ex:
ArrayList<String> carlist = new ArrayList<>();
Adding elements to an ArrayList using : add()
Syntax: alist.add(element);
Ex:
ArrayList<String> carlist = new ArrayList<>();
carlist.add("BMW");
carlist.add("Audi");
carlist.add("Volvo");
carlist.add("Honda");
Counting No. of elements present in a ArrayList using : size()
Syntax: alist.size();
Ex:
ArrayList<String> carlist = new ArrayList<>();
carlist.add("BMW");
carlist.add("Audi");
carlist.add("Volvo");
carlist.add("Honda");
int count = carlist.size();
System.out.println(count);
output : 4
Accessing elements present in the ArrayList using : get()
Syntax: alist.get(index);
Ex:
ArrayList<String> carlist = new ArrayList<>();
carlist.add("BMW");
carlist.add("Audi");
carlist.add("Volvo");
carlist.add("Honda");
System.out.println(carlist.get(0));
System.out.println(carlist.get(3));
output : BMW
Honda
Replacing an existing elements present in a ArrayList using : set()
Syntax: alist.set(index,value);
Ex:
ArrayList<String> carlist = new ArrayList<>();
carlist.add("BMW");
carlist.add("Audi");
carlist.add("Volvo");
carlist.add("Honda");
System.out.println(carlist.get(0));
carlist.set(0, "New Car");
System.out.println("after replacing...");
System.out.println(carlist.get(0));
Removing Elements from an ArrayList using : remove()
Syntax: alist.remove(index);
Ex:
ArrayList<String> carlist = new ArrayList<>();
carlist.add("BMW");
carlist.add("Audi");
carlist.add("Volvo");
carlist.add("Honda");
System.out.println(carlist.size());
carlist.remove(0);
System.out.println("after removing an element size of the ArrayList");
System.out.println(carlist.size());
System.out.println(carlist.get(0));
Simple if:
String exptitle,acttitle;
exptitle = "Google";
acttitle = "google";
if(exptitle.equalsIgnoreCase(acttitle))
{
System.out.println("test pass");
}
2-12-2024
--------------------------------------------------------------------------------------------
Script to capture "href" property of "Store" Link in google.com using : getAttribute()
--------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("https://google.com");
String pgurl = driver.findElement(By.linkText("Store")).getAttribute("href");
System.out.println(pgurl);
---------------------------------------------------------------------------------------------
Script to capture "value" property of the element using : getAttribute()
--------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://orangehrm.qedgetech.com");
driver.findElement(By.id("txtUsername")).sendKeys("Admin");
driver.findElement(By.id("txtPassword")).sendKeys("Qedge123!@#");
driver.findElement(By.id("btnLogin")).click();
driver.findElement(By.linkText("PIM")).click();
driver.findElement(By.linkText("Add Employee")).click();
String empid = driver.findElement(By.id("employeeId")).getAttribute("value");
System.out.println(empid);
--------------------------------------------------------------------------------------------
getAttribute()
--------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://google.com");
String x = driver.findElement(By.className("lnXdpd")).getAttribute("alt");
System.out.println(x);
-------------------------------------------------------------------------------------
Script to check "Sign in" Link is displayed in Google Home Page or not using : isDisplayed()
----------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://google.com");
String link_tobe_check = "Sign in";
try
{
if(driver.findElement(By.linkText(link_tobe_check)).isDisplayed())
{
System.out.println("test pass");
}
} catch (Exception e)
{
System.out.println("test fail");
}
--------------------------------------------------------------------------------------
Script to check "Sign up" Link is displayed in Google Home Page or not using : isDisplayed()
----------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://google.com");
String link_tobe_check = "Sign up";
try
{
if(driver.findElement(By.linkText(link_tobe_check)).isDisplayed())
{
System.out.println("test pass");
}
} catch (Exception e)
{
System.out.println("test fail");
}
-------------------------------------------------------------------------------------------------
Script to check Orange HRM Admin Login
-------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://orangehrm.qedgetech.com");
driver.findElement(By.id("txtUsername")).sendKeys("Admin");
driver.findElement(By.id("txtPassword")).sendKeys("Qedge123!@#");
driver.findElement(By.id("btnLogin")).click();
try
{
driver.findElement(By.linkText("Admin")).isDisplayed();
System.out.println("test pass");
} catch (Exception e)
{
System.out.println("test fail");
}
-------------------------------------------------------------------------------------------------
Script to check Orange HRM Employee Login
-------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://orangehrm.qedgetech.com");
driver.findElement(By.id("txtUsername")).sendKeys("Hemanth");
driver.findElement(By.id("txtPassword")).sendKeys("Hemanth123!@#");
driver.findElement(By.id("btnLogin")).click();
try
{
if(driver.findElement(By.linkText("Admin")).isDisplayed())
{
System.out.println("test fail");
}
} catch (Exception e)
{
System.out.println("test pass");
}
--------------------------------------------------------------------------------------------------
3-12-2024
--------------------------------------------------------------------------------------------------
isSelected() :
-----------------------------------------------------------------------------------------------------------
It is used to check the specified Checkbox / RadioButton element is selected or not? If selected it returns
"true". If not selected it returns "false".
Syntax : WebElement.isSelected();
-----------------------------------------------------------------------------------------------------------
Script to select the checkbox based on its default selected status
-----------------------------------------------------------------------------------------------------------
driver.get("https://flights.qedgetech.com/register.html");
WebElement element = driver.findElement(By.id("flexCheckChecked"));
if(!element.isSelected())
{
element.click();
}
----------------------------------------------------------------------------------------------------------
Automating Textbox operations
----------------------------------------------------------------------------------------------------------
<input> is the HTML tagname used to create Textbox elements.
type = "text" or "password" or "email" for textbox elemwents.
//input[@type='text' or @type='password' or @type='email'] is the XPath expression used to capture all
textboxes present in a page.
----------------------------------------------------------------------------------------------------------
Script to capture all textboxes present in a page
----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("https://facebook.com");
List<WebElement> editlist = driver.findElements(By.xpath("//input[@type='text' or @type='password' or @type='email']"));
System.out.println(editlist.size());
----------------------------------------------------------------------------------------------------------------
Following are various major operations carried out on a textbox element.
1. Entering some text - sendKeys()
2. Removing existing text - clear()
3. Capturing value present in a textbox element - getAttribute("value")
4. Handling Auto Suggetions / AJAX Elements
--------------------------------------------------------------------------------------------------------------
AJAX full form is : Asynchronous JavaScript and XML which is Web developement technology used to send to server and retrive data from server , without effecting existing page behaviour.
-----------------------------------------------------------------------------------------------------------
Script to capture all auto sugettions for the keyword "Selenium" in google search
----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("https://google.com");
driver.findElement(By.name("q")).sendKeys("Selenum");
Thread.sleep(2000);
List<WebElement> keywordlist = driver.findElement(By.className("G43f7e")).findElements(By.tagName("li"));
System.out.println(keywordlist.size());
for(WebElement element : keywordlist)
{
String keyword = element.getText();
System.out.println(keyword);
}
---------------------------------------------------------------------------------------------------------
Script to to select "selenium download" from auto sugettions for the keyword "Selenium" in google search
---------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("https://google.com");
driver.findElement(By.name("q")).sendKeys("Selenum");
Thread.sleep(2000);
List<WebElement> keywordlist = driver.findElement(By.className("G43f7e")).findElements(By.tagName("li"));
for(WebElement element : keywordlist)
{
String keyword = element.getText();
if(keyword.equalsIgnoreCase("selenium download"))
{
element.click();
break;
}
}
-----------------------------------------------------------------------------------------------------------
4-12-2024
-----------------------------------------------------------------------------------------------------------
Working with DropDownList
-----------------------------------------------------------------------------------------------------------
<select> is the HTML tagname used to create DropDownList element.
<option> is the HTML tagname used to create various items of a DropDownList.
----------------------------------------------------------------------------------------------------------
Different DropDownList Operations:
1. Selecting an item from DropDownList
2. Checking the specified item present in the DropDownList or not?
3. Counting No. of items present in a DropDownList
4. Printing all items present in a DropDownList
5. Checking items are displayed in alphabetical order not?
---------------------------------------------------------------------------------------------------------
Selenium provided "Select" Class , This Select Class provided
.selectByIndex()
.selectByVisibletext()
.selectByValue()
.getOptions()
methods to perform required operations on the DropDownList element.
---------------------------------------------------------------------------------------------------------
5-12-2024
---------------------------------------------------------------------------------------------------------
Script to Select "DOB" while creating new account in FaceBook Application
----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://facebook.com");
driver.findElement(By.linkText("Create new account")).click();
Select dlist = new Select(driver.findElement(By.id("day")));
dlist.selectByIndex(0);
Select mlist = new Select(driver.findElement(By.id("month")));
mlist.selectByValue("5");
WebElement year_element = driver.findElement(By.id("year"));
Select ylist = new Select(year_element);
ylist.selectByVisibleText("2000");
----------------------------------------------------------------------------------------------------------
Script to select "Books" from categorylist in amazon.in
-----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://amazon.in");
Select cat = new Select(driver.findElement(By.id("searchDropdownBox")));
cat.selectByVisibleText("Books");
---------------------------------------------------------------------------------------------------------
Script to check the specified element "Books" present in the DropDownList or not?
----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://amazon.in");
String item_tobe_check = "Books";
Select cat = new Select(driver.findElement(By.id("searchDropdownBox")));
try
{
cat.selectByVisibleText(item_tobe_check);
System.out.println(item_tobe_check+" is present in the list , test pass");
} catch (Exception e)
{
System.out.println(item_tobe_check+" is not present in the list , test fail");
}
-----------------------------------------------------------------------------------------------------------
Script to check the specified element "Cars" present in the DropDownList or not?
-----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://amazon.in");
String item_tobe_check = "Cars";
Select cat = new Select(driver.findElement(By.id("searchDropdownBox")));
try
{
cat.selectByVisibleText(item_tobe_check);
System.out.println(item_tobe_check+" is present in the list , test pass");
} catch (Exception e)
{
System.out.println(item_tobe_check+" is not present in the list , test fail");
}
-----------------------------------------------------------------------------------------------------------
Script to count no. of items present in ProductCategoty DropDownList in amazon.in
-----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://amazon.in");
Select cat = new Select(driver.findElement(By.id("searchDropdownBox")));
List<WebElement> catlist = cat.getOptions();
int itemcount = catlist.size();
System.out.println(itemcount);
----------------------------------------------------------------------------------------------------------
Script to print all items present in a DropDownList
----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://amazon.in");
Select cat = new Select(driver.findElement(By.id("searchDropdownBox")));
List<WebElement> catlist = cat.getOptions();
for(int i=1;i<catlist.size();i++)
{
String catname = catlist.get(i).getText();
System.out.println(catname);
}
---------------------------------------------------------------------------------------------------------
6-12-2024
---------------------------------------------------------------------------------------------------------
Script to check all items present in DropDownList are displayed in alphabetical order or not?
-----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://amazon.in");
Select cat = new Select(driver.findElement(By.id("searchDropdownBox")));
List<WebElement> catlist = cat.getOptions();
String cat1 = "";
String cat2 = "";
boolean ordered = true;
for(int i=2;i<catlist.size();i++)
{
cat1 = catlist.get(i-1).getText();
cat2 = catlist.get(i).getText();
if(cat2.compareToIgnoreCase(cat1)<0)
{
ordered = false;
break;
}
}
if(ordered)
{
System.out.println("all items are displayed in alphabetical order, test pass");
}else
{
System.out.println("items are not displayed in alphabetical order, test fail");
System.out.println(cat1);
System.out.println(cat2);
}
-----------------------------------------------------------------------------------------------------------
Working with Links
-----------------------------------------------------------------------------------------------------------
<a> is the HTML tagname used to create links a page.
linkText and partialLinktext are the locators used by Selenium to identify Links present in a Page.
-----------------------------------------------------------------------------------------------------------
Script to check a Link is working or not in webpage using : getTitle()
-----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://google.com");
String linkname = "Sign in";
try
{
driver.findElement(By.linkText(linkname)).click();
String pgtitle = driver.getTitle().toLowerCase();
if(pgtitle.contains("sign in"))
{
System.out.println("test pass");
}else
{
System.out.println("test fail");
}
} catch (Exception e)
{
System.out.println(linkname+"Link is not present in the page");
}
}
Script to check a Link is working or not in webpage using : getCurrentUrl()
-----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://google.com");
String linkname = "Gmail";
try
{
driver.findElement(By.linkText(linkname)).click();
String pgurl = driver.getCurrentUrl().toLowerCase();
if(pgurl.contains("gmail"))
{
System.out.println("test pass");
}else
{
System.out.println("test fail");
}
} catch (Exception e)
{
System.out.println(linkname+"Link is not present in the page");
}
Script to count no. of links in page
-----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://google.com");
List<WebElement> links = driver.findElements(By.tagName("a"));
System.out.println(links.size());
----------------------------------------------------------------------------------------------------------
Script to print all links and their redirected URLs present in a page
----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://google.com");
List<WebElement> links = driver.findElements(By.tagName("a"));
for(WebElement element : links)
{
String linkname = element.getText();
String linkurl = element.getAttribute("href");
System.out.println(linkname+" "+linkurl);
}
-----------------------------------------------------------------------------------------------------------
7-12-2024
-----------------------------------------------------------------------------------------------------------
Working with Checkbox and RadioButton elements
----------------------------------------------------------------------------------------------------------
<input> is the HTML tagname used to create checkbox / radiobutton elements.
type="checkbox" for checkbox elements.
type="radio" for RadioButton elements.
----------------------------------------------------------------------------------------------------------
//input[@type='checkbox'] is the XPath expression used to capture all checkboxes present in a page.
//input[@type='radio'] is the XPath expression used to capture all radiobuttons present in a page.
----------------------------------------------------------------------------------------------------------
click() method used to check / uncheck checkbox element.
click() method used to select RadioButton element.
isSelected() : It is used to verify the checkbox/radio button elements is selected or not? If selected it retunrs "true" , if not selected it retuns "false".
----------------------------------------------------------------------------------------------------------
Working with HTML Tables / UI Tables
----------------------------------------------------------------------------------------------------------
<table> is the HTML tagname used to create UI Tables in a WebPage.
<tr> is the HTML tagname used to create Rows in a HTML table.
<th> / <td> is the HTML name used to create columns of a Table Row.
----------------------------------------------------------------------------------------------------------
Script to count no. of trains (rows) present in IRCTC Trains Table
----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("https://www.railyatri.in/time-table");
WebElement trains_table = driver.findElement(By.className("timetable_table__4hbNj"));
List<WebElement> rows = trains_table.findElements(By.tagName("tr"));
int rowcount = rows.size()-1;
System.out.println(rowcount);
---------------------------------------------------------------------------------------------------------
Script to count no. of columns present in a table row
---------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("https://www.railyatri.in/time-table");
WebElement trains_table = driver.findElement(By.className("timetable_table__4hbNj"));
List<WebElement> rows = trains_table.findElements(By.tagName("tr"));
List<WebElement> cols = rows.get(1).findElements(By.tagName("td"));
int colcount = cols.size();
System.out.println(colcount);
---------------------------------------------------------------------------------------------------------
Script to Read and Print all train numbers and train names present in IRCTC table.
---------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("https://www.railyatri.in/time-table");
WebElement trains_table = driver.findElement(By.className("timetable_table__4hbNj"));
List<WebElement> rows = trains_table.findElements(By.tagName("tr"));
// counting rows
int rowcount = rows.size();
System.out.println("No. of Rows : "+rowcount);
// counting columns
List<WebElement> cols = rows.get(1).findElements(By.tagName("td"));
int colcount = cols.size();
System.out.println("No. of columns : "+colcount);
// Reading data present in a table
for(int i=1;i<rows.size();i++)
{
cols = rows.get(i).findElements(By.tagName("td"));
String train_number = cols.get(0).getText();
String train_name = cols.get(1).getText();
System.out.println(train_number+" "+train_name );
}
-----------------------------------------------------------------------------------------------------------
9-12-2024
-----------------------------------------------------------------------------------------------------------
Script to check New Employee Registration in OrangeHRM Project
----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://orangehrm.qedgetech.com");
driver.findElement(By.id("txtUsername")).sendKeys("Admin");
driver.findElement(By.id("txtPassword")).sendKeys("Qedge123!@#");
driver.findElement(By.id("btnLogin")).click();
driver.findElement(By.linkText("PIM")).click();
driver.findElement(By.linkText("Add Employee")).click();
driver.findElement(By.id("firstName")).sendKeys("Venkat");
driver.findElement(By.id("lastName")).sendKeys("J");
String empid = driver.findElement(By.id("employeeId")).getAttribute("value");
driver.findElement(By.id("btnSave")).click();
driver.findElement(By.linkText("Employee List")).click();
driver.findElement(By.id("empsearch_id")).sendKeys(empid);
driver.findElement(By.id("searchBtn")).click();
WebElement emptable = driver.findElement(By.id("resultTable"));
List<WebElement> rows = emptable.findElements(By.tagName("tr"));
for(int i=1;i<rows.size();i++)
{
List<WebElement> cols = rows.get(i).findElements(By.tagName("td"));
if(cols.get(1).getText().equals(empid))
{
System.out.println("New Employee Registered is displayed Employee List, Test Pass");
}else
{
System.out.println("New Employee Registered is not displayed Employee List, Test Fail");
}
}
-----------------------------------------------------------------------------------------------------------
Script to Enter "FlyDate" while booking a ticket in Flights Application using : sendKeys()
-----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("https://flights.qedgetech.com");
driver.findElement(By.name("email")).sendKeys("suraj@gmail.com");
driver.findElement(By.name("password")).sendKeys("suraj123");
driver.findElement(By.xpath("//*[@type='submit']")).click();
driver.findElement(By.id("search-date")).sendKeys("12/25/2025");
-----------------------------------------------------------------------------------------------------------
Script to select "FlyDate" while booking a ticket in Flights Application by operating the calendar
-----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("https://flights.qedgetech.com");
driver.findElement(By.name("email")).sendKeys("suraj@gmail.com");
driver.findElement(By.name("password")).sendKeys("suraj123");
driver.findElement(By.xpath("//*[@type='submit']")).click();
driver.findElement(By.id("search-date")).click();
String flydate = "22-October-2030";
String[] temp = flydate.split("-");
String dt = temp[0];
String month = temp[1];
String year = temp[2];
String calyear = driver.findElement(By.className("ui-datepicker-year")).getText();
while(!calyear.equals(year))
{
driver.findElement(By.linkText("Next")).click();
calyear = driver.findElement(By.className("ui-datepicker-year")).getText();
}
String calmonth = driver.findElement(By.className("ui-datepicker-month")).getText();
while(!calmonth.equalsIgnoreCase(month))
{
driver.findElement(By.linkText("Next")).click();
calmonth = driver.findElement(By.className("ui-datepicker-month")).getText();
}
WebElement cal = driver.findElement(By.className("ui-datepicker-calendar"));
List<WebElement> rows = cal.findElements(By.tagName("tr"));
for(int i=1;i<rows.size();i++)
{
List<WebElement> cols = rows.get(i).findElements(By.tagName("td"));
for(WebElement element : cols)
{
if(element.getText().equals(dt))
{
element.click();
break;
}
}
}
---------------------------------------------------------------------------------------------------------
11-12-2024
---------------------------------------------------------------------------------------------------------
Automating Mouse Operations
---------------------------------------------------------------------------------------------------------
Selenium provided "Actions" Class , This Actions Class provided
.click()
.doubleClick()
.contextClick()
.moveToElement()
.dragAndDrop()
.build()
.perform()
methods to automate mouse operations with Selenium.
----------------------------------------------------------------------------------------------------------
build() : It compiles specified mouse operations and make ready to Run.
perform() : It executes the compiled mouse actions.
----------------------------------------------------------------------------------------------------------
Script to automate Mouse Operation "Move_To_Element"
----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("https://snapdeal.com");
Actions act = new Actions(driver);
act.moveToElement(driver.findElement(By.linkText("Home & Kitchen")));
act.build().perform();
---------------------------------------------------------------------------------------------------------
Script to automate Mouse Operation "Right Click"
---------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("https://snapdeal.com");
Actions act = new Actions(driver);
act.contextClick(driver.findElement(By.linkText("Home & Kitchen")));
act.build().perform();
---------------------------------------------------------------------------------------------------------
Script to handle iFrames ans also Mouse DragAndDrop Operation.
----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("https://jqueryui.com/");
driver.findElement(By.linkText("Droppable")).click();
driver.switchTo().frame(driver.findElement(By.className("demo-frame")));
WebElement srcelement,trgelement;
srcelement = driver.findElement(By.id("draggable"));
trgelement = driver.findElement(By.id("droppable"));
Actions act = new Actions(driver);
act.dragAndDrop(srcelement, trgelement);
act.build().perform();
driver.switchTo().parentFrame();
driver.findElement(By.linkText("Demos")).click();
-----------------------------------------------------------------------------------------------------------
13-12-2024
-----------------------------------------------------------------------------------------------------------
Handling Multiple Browser Windows
----------------------------------------------------------------------------------------------------------
.getWindowHandle()
.getWindowHandles()
methods to capture browser window id/ids.
-----------------------------------------------------------------------------------------------------------
getWindowHandle() : It returns Current Browser Window Id. Its return type is "String".
String windowid = driver.getWindowHandle();
-----------------------------------------------------------------------------------------------------------
Script to capture Current window ids using : getWindowHandle()
-----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("https://gmail.com");
String current_window_id = driver.getWindowHandle();
System.out.println(current_window_id);
----------------------------------------------------------------------------------------------------------
getWindowHandles() : It returns all brower window ids opened in the current session. Its return type is
Set<String>
----------------------------------------------------------------------------------------------------------
Script to capture all browser window ids using : getWindowHanldes()
----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("https://gmail.com");
driver.findElement(By.linkText("Help")).click();
Set<String> allwindows = driver.getWindowHandles();
System.out.println(allwindows);
----------------------------------------------------------------------------------------------------------
Script to switch between multiple browser windows
-----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("https://gmail.com");
driver.findElement(By.linkText("Help")).click();
Set<String> allwindows = driver.getWindowHandles();
// code to seperate window ids
Object[] windows = allwindows.toArray();
String window1 = windows[0].toString();
String window2 = windows[1].toString();
driver.switchTo().window(window2);
driver.findElement(By.linkText("Community")).click();
driver.switchTo().window(window1);
driver.findElement(By.id("identifierId")).sendKeys("demo");
-----------------------------------------------------------------------------------------------------------
Handling multiple browser windows (more than 2 windows)
-----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("https://gmail.com");
driver.findElement(By.linkText("Help")).click();
Set<String> allwindows = driver.getWindowHandles();
// code to seperate window ids
Object[] windows = allwindows.toArray();
String window1 = windows[0].toString();
String window2 = windows[1].toString();
driver.switchTo().window(window2);
driver.findElement(By.linkText("Google Account")).click();
allwindows = driver.getWindowHandles();
windows = allwindows.toArray();
String window3= windows[2].toString();
driver.switchTo().window(window3);
String window3title = driver.getTitle();
System.out.println(window3title);
driver.findElement(By.linkText("Create an account")).click();
----------------------------------------------------------------------------------------------------------
14-12-2024
----------------------------------------------------------------------------------------------------------
Script to Handle alert operations
-----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("https://flights.qedgetech.com");
driver.findElement(By.name("email")).sendKeys("suraj@gmail.com");
driver.findElement(By.name("password")).sendKeys("suraj123");
driver.findElement(By.xpath("//*[@type='submit']")).click();
driver.findElement(By.linkText("Flight Bookings")).click();
driver.findElement(By.linkText("Delete")).click();
String alertmsg = driver.switchTo().alert().getText();
if(alertmsg.contains("Delete"))
{
driver.switchTo().alert().accept();
}else
{
driver.switchTo().alert().dismiss();
}
----------------------------------------------------------------------------------------------------------
Script to Handle alert
----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("https://flights.qedgetech.com");
driver.findElement(By.name("email")).sendKeys("suraj@gmail.com");
driver.findElement(By.name("password")).sendKeys("suraj123");
driver.findElement(By.xpath("//*[@type='submit']")).click();
driver.findElement(By.linkText("Flight Bookings")).click();
driver.findElement(By.linkText("Delete")).click();
Alert alt = driver.switchTo().alert();
String alertmsg = alt.getText();
if(alertmsg.contains("Delete"))
{
alt.accept();
}else
{
alt.dismiss();
}
----------------------------------------------------------------------------------------------------------
16-12-2024
----------------------------------------------------------------------------------------------------------
Selenium Wait Commands
----------------------------------------------------------------------------------------------------------
1. Thread.sleep(timeout_in_miilis)
2. ImplicitWait
3. ExplicitWait
---------------------------------------------------------------------------------------------------------
ExplicitWait
---------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("https://flights.qedgetech.com");
driver.findElement(By.name("email")).sendKeys("suraj@gmail.com");
driver.findElement(By.name("password")).sendKeys("suraj123");
driver.findElement(By.xpath("//*[@type='submit']")).click();
driver.findElement(By.linkText("Flight Bookings")).click();
driver.findElement(By.linkText("Delete")).click();
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.alertIsPresent());
driver.switchTo().alert().accept();
---------------------------------------------------------------------------------------------------------
Script to capture ScreenShot of the Page
---------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://orangehrm.qedgetech.com");
driver.findElement(By.id("txtUsername")).sendKeys("Admin");
driver.findElement(By.id("txtPassword")).sendKeys("Qedge123!@#");
driver.findElement(By.id("btnLogin")).click();
driver.findElement(By.partialLinkText("Welcome")).click();
driver.findElement(By.linkText("Change Password")).click();
TakesScreenshot ts = (TakesScreenshot)driver;
File srcfile = ts.getScreenshotAs(OutputType.FILE);
File trgfile = new File("c:\\defects\\chgpwd_defect.png");
FileUtils.copyFile(srcfile, trgfile);
--------------------------------------------------------------------------------------------------------
17-12-2024
--------------------------------------------------------------------------------------------------------
Script to scroll the window for the specified no. of pixels
----------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://booking.com");
driver.findElement(By.xpath("//button[contains(@aria-label,'Dismiss')]")).click();
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("window.scrollBy(0,2000)");
---------------------------------------------------------------------------------------------------------
Script to scroll the window upto visibility of the specified element
---------------------------------------------------------------------------------------------------------
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://booking.com");
driver.findElement(By.xpath("//button[contains(@aria-label,'Dismiss')]")).click();
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].scrollIntoView()", driver.findElement(By.linkText("Discover homes")));
-----------------------------------------------------------------------------------------------------------
19-12-2024
-----------------------------------------------------------------------------------------------------------
Syntax for creating a Method / Function
----------------------------------------------------------------------------------------------------------
[public] [static] void/return_type methodName([arg1,arg2,...argn])
{
statement 1;
statement 2;
statement n;
[return value_tobe_returned;]
}
----------------------------------------------------------------------------------------------------------
Java Access Modifiers:
default : package level access.
public : project level access.
private : class level access.
protected : class level access , but by inheriting this class into another class we can access these methods in inherited class.
---------------------------------------------------------------------------------------------------------
public class Calculator
{
public int sum(int a,int b)
{
int v1,v2,result;
v1 = a;
v2 = b;
result = v1+v2;
return result;
}
public int sum(int a,int b,int c)
{
int v1,v2,result;
v1 = a;
v2 = b;
result = v1+v2;
return result;
}
public void sum(double v1,double v2)
{
}
public int subtract(int a,int b)
{
int v1,v2,result;
v1 = a;
v2 = b;
result = v1-v2;
return result;
}
public int multiply(int a,int b)
{
int v1,v2,result;
v1 = a;
v2 = b;
result = v1*v2;
return result;
}
public int div(int a,int b)
{
int v1,v2,result;
v1 = a;
v2 = b;
result = v1/v2;
return result;
}
}
----------------------------------------------------------------------------------------------------
20-12-2024
----------------------------------------------------------------------------------------------------
TestCase 1 : Admin Login Test with valid credentials
Step 1 : Launch OrangeHRM App
Step 2 : Login as Admin and check Admin Module Displayed or not?
Step 3 : Logout
Step 4 : Close App
----------------------------------------------------------------------------------------------------------
Local Variables & Global Variables
----------------------------------------------------------------------------------------------------------
public class DemoClass
{
String url; // global variable
public void method1()
{
url = "http://google.com";
System.out.println(url);
int x; // local variable
}
public void method2()
{
System.out.println(url);
}
}
0 Comments