【java+selenium3】自動化截圖 (十四)


一、截圖

1. Firefox瀏覽器截圖

FirefoxDriver firefoxDriver = new FirefoxDriver();
firefoxDriver.getScreenshotAs(OutputType type);

2. Chrome瀏覽器截圖

ChromeDriver chromeDriver = new ChromeDriver();
chromeDriver.getScreenshotAs(OutputType type);

3. IE瀏覽器的截圖

InternetExplorerDriver ieDriver = new InternetExplorerDriver();
ieDriver.getScreenshotAs(OutputType type);

 二、代碼實現

1.創建瀏覽器驅動參考:https://www.cnblogs.com/xiaozhaoboke/p/11074562.html

2.瀏覽器截圖實現代碼:

package cn.test;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.commons.io.FileUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.testng.annotations.Test;
import cn.test.BaseCase;

public class Screenshots extends BaseCase {
    @Test
    public void test() {
        try {
            driver.get("http://www.baidu.com");//獲取當前系統時間
            Date date = new Date();
            //定義系統時間輸出格式
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss");
            String strTime = sdf.format(date);
            File img =null;
            if(driver instanceof ChromeDriver) {
                //將driver向下轉型chromeDriver
                ChromeDriver chromeDriver = (ChromeDriver)driver;
                //調用chromeDriver.getScreenshotAs()方法得到截圖文件
                img= chromeDriver.getScreenshotAs(OutputType.FILE);
            }else if(driver instanceof FirefoxDriver){
                FirefoxDriver firefoxDriver = (FirefoxDriver)driver;
                img = firefoxDriver.getScreenshotAs(OutputType.FILE);
            }else if(driver instanceof InternetExplorerDriver) {
                InternetExplorerDriver ieDriver = (InternetExplorerDriver)driver;
                img = ieDriver.getScreenshotAs(OutputType.FILE);
            }
            //使用commons.io包提供的FileUtils工具類,直接copy一份保存到指定路徑下
            //copyFile方法傳入的都是File類型
            FileUtils.copyFile( img, new File("src/test/resources/"+strTime+"_img.png"));
        } catch (Exception e) {
            e.printStackTrace();
        }
        
    }
}

學習后總結,不足之處后續補充,未完待續。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM