Handling Elements inwards Selenium WebDriver
Pre-requisites to practise Test cases inwards Selenium
i) Element Locators (To recognize/identify Elements)
ii) WebDriver Methods (To perform operations on Elements)
iii) Programming features (To heighten Test cases)
----------------------------------------------
iv) TestNG Annotations (Grouping Test Cases, Test Batch execution as well as generating reports.)
----------------------------------------------
i) Element Locators
1) id
2) name
3) className
4) tagName
5) linkText
6) parialLinkText
7) cssSelector
8) xpath
------------------------------
Web Elements
Browser -driver object
Page-----------
Link
Button
Image, Image Button, Image Link
Edit box
Text Area
Check box
Radio Button
Drop downward box
List box
Combo box
Web Table / HTML Table
Frame etc...
-----------------------------------------
ii) WebDriver Methods
a) Methods on Browser
1) get()
2) getTitle()
3) getPageSource()
4) getCurrentUrl()
5) getwindowHandle()
6) close()
7) quit()
--------------------
b) Browser navigation methods
1) navigate().to()
2) navigate().back()
3) navigate().forward()
4) navigate().refresh()
------------------------------
c) Methods on Elements
1) findElement()
2) findElements()
3) sendkeys()
4) clear()
5) click()
6) isEnabled()
7) isDisplayed()
8) isSelected()
9) getText()
10) getAttribute()
-----------------------------------
d) Others
1) manage.window.maximize()
2) .explicitlyWait()
-------------------------------------
iii) Java Programming features
A) Java Fundamentals
1) Comments
2) Data Types
3) Modifiers
4) Variables
5) Operators
6) Conditional Statements
7) Loop Statements
8) String handling
9) Arrays inwards Java
10) Built inwards Methods
11) User defined Methods
12) Input as well as Output Operations, File Handling
13) Exception Handling
B) Java OOPS
1) Inheritance
2) Polymorphism
3) Abstraction
4) Encapsulation
------------------------------------
Handling Elements inwards Selenium
i) Handling Browser
Operations on Browser:
> Launch the Browser
> Navigate to specified URL
> Return Current URL
> Get the Page Title
> Return Page source
> Return Window handle
> Close focused Browser
> Close all browsers that opened yesteryear selenium WebDriver during execution
-----------
> Navigate to about other URL
> Navigate dorsum to previous URL
> Navigate forward
> Refresh the Browser
> Maximize the Browser window.
-------------------------------------
Examples:
public static void main(String[] args) {
WebDriver driver = novel FirefoxDriver();
driver.get("https://www.google.co.in");
String PageTitle = driver.getTitle();
System.out.println(PageTitle);
String URL = driver.getCurrentUrl();
System.out.println(URL);
String PageSource = driver.getPageSource();
System.out.println(PageSource);
String WindowHandle = driver.getWindowHandle();
System.out.println(WindowHandle);
driver.close();
driver.quit();
----------------------------------------
public static void main(String[] args) {
WebDriver driver = novel FirefoxDriver();
driver.get("https://www.google.co.in");
driver.navigate().to("https://login.yahoo.com/");
System.out.println(driver.getCurrentUrl());
driver.navigate().back();
System.out.println(driver.getCurrentUrl());
driver.navigate().forward();
System.out.println(driver.getCurrentUrl());
driver.manage().window().maximize();
--------------------------------------------
ii) Handling Edit box
Operations on Edit box
> Enter a value
> Clear the Value
> Return the Value
> Check Displayed status
> Check Enabled statues
Example:
//Finding Edit box using id locator
driver.findElement(By.id("Email")).sendKeys("gcrindia");
//Finding Edit box using lift locator
driver.findElement(By.name("Email")).sendKeys("gcrindia");
//Finding Edit box using CSS Selector locator
driver.findElement(By.cssSelector("#Email")).sendKeys("gcrindia");
//Finding Edit box using xpath locator
driver.findElement(By.xpath(".//*[@id='Email']")).sendKeys("gcrindia");
//Clear the Value
driver.findElement(By.xpath(".//*[@id='Email']")).clear();
--------------------------------
WebElement Email = driver.findElement(By.xpath(".//*[@id='Email']"));
Email.sendKeys("gcrindia");
//Return Type of the Object
Email.getAttribute("type");
//Return the Value
System.out.println(Email.getText());//gcrindia
//Return Displayed status
System.out.println(Email.isDisplayed());//true
//Return Enabled status
System.out.println(Email.isEnabled());//true
//Clear the value
driver.findElement(By.id("Email")).clear();
---------------------------------------------
iii) Handle Text Area
Capture Text Area/Capture Error Message
Capture Text Area:
driver.get("https://www.gmail.com");
String second = driver.findElement(By.xpath("html/body/div[1]/div[2]/div[1]/h1")).getText();
System.out.println(s);
Capture Error Message:
WebDriver driver = novel FirefoxDriver();
driver.get("https://login.yahoo.com/");
driver.manage().window().maximize();
driver.findElement(By.xpath(".//*[@id='login-signin']")).click();
String ErrorMessage = driver.findElement(By.id("mbr-login-error")).getText();
System.out.println(ErrorMessage);
Handle Window Popup
WebDriver driver = novel FirefoxDriver();
driver.get("https://mail.rediff.com/cgi-bin/login.cgi");
driver.findElement(By.name("proceed")).click();
Alert warning = driver.switchTo().alert();
String Error_Message =alert.getText();//Returns Error message
System.out.println(Error_Message);
alert.accept();//Closes OK Button
driver.findElement(By.id("login1")).sendKeys("Inda123");
---------------------------------
iv) Handle Button
> Click
> Check the Displayed status
> Check the Enabled status
> Return lift of the Object
> Return type of the Object
Example:
WebDriver driver = novel FirefoxDriver();
driver.get("https://www.gmail.co.in");
System.out.println(driver.findElement(By.id("next")).isEnabled());//true
driver.findElement(By.id("next")).click();
System.out.println(driver.findElement(By.id("next")).isDisplayed());//true
System.out.println(driver.findElement(By.id("next")).isEnabled());//false
System.out.println(driver.findElement(By.id("next")).getAttribute("type"));
System.out.println(driver.findElement(By.id("next")).getAttribute("name"));
System.out.println(driver.findElement(By.id("next")).getAttribute("value"));
---------------------------------------------------
Pre-requisites to practise Test cases inwards Selenium
i) Element Locators (To recognize/identify Elements)
ii) WebDriver Methods (To perform operations on Elements)
iii) Programming features (To heighten Test cases)
----------------------------------------------
iv) TestNG Annotations (Grouping Test Cases, Test Batch execution as well as generating reports.)
----------------------------------------------
i) Element Locators
1) id
2) name
3) className
4) tagName
5) linkText
6) parialLinkText
7) cssSelector
8) xpath
------------------------------
Web Elements
Browser -driver object
Page-----------
Link
Button
Image, Image Button, Image Link
Edit box
Text Area
Check box
Radio Button
Drop downward box
List box
Combo box
Web Table / HTML Table
Frame etc...
-----------------------------------------
ii) WebDriver Methods
a) Methods on Browser
1) get()
2) getTitle()
3) getPageSource()
4) getCurrentUrl()
5) getwindowHandle()
6) close()
7) quit()
--------------------
b) Browser navigation methods
1) navigate().to()
2) navigate().back()
3) navigate().forward()
4) navigate().refresh()
------------------------------
c) Methods on Elements
1) findElement()
2) findElements()
3) sendkeys()
4) clear()
5) click()
6) isEnabled()
7) isDisplayed()
8) isSelected()
9) getText()
10) getAttribute()
-----------------------------------
d) Others
1) manage.window.maximize()
2) .explicitlyWait()
-------------------------------------
iii) Java Programming features
A) Java Fundamentals
1) Comments
2) Data Types
3) Modifiers
4) Variables
5) Operators
6) Conditional Statements
7) Loop Statements
8) String handling
9) Arrays inwards Java
10) Built inwards Methods
11) User defined Methods
12) Input as well as Output Operations, File Handling
13) Exception Handling
B) Java OOPS
1) Inheritance
2) Polymorphism
3) Abstraction
4) Encapsulation
------------------------------------
Handling Elements inwards Selenium
i) Handling Browser
Operations on Browser:
> Launch the Browser
> Navigate to specified URL
> Return Current URL
> Get the Page Title
> Return Page source
> Return Window handle
> Close focused Browser
> Close all browsers that opened yesteryear selenium WebDriver during execution
-----------
> Navigate to about other URL
> Navigate dorsum to previous URL
> Navigate forward
> Refresh the Browser
> Maximize the Browser window.
-------------------------------------
Examples:
public static void main(String[] args) {
WebDriver driver = novel FirefoxDriver();
driver.get("https://www.google.co.in");
String PageTitle = driver.getTitle();
System.out.println(PageTitle);
String URL = driver.getCurrentUrl();
System.out.println(URL);
String PageSource = driver.getPageSource();
System.out.println(PageSource);
String WindowHandle = driver.getWindowHandle();
System.out.println(WindowHandle);
driver.close();
driver.quit();
----------------------------------------
public static void main(String[] args) {
WebDriver driver = novel FirefoxDriver();
driver.get("https://www.google.co.in");
driver.navigate().to("https://login.yahoo.com/");
System.out.println(driver.getCurrentUrl());
driver.navigate().back();
System.out.println(driver.getCurrentUrl());
driver.navigate().forward();
System.out.println(driver.getCurrentUrl());
driver.manage().window().maximize();
--------------------------------------------
ii) Handling Edit box
Operations on Edit box
> Enter a value
> Clear the Value
> Return the Value
> Check Displayed status
> Check Enabled statues
Example:
//Finding Edit box using id locator
driver.findElement(By.id("Email")).sendKeys("gcrindia");
//Finding Edit box using lift locator
driver.findElement(By.name("Email")).sendKeys("gcrindia");
//Finding Edit box using CSS Selector locator
driver.findElement(By.cssSelector("#Email")).sendKeys("gcrindia");
//Finding Edit box using xpath locator
driver.findElement(By.xpath(".//*[@id='Email']")).sendKeys("gcrindia");
//Clear the Value
driver.findElement(By.xpath(".//*[@id='Email']")).clear();
--------------------------------
WebElement Email = driver.findElement(By.xpath(".//*[@id='Email']"));
Email.sendKeys("gcrindia");
//Return Type of the Object
Email.getAttribute("type");
//Return the Value
System.out.println(Email.getText());//gcrindia
//Return Displayed status
System.out.println(Email.isDisplayed());//true
//Return Enabled status
System.out.println(Email.isEnabled());//true
//Clear the value
driver.findElement(By.id("Email")).clear();
---------------------------------------------
iii) Handle Text Area
Capture Text Area/Capture Error Message
Capture Text Area:
driver.get("https://www.gmail.com");
String second = driver.findElement(By.xpath("html/body/div[1]/div[2]/div[1]/h1")).getText();
System.out.println(s);
Capture Error Message:
WebDriver driver = novel FirefoxDriver();
driver.get("https://login.yahoo.com/");
driver.manage().window().maximize();
driver.findElement(By.xpath(".//*[@id='login-signin']")).click();
String ErrorMessage = driver.findElement(By.id("mbr-login-error")).getText();
System.out.println(ErrorMessage);
Handle Window Popup
WebDriver driver = novel FirefoxDriver();
driver.get("https://mail.rediff.com/cgi-bin/login.cgi");
driver.findElement(By.name("proceed")).click();
Alert warning = driver.switchTo().alert();
String Error_Message =alert.getText();//Returns Error message
System.out.println(Error_Message);
alert.accept();//Closes OK Button
driver.findElement(By.id("login1")).sendKeys("Inda123");
---------------------------------
iv) Handle Button
> Click
> Check the Displayed status
> Check the Enabled status
> Return lift of the Object
> Return type of the Object
Example:
WebDriver driver = novel FirefoxDriver();
driver.get("https://www.gmail.co.in");
System.out.println(driver.findElement(By.id("next")).isEnabled());//true
driver.findElement(By.id("next")).click();
System.out.println(driver.findElement(By.id("next")).isDisplayed());//true
System.out.println(driver.findElement(By.id("next")).isEnabled());//false
System.out.println(driver.findElement(By.id("next")).getAttribute("type"));
System.out.println(driver.findElement(By.id("next")).getAttribute("name"));
System.out.println(driver.findElement(By.id("next")).getAttribute("value"));
---------------------------------------------------