Automation Using Selenium Webdriver

Tuesday 11 October 2016

How To Zoom In And Zoom Out Page In Selenium Test

 How To Zoom In And Zoom Out Page In Selenium Test

import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

public class ZoomBrowser {
 WebDriver driver;

 @BeforeTest
 public void setup() throws Exception {
  driver = new FirefoxDriver();
  driver.manage().window().maximize();
  driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
  driver.get("http://google.com/");
 }

 @Test
 public void getScrollStatus(){
  //Call zooming functions to zoom in and out page.
  zoomIn(); 
  zoomOut();
  zoomOut();
  set100();
 }

 public void zoomIn(){
  //To zoom In page 4 time using CTRL and + keys.
  for(int i=0; i<4; i++){  
  driver.findElement(By.tagName("html")).sendKeys(Keys.chord(Keys.CONTROL, Keys.ADD));
  }
 }

 public void zoomOut(){
  //To zoom out page 4 time using CTRL and - keys.
  for(int i=0; i<4; i++){
   driver.findElement(By.tagName("html")).sendKeys(Keys.chord(Keys.CONTROL, Keys.SUBTRACT));
  }
 }

 public void set100(){
  //To set browser to default zoom level 100%
  driver.findElement(By.tagName("html")).sendKeys(Keys.chord(Keys.CONTROL, "0"));
 }
}

How to explain the Data driven framework to the interviewer

In my project We are  Using  Data Driven Framework Say like ::
Basically  I involved 3 stages- 
 1.Design the framework::
( eclipse create a java project by name abc,under project create like 
      project name---->package name---->class name--->,)
add all external jar file selenium,Apache POI jars,and TestNG Framework add all jars
To perform the validation, we create one more class Assertion. Whenever we need to perform validation we need to call assertText() or assertTitle() present under the Assertion class. (Assert.assertEquals())
 2.implementing the framework ::

This is where actual implementation of the framework start. While going thru the manual testcases we note down the common repeated steps and make those steps as a project specific methods. Even if one step is repeating , may be in same testcase or other testcase make it as a method. Then write the test script for all the manual test cases.

 

3.execution process ::
Right click on the project, navigate to TestNG → convert to TestNG → give the proper suite name and test name and click on finish. Then execute this xml file (ctrl+f11) or right click and run as TestNG Suite. Or to run thru cmd → navigate till project then give this commnd-

4.check failed testcase and execute agian


what is uses data driven in your project

Well defined architectural design
Less time to test large data
Script execution in multiple environments
Easier, faster, and efficient analysis of result logs
Communication of results

Easy debugging and script maintenance

Data Driven framework-------->

In my Project  is  too deep with pages , however each page can have scenarios that need to be tested with large test data sets, we would want to write automation scripts with a focus on test data aka. data-driven. Tools like Selenium already have excel sheet parsing etc that loops through rows and the same test case is executed for each data-set. It helps me to  excel is the most optimum way to handle test data.