Skip to main content

Capturing the screenshot via selenium

    


We are discussing here about capturing a Screenshot via selenium, we have taken an example of FB page where if the title of FB page is different from what we have expected, then the screenshot should be captured

Below is code for your understanding ......

import org.testng.annotations.Test;

import java.io.File;

import java.io.IOException;

import java.util.concurrent.TimeUnit;

import org.apache.commons.io.FileUtils;

import org.openqa.selenium.OutputType;

import org.openqa.selenium.TakesScreenshot;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.chrome.ChromeDriver;

public class Screenshotss {

WebDriver driver;

@Test

public void test() throws IOException

{

    System.setProperty("Webdriver.chrome.driver","chromedriver");

WebDriver driver = new ChromeDriver();

driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);

//opening a facebook link

    driver.get("https://www.facebook.com");

    driver.manage().window().maximize();

//reading the title of the page

String title = driver.getTitle();


//if the title of the facebook is similar to the below mentioned content then no screenshot will be captured


    if(title.contentEquals("Facebook – log in or sign up"))

    {

System.out.println("launch successful");

}

else {


// if the title is different form what is expected then a screenshot will be captured

System.out.println("launch failed");

    TakesScreenshot ts=(TakesScreenshot)driver;

File src = ts.getScreenshotAs(OutputType.FILE);

// "screenshot" is the folder name  screenshot will be saved with the name "screen1"

FileUtils.copyFile(src, new File("/Users/priyankac/Desktop/screenshot/screen1.png"));


     }

    

}

}

// As the above title is correct the launch should be sucessfull so no screenshot should be captured








change the title to make the launch unsucessfull




Screenshot should be captured





Now you know very well that if you need to take a screenshot,  when the condition is true what exactly you need to do.


WebDriver driver;

@Test

public void test() throws IOException

{

    System.setProperty("Webdriver.chrome.driver","chromedriver");

WebDriver driver = new ChromeDriver();

driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);

    driver.get("https://www.facebook.com");

    driver.manage().window().maximize();

String title = driver.getTitle();

    if(title.contentEquals("Facebook – log in or sign up"))

    {

System.out.println("launch successful");

    TakesScreenshot ts=(TakesScreenshot)driver;

File src = ts.getScreenshotAs(OutputType.FILE);

FileUtils.copyFile(srcnew File("/Users/priyankac/Desktop/screenshot/screen1.png"));


 }

else {

System.out.println("launch failed");


     }


    

}

}

In either case if you want to take a screenshot Go with the below code.

WebDriver driver;

@Test

public void test() throws IOException

{

    System.setProperty("Webdriver.chrome.driver","chromedriver");

WebDriver driver = new ChromeDriver();

driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);

    driver.get("https://www.facebook.com");

    driver.manage().window().maximize();

String title = driver.getTitle();

    if(title.contentEquals("Facebook – log in or sign up"))

    {

System.out.println("launch successful");

}

else {

System.out.println("launch failed");


     }

    TakesScreenshot ts=(TakesScreenshot)driver;

File src = ts.getScreenshotAs(OutputType.FILE);

FileUtils.copyFile(srcnew File("/Users/priyankac/Desktop/screenshot/screen1.png"));


    

}

}




Comments

Popular posts from this blog

Cucumber - Execution of test cases and reporting

Before going through this blog please checkout blog on   Cucumber Fundamentals Cucumber is testing tool which implements BDD(behaviour driven development).It offers a way to write tests that  anybody can understand, regardless of there technical knowledge. It users Gherkin (business readable language) which helps to  describe behaviour without going into details of implementation It's helpful for  business stakeholders who can't easily read code ( Why cucumber tool,  is  called  cucumber , I have no idea if you ask me I could have named it "Potato"(goes well with everything and easy to understand 😂) Well, According to its founder..... My wife suggested I call it  Cucumber  (for no particular reason), so that's how it got its  name . I also decided to give the Given-When-Then syntax a  name , to separate it from the  tool . That's why it's  called  Gherkin ( small variety of a cucumber that's been pickled. I...

Automating Flipkart via selenium

                                            Hi Folks, we are automating a flipkart site where you will see how to search and filter the product you choose without logging in . import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.support.ui.Select; import org.testng.annotations.Test; public class flipkart { WebDriver driver ; @Test       public void test()       {   System.setProperty( "Webdriver.chrome.driver" , "chromedriver" );     WebDriver driver = new ChromeDriver();   driver .manage().timeouts().implicitlyWait(5, TimeUnit. SECONDS );   driver .manage().window().maximize();          driver .get( "https://www.flipkart.com" );   ...

Jmeter 5.4.1- Config Elements - Part-03

  Part-01- Installation of Jmeter and HTTP's Recorder click  here Part 02--Previous blog on Assertion Config elements in Jmeter are used to configure or modify the samplers requests made to the server. These elements are added at the same or higher level of the samplers that we want to configure  Let' start with  CSV data config As the name suggest it used to read data from CSV first we need to put data in variables and then use the variables in sampler request. create a new test plan add CSV data set config Add a Thread Group and then add Sampler "Java Request"  Create a CSV file  with some data (Name and Data) and save it  Now go to Jmeter CSs data set config browse and upload the css file create Make few more changes in place of  variable name - Name and Dept Ignore first line - True Delimeter - \t (as suggested) Now move on the Sampler-" Java Request" and rename it with header elements of CSV As we have Name and d...