一般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);
selenium2入门 断言失败自动截图 (四)的更多相关文章
-
selenium2 断言失败自动截图 (四)
一般web应用程序出错过后,会抛出异常.这个时候能截个图下来,当然是极好的. selenium自带了截图功能. //获取截图file File scrFile= ((TakesScreenshot)d ...
-
Selenium2+python自动化67-用例失败自动截图【转载】
前言: 装饰器其实就是一个以函数作为参数并返回一个替换函数的可执行函数 上一篇讲到用装饰器解决异常后自动截图,不过并没有与unittest结合,这篇把截图的装饰器改良了下,可以实现用例执行失败自动截图 ...
-
testng 失败自动截图
testng执行case failed ,testng Listener会捕获执行失败,如果要实现失败自动截图,需要重写Listener的onTestFailure方法 那么首先新建一个Listene ...
-
TestNG监听器实现用例运行失败自动截图、重运行功能
注: 以下内容引自 http://blog.csdn.net/sunnyyou2011/article/details/45894089 (此非原出处,亦为转载,但博主未注明原出处) 使用Testng ...
-
QTP场景恢复之用例失败自动截图
以下代码是在QC里运行QTP来执行脚本过程,当执行过程中发现用例失败后就会自动截图,然后把用例返回到最初始的状态,模拟了场景恢复的机制 Class QCImageErrorCapture Dim qt ...
-
Webdriver+Testng实现测试用例失败自动截图功能
testng执行测试用例的时候,如果用例执行失败会自动截图,方便后续排查问题 1.首先定义一个截图类: package com.rrx.utils; import java.io.File;impor ...
-
TestNG实现用例运行失败自动截图(转载)
转载自:https://blog.csdn.net/galen2016/article/details/70193684 重写Listener的onTestFailure方法 package com. ...
-
appium自动化,失败自动截图
1.创建监听器类TestNGListener,重写onTestFailure方法,里面定义了 监听的driver ,截图文件路径和名称 package utils; import cases.Appi ...
-
TestNG失败自动截图
转自:https://www.cnblogs.com/tobecrazy/p/4814813.html
随机推荐
-
TSQL查询45道题
一.设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher). 四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1- ...
-
browserify使用手册
简介 这篇文档用以说明如何使用browserify来构建模块化应用 browserify是一个编译工具,通过它可以在浏览器环境下像nodejs一样使用遵循commonjs规范的模块化编程. 你可以使用 ...
-
建立Maven工程时出错,Failure to transfer com.thoughtworks.xstream:xstream:jar:1.3.1
Failure to transfer com.thoughtworks.xstream:xstream:jar: from http://repo1.maven.org/maven2 was cac ...
-
zabbix 修改输出web前端图片的日期格式
zabbix并没有给定一个全局或者用户级别的时间格式定义方式. 实在看不惯的话,可以自己修改源代码来实现修改. 暂时研究了半小时,先把展示图片修改了. 后续有更严谨的方案,再更新此文吧. ------ ...
-
03 javadoc
javadoc从程序源代码中抽取类.方法.成员等注释形成一个和源代码配套的API帮助文档 1.标签.命令格式: 2.使用方式: 2.1 dos命令行格式:javadoc XXX.java 2.2 ec ...
-
JDBC官方用法
JDBC官方用法https://bitbucket.org/xerial/sqlite-jdbc/#markdown-header-usage 代码下载https://github.com/xeria ...
-
Flink Program Guide (2) -- 综述 (DataStream API编程指导 -- For Java)
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...
-
scrollTop doesn't scroll on Chrome 61
在chrome61 不支持滚动 解决方案: Use document.scrollingElement if supported, and fall back to the current code. ...
-
mac使用apktool打包回apk
升级最新版的apktool 下载目录:https://ibotpeaches.github.io/Apktool/install/. 权限修改 将上述的文件放在usr/local/bin目录下并执行 ...
-
【python】安装pymongo时出错
在python2.7的环境下,使用pip install pymongo安装模块报以下错误: Could not install packages due to an EnvironmentError ...