selenium2入门 断言失败自动截图 (四)
2015-07-13 09:33
113 查看
一般web应用程序出错过后,会抛出异常。这个时候能截个图下来,当然是极好的。
selenium自带了截图功能。
当然在截图之前 需要判断新路径是否合法。下面贴出整体的代码。
调用
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);
相关文章推荐
- NSArray 和NSMutableArray的区别
- NSArray 和NSMutableArray的区别
- 常见浏览器兼容性问题与解决方案css篇
- Java Map集合解析
- ScheduledExecutorService中scheduleAtFixedRate方法的同步
- HDU 1671 Phone List (Trie)
- iOS_9_scrollView分页
- Java中equals和==的区别
- arcgis TextSymbol 换行问题
- django 问题解决
- 【简易版】IOS仿periscope自制狂赞飘桃心
- php多字节编码字符长度检测
- Android中友盟统计,用户反馈,在线升级配置概述
- 个人用的前端保存路径
- python读取中文gbk编码json文件
- PAT 数据结构 03-树1. 二分法求多项式单根(20)
- [Leetcode 232, Easy] Implement Queue using Stacks
- 刘烨:家里官方语言是中文 听不懂娘仨说法语
- Ubuntu Ruby On Rails安装和配置
- 一个简单的中英文翻译脚本