Pic 1
From the above process SDET can automate previously failed test cases
and related passed test cases for future real and regression testing
on modified sprint/s/w
Peformance testing
Types of Softwares:
1)computer based
a)1-tier (S/w have screens only)
b)2-tier(S/w have screens with DB)
c)3-tier(Website)
d)n-tier(Webservice)
2)Mobile based
a)native app
b)hybrid app
c)website
Selenium WebDriver
Pic 2
Step1: Download and install jdk 8
->Start
->Right click on computer
?>properties
->check system type which is 32-bit or 64-bit
->close properties
?>Go to google site
->Enter jdk 8 download
?>click search
->Go to oracle.com site and
->Accept liscence agreement
->click jdk download with respect to OS and bit size
->paste the download in personal folder
->double click on that download
->click next until finish
->go to c:drive and copy path of jdk folder
(c:/program files/java/jdk1.8)
->Right click on computer
->properties
->Advanced system settings
->Environment variables
?>click new in system variables
Name JAVA_HOME
Value c:/program files/java/jdk1.8
Note1:
1)Double click on eclipse icon and it will ask the workspace folder
2)Browse path of personal folder as workspace
3)select do not ask again checkbox
4)click ok
5)close welcome screen in eclipse ide
driver.close()
Test scenario1:
1)Launch google website using chrome browser
2)wait for few seconds
3)close site
Test script:
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.get("http://www.google.co.in/");
Thread.sleep(5000);
driver.close();
quit(): we can use this metghod to close active browser and other
related windows.
syntax: driver.quit()
object of webdriver class method
getTitle(): we can use this method to get the title of active browser
window
Test Scenario2:
1)Launch google site using chrome browser
2)wait for few seconds
3)get title of site
4)close site
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver=new ChromeDriver();
//launch site
driver.get("http://www.google.co.in/");
Thread.sleep(5000);
String x=driver.getTitle();
System.out.println(x);
driver.close();
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.get("http://www.gmail.com/");
Thread.sleep(5000);
String x=driver.getCurrentUrl();
if(x.contains("https"))
{
System.out.println("securable site");
}
else
{
System.out.println("not a securab;le site");
}
driver.close();
getPagesource(): we can use this method to get the html source code
of current active window
Syntax:
Pic 4
Test scenario:
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver=new ChromeDriver();
//launch site
driver.get("http://newtours.demoaut.com/");
Thread.sleep(5000);
driver.findElement(By.linkText("REGISTER")).click();
Thread.sleep(3000);
driver.findElement(By.name("firstName")).sendKeys("abc");
Thread.sleep(1000);
driver.findElement(By.name("lastName")).sendKeys("bcd");
Thread.sleep(1000);
driver.findElement(By.name("phone")).sendKeys("1234567790");
Thread.sleep(1000);
driver.findElement(By.id("userName")).sendKeys("abc@gmail.com");
Thread.sleep(1000);
driver.findElement(By.name("address1")).sendKeys("no 10");
Thread.sleep(1000);
driver.findElement(By.name("address2")).sendKeys("kukatpally");
Thread.sleep(1000);
driver.findElement(By.name("city")).sendKeys("hyderabad");
Thread.sleep(1000);
driver.findElement(By.name("state")).sendKeys("TS");
Thread.sleep(1000);
driver.findElement(By.name("postalCode")).sendKeys("500087");
Thread.sleep(1000);
Select s=new
Select(driver.findElement(By.name("country")));
s.selectByVisibleText("INDIA");
Thread.sleep(1000);
driver.findElement(By.id("email")).sendKeys("abcd");
Thread.sleep(1000);
driver.findElement(By.name("password")).sendKeys("abc@1234");
Thread.sleep(1000);
driver.findElement(By.name("confirmPassword")).sendKeys("abc@1234");
Thread.sleep(1000);
driver.findElement(By.name("register")).click();
Thread.sleep(5000);
driver.close();
Syntax: driver.findElement(locator).click();
Syntax: driver.findElement(By.name("Email")).sendKeys("xxxx");
driver.findElement(By.name("signIn)).click();
or
driver.findElement(By.name("Email")).sendKeys("xxx", Keys.TAB,
Keys.ENTER)
Eg: driver.findElement(locator).sendKeys("aaaa",
Keys.chord(Keys.CONTROL, "a"));
driver.findElement(By.id("identifierId")).sendKeys("aaaa@gmail.com",
Keys.chord(Keys.CONTROL,"a"));
Thread.sleep(5000);
driver.close();
}
getAttribute():
getCssvalue():
we can use these methods to get the values of cosing attributes and
style attributes of ekement in webpage
tagName
<input id="identifierId" class="whsOnd zHQkBf" type="email" data-
initial-value="" data-initial-dir="ltr" dir="ltr" name="identifier"
aria-label="Email or phone" tabindex="0" spellcheck="false"
autocomplete="username" jsname="YPqjbf"/>
Syntax:
String x=driver.findElement(By.name("Emaik")).getText();
getTagName():
we can use this method to get the tagname of an located element in
webpage
String x=driver.findElement(locator).getTagName();
Eg4: click 3rd image in 4th column in 3rd row in 2nd table in page.
Eg5: Select India in 3rd dropdown in 4th column in 4th row in 2nd
table in page
OR
List <WebElement>
l=driver.findElements(By.xpath("//input[@type='radio']"));
int c=l.size(); //100
System.out.println(c); //100
List <WebElement>
l2=driver.findElements(By.xpath("//input[@type='button']));
int c=l1.size()+l2.size();
System.out.println(c);
Eg8: count no. of images in a webpage which are developed using image
tag and input tag
List <WebElement>
l1=driver.findElements(By.xpath("//input[@type='text']"));
List <WebElement>
l2=driver.findElements(By.xpath("//input[@type='password']"));
int c=l1.size()+l2.size();
OR
List <WebElement>
l=driver.findElements(By.xpath("//input[@type='text'
@type='password']"));
int c=l.size();
driver.switchTo.frame("name"/Index);
Pic 5
driver.findElement(By.name("username")).sendKeys("xxx");
driver.switchTo().frame("frame1");
driver.findElement(By.id("password")).sendKeys("xx");
driver.switchTo().defaultContent();
driver.findElement(By.name("ok")).click();
Eg2:
Pic 6
driver.switchTo().frame("frame1");
driver.findElement(By.id("uname")).sendKeys("xxx");
driver.switchTo().frame("frame2");
driver.findElement("password")).sendKeys("xxx");
driver.switchTo().parentFrame();
driver.findElement(By.id("age")).sendKeys("xxx");
driver.switchTo().defaultContent();
driver.findElement(By.id("ok")).click();
Eg3:
Pic 7
driver.switchTo().frame("frame1");
driver.findElement(By.id("uname")).sendKeys("xxx");
driver.switchTo().defaultContent();
driver.switchTo().frame("frame2");
driver.findElement(By.id("password")).sendKeys("xxx");
driver.switchTo().defaultContent();
driver.findElement(By.id("ok")).click();
Test Scenario:
Launch guru99 website
click on jmeter made easy image(use frames)
close site
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.get("http://demo.guru99.com/test/guru99home/");
Thread.sleep(5000);
driver.switchTo().frame("a077aa5e");
driver.findElement(By.xpath("//img[@src='Jmeter720.png']")).click();
Thread.sleep(3000);
driver.close();
switchTo().alert():
Eg1:
Pic 9
driver.switchTo().alert().accept();
or
driver.switchTo().alert().dismiss();
Eg2:
Pic 10
driver.switchTo().alert().accept();//ok
driver.switchTo().alert().dismiss();//cancel
Eg3:
Pic 11
String x=driver.switchTo().alert().getText();
System.out.println(x)
driver.switchTo().alert().accept();
Eg4:
Pic 12
Eg5:
Pic 13
driver.switchTo().alert().sendKeys(Keys.DOWN, Keys.DOWN, Keys.ENETR)
driver.switchTo().alert().accept();
switchTo().window():
we can use this method to change the focus of webdriver class object
from current window page to new browser window page.
Syntax: driver.switchTo().window("windowid");
Test Scenario:
Test Scenario:
1)Launch alibaba site
2)click on one request multiple quotes button
3)close one request multiple quotes page browser window
4)close site
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.get("https://www.alibaba.com/?
src=sem_ggl&cmpgn=70223922&adgrp=2741927802&fditm=&tgt=kwd-
14739453&locintrst=&locphyscl=9062134&mtchtyp=e&ntwrk=g&device=c&dvcmdl=&cr
eative=232587960886&plcmnt=&plcmntcat=&p1=&p2=&aceid=&position=1t1&gclid=EA
IaIQobChMIkKLQtqfl3gIVxoyPCh2rdAauEAAYASAAEgLjuvD_BwE");
Thread.sleep(10000);
driver.findElement(By.xpath("//a[contains(text(),'One Request,
Multiple Quotes')]")).click();
Thread.sleep(10000);
ArrayList <String> l=new
ArrayList<String>(driver.getWindowHandles());
driver.switchTo().window(l.get(1));
driver.close();
driver.switchTo().window(l.get(0));
driver.close();
Syntax:
ArrayList <String> l=new ArrayList<String>driver.getWindowHandles();
manage().window().maximize():
we can use this mehtod to maximize the active browser window.
syntax: driver.manage().window().maximize();
manage().deleteAllCookies():
Cookies is a server side programs and running on client system to
share client system to server.
manage().getCookies().size():
navigate().to():
navigate().back():
navigate().forward():
navigate().refresh():
--------------------
we can use these methods to manipulate activer browser window
Types of xpaths:
Eg: html/body/div[4]/div/div[1]/div/a/img
Syntax1: //tagName[@attriibute='value']
//input[@type='radio']
Syntax2:
//tagName[@attribute='value'][@attribute='value']
//input[@type='button'][@value='Register Here']
Syntax3:
//tagName[@attribute='value' or @attribute='value']
Syntax4:
if ant element is of 3 matching nodes then we want to use 2nd element
then we will use the below syntax.
(//tagName[@attriibute='value'])[Index]
1-based(index starts from 1 here)
(//input[@type='radio'])[2]
Syntax5:
//*[@attribute='value']
//*[@type='radio']
Syntax6:
//*[start-with(@name, 'raja')]
Syntax7:
//*[contains(@attribute, 'value')]
//*[contains(@name, 'Ten')]
Syntax8:
(//*[@attribute='value'])[last()]
(//*[@attribute='value'])[last()-2]
Syntax9:
//*[@attribute='value']/div//input
relative xpath to neighbour absolute xpath to target element
element from neighbouring element
facebook appllication 1,00,000 users
1,00,000 people
1,00,000 chairs
1,00,000 tables
1,00,000 laptops
1,00,000 room capacity