【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();
        }
        
    }
}

学习后总结,不足之处后续补充,未完待续。。。

转载于:https://www.cnblogs.com/xiaozhaoboke/p/11139738.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值