• selenium2 断言失败自动截图 (四)


    一般web应用程序出错过后,会抛出异常。这个时候能截个图下来,当然是极好的。

    selenium自带了截图功能。

                //获取截图file
                File scrFile= ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
                //将图片移动到指定位置
                FileUtils.moveFile(scrFile, new File(newFilePath));

    当然在截图之前 需要判断新路径是否合法。下面贴出整体的代码。

    package common;
    import java.io.File;
    import java.io.IOException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import org.apache.commons.io.FileUtils;
    import org.openqa.selenium.OutputType;
    import org.openqa.selenium.TakesScreenshot;
    import org.openqa.selenium.WebDriver;
    public class ScreenShot {
        public WebDriver driver;
        public ScreenShot(WebDriver _driver){
            driver=_driver;
        }
        private void takeScreenshot(String screenPath){
            try {
                //获取截图file
                File scrFile= ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
                //将图片移动到指定位置
                FileUtils.moveFile(scrFile, new File(screenPath));
            }  catch (IOException e) {
                e.printStackTrace();
            }
        }
        public void takeScreenshot(){
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd(hh_mm_ss)SSS");
            String fileName=dateFormat.format( new Date());
            //创建新的文件名
            String screenName=fileName+".jpg";
            //创建文件夹
            File dir = new File("test-output/snapshot");
            if (!dir.exists()){
                dir.mkdirs();
            }
            //获取新文件名的绝对路径
            String screenPath= dir.getAbsolutePath()+"/"+screenName;
            //截图
            this.takeScreenshot(screenPath);
        }
    }

    调用

    ScreenShot ss = new ScreenShot(Driver);
  • 相关阅读:
    算法-排序(二)-快速排序
    算法- 排序(一)
    python(十四)新式类和旧式类
    Python(十三)python的函数重载
    django(二)中间件与面向切面编程
    MySQL(二)MySQL的启动或链接失败
    django(一)验证码
    python(七) Python中单下划线和双下划线
    Python(十) Python 中的 *args 和 **kwargs
    python(六)列表推导式、字典推导式、集合推导式
  • 原文地址:https://www.cnblogs.com/milanmi/p/4636398.html
Copyright © 2020-2023  润新知