• [Selenium+Java] How to Take Screenshot in Selenium WebDriver


    Original URL: https://www.guru99.com/take-screenshot-selenium-webdriver.html

    Screenshots are desirable for bug analysis. Selenium can automatically take screenshots during execution. You need to type cast WebDriver instance to TakesScreenshot.

    How to Take Screenshot in Selenium WebDriver

    Taking Screenshot in Selenium is a 3 Step process

    Step 1) Convert web driver object to TakeScreenshot

    TakesScreenshot scrShot =((TakesScreenshot)webdriver);

    Step 2) Call getScreenshotAs method to create image file

    File SrcFile=scrShot.getScreenshotAs(OutputType.FILE);

    Step 3) Copy file to Desired Location

    Example: In this example we will take screenshot of http://demo.guru99.com/V4/ & save it as C:/Test.png

    package Guru99TakeScreenshot;
    
    import java.io.File;
    
    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.firefox.FirefoxDriver;
    
    import org.testng.annotations.Test;
    
    public class Guru99TakeScreenshot {
    
        @Test
    
        public void testGuru99TakeScreenShot() throws Exception{
    
    		WebDriver driver ;
        	System.setProperty("webdriver.firefox.marionette","C:\geckodriver.exe");
        	driver = new FirefoxDriver();
    
            //goto url
    
            driver.get("http://demo.guru99.com/V4/");
    
            //Call take screenshot function
    
            this.takeSnapShot(driver, "c://test.png") ;     
    
        }
    
        /**
    
         * This function will take screenshot
    
         * @param webdriver
    
         * @param fileWithPath
    
         * @throws Exception
    
         */
    
        public static void takeSnapShot(WebDriver webdriver,String fileWithPath) throws Exception{
    
            //Convert web driver object to TakeScreenshot
    
            TakesScreenshot scrShot =((TakesScreenshot)webdriver);
    
            //Call getScreenshotAs method to create image file
    
                    File SrcFile=scrShot.getScreenshotAs(OutputType.FILE);
    
                //Move image file to new destination
    
                    File DestFile=new File(fileWithPath);
    
                    //Copy file at destination
    
                    FileUtils.copyFile(SrcFile, DestFile);
    
        }
    
    }
  • 相关阅读:
    团队项目冲刺阶段一(6)
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    梦断代码读后感
    每日日报
  • 原文地址:https://www.cnblogs.com/alicegu2009/p/9083009.html
Copyright © 2020-2023  润新知