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);
    
        }
    
    }
  • 相关阅读:
    Solidity通过合约转ERC20代币
    各种开源协议区别
    shell脚本之函数
    shell脚本之循环和循环控制
    shell脚本之if判断以及case多分支选择
    shell脚本之数组
    shell脚本之变量
    nginx常用内置变量
    nignx配置文件详解
    nginx源码安装./configure常见参数详解
  • 原文地址:https://www.cnblogs.com/alicegu2009/p/9083009.html
Copyright © 2011-2022 走看看