zoukankan      html  css  js  c++  java
  • [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);
    
        }
    
    }
  • 相关阅读:
    JavaScript Date 对象
    javascript Array类型 方法大全
    Flexbox
    CSS 去除浏览器默认 轮廓外框
    多行文本溢出显示省略号(…) text-overflow: ellipsis
    最全CSS3选择器
    何时使用 Em 与 Rem
    前端笔试面试题
    oracle中 lob类型
    MySQL 5.5.62 安装方法(标准配置版)
  • 原文地址:https://www.cnblogs.com/alicegu2009/p/9083009.html
Copyright © 2011-2022 走看看