//以下七种方法主要用于生成年、月、日、小时、分钟和秒的信息,用于生成保存截图的文件目录名和文件名
/*
* 格式化输出日期

* @return 返回字符型日期
*/
public static String format(java.util.Date date, String format) {
String result = "";
try {
if (date != null) {
java.text.DateFormat dateFormat = new java.text.SimpleDateFormat(format);
result = dateFormat.format(date);
}
} catch (Exception e) {
// TODO: handle exception
}
return result;
}

/*
* 返回年份
* @return返回年份
*/
public static int getYear(java.util.Date date) {
java.util.Calendar calendar = java.util.Calendar.getInstance();
calendar.setTime(date);
return calendar.get(java.util.Calendar.YEAR);
}

/*
* 返回月份
* @return返回月份
*/
public static int getMonth(java.util.Date date) {
java.util.Calendar calendar = java.util.Calendar.getInstance();
calendar.setTime(date);
return calendar.get(java.util.Calendar.MONTH) + 1;
}

/*
* 返回在月份中的第几天
* @return返回在月份中的第几天
*/
public static int getDay(java.util.Date date) {
java.util.Calendar calendar = java.util.Calendar.getInstance();
calendar.setTime(date);
return calendar.get(java.util.Calendar.DAY_OF_MONTH);
}

/*
* 返回小时
* @param date
* 日期
* @return返回小时
*/
public static int getHour(java.util.Date date) {
java.util.Calendar calendar = java.util.Calendar.getInstance();
calendar.setTime(date);
return calendar.get(java.util.Calendar.HOUR_OF_DAY);
}

/*
* 返回分钟
* @param date
* 日期
* @return返回分钟
*/
public static int getMinute(java.util.Date date) {
java.util.Calendar calendar = java.util.Calendar.getInstance();
calendar.setTime(date);
return calendar.get(java.util.Calendar.MINUTE);
}

/*
* 返回秒
* @param date
* 日期
* @return返回秒
*/
public static int getSecond(java.util.Date date) {
java.util.Calendar calendar = java.util.Calendar.getInstance();
calendar.setTime(date);
return calendar.get(java.util.Calendar.SECOND);
}

//以下两种方法用于创建目录和文件
public static boolean createFile(String deatFileName) {
File file = new File(deatFileName);
if (file.exists()) {
System.out.println("创建单个文件" + deatFileName +"失败, 目标文件已存在! ");
return false;
}
if (deatFileName.endsWith(File.separator)) {
System.out.println("创建单个文件" + deatFileName +"失败, 目标文件不能为目录! ");
return false;
}
//判断目标文件所在的目录是否存在
if (!file.getParentFile().exists()) {
System.out.println("目标文件所在目录不存在,准备创建它!");
if (!file.getParentFile().mkdirs()) {
System.out.println("创建目标文件所在目录失败!");
}
}
try {
if (file.createNewFile()) {
System.out.println("创建单个文件" + deatFileName +"成功!");
return true;
}else {
System.out.println("创建单个文件" + deatFileName +"失败!");
return false;
}
} catch (Exception e) {
// TODO: handle exception
System.out.println("创建单个文件" + deatFileName +"失败!" + e.getMessage());
return false;
}
}

public static boolean createDir(String destDirName) {
File dir = new File(destDirName);
if (dir.exists()) {
System.out.println("创建目录" + destDirName +"失败,目标目录已经存在!");
return false;
}
//创建目录
if (dir.mkdirs()) {
System.out.println("创建目录" + destDirName +"成功!");
return false;
} else {
System.out.println("创建目录" + destDirName +"失败!");
return false;
}
}

//以下方法用于截图
public void takeTakeScreenshot(WebDriver driver) {
try {
//生成日期对象
Date date = new Date();
//调用该类中的方法,生成截图所在的文件夹日期名称
String picDir = "d:\\" + String.valueOf(getYear(date)) + "-" + String.valueOf(getMonth(date)) + "-" + String.valueOf(getDay(date));
if (! new File(picDir).exists()) {
createDir(picDir);
}
//调用该类中的方法,生成截图文件的时间名称
String filePath = picDir + "\\" + String.valueOf(getHour(new Date())) + "-" + String.valueOf(getMinute(new Date())) + "-" + String.valueOf(getSecond(new Date())) + ".png";
//进行截图,并将文件内容保存在SrcFile对象中
File srcFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
//将截图文件内容写入到磁盘中,生成截图文件
FileUtils.copyFile(srcFile, new File(filePath));
} catch (Exception e) {
// TODO: handle exception
}
}

Java的selenium代码随笔(5)的更多相关文章

  1. Java的selenium代码随笔(8)

    Selenium截图方法一: Selenium中截图类TakeScreenshout,这个类主要是获取浏览器窗体内的内容,不包括浏览器的菜单和桌面的任务栏区域,我们用百度首页来截图,看看截图效果. F ...

  2. Java的selenium代码随笔(2)

    import java.awt.AWTException;import java.awt.Robot;import java.awt.Toolkit;import java.awt.datatrans ...

  3. Java的selenium代码随笔(1)

    package ShareClass; import java.awt.AWTException;import java.awt.Robot;import java.awt.Toolkit;impor ...

  4. Java的selenium代码随笔(7)

    //判断元素是否存在public boolean IsElementPresent (WebElement webElement, By by) { boolean status = false; t ...

  5. Java的selenium代码随笔(6)

    //获取元素列表public List<WebElement> ListElements(WebElement webElement, By parentBy, By childrenBy ...

  6. Java的selenium代码随笔(4)

    //高亮操作元素public void highlight(WebElement webElement) {JavascriptExecutor javascriptExecutor = (Javas ...

  7. Java的selenium代码随笔(3)

    /** 以下方法主要用于切换页面*/public void SetPageSwitch(String pageTitle) {Set<String> allWindowsHandles = ...

  8. Java使用Selenium几个例子

    零.姿势 Selenium分为两个版本:Selenium RC和Selenium Webdriver.现在用Selenium Webdriver比较多. Selenium是一套工具,而不仅仅是一个操纵 ...

  9. 正则表达式学习笔记(附:Java版示例代码)

    具体学习推荐:正则表达式30分钟入门教程 .         除换行符以外的任意字符\w      word,正常字符,可以当做变量名的,字母.数字.下划线.汉字\s        space,空白符 ...

随机推荐

  1. [日常] Go-逐行读取文本信息

    go逐行读取文本信息:1.os包提供了操作系统函数的不依赖平台的接口,Open方法打开一个文件用于读取,func Open(name string) (file *File, err error)2. ...

  2. 使用 babel-loader(webpack)

    参考: https://www.jianshu.com/p/d971bffff546 定位 Webpack 速度慢的原因 打包的命令webpack后加三个参数: --colors 输出结果带彩色,比如 ...

  3. 网络最大流算法—最高标号预流推进HLPP

    吐槽 这个算法.. 怎么说........ 学来也就是装装13吧.... 长得比EK丑 跑的比EK慢 写着比EK难 思想 大家先来猜一下这个算法的思想吧:joy: 看看人家的名字——最高标号预留推进 ...

  4. 在IIS上部署你的ASP.NET Core 2.1项目

    1.在控制面板→程序→启用或关闭Windows功能→勾选Internet Information Services以及Web管理工具下的IIS管理控制台 2.IIS 安装AspNetCoreModul ...

  5. Network Policy - 每天5分钟玩转 Docker 容器技术(171)

    Network Policy 是 Kubernetes 的一种资源.Network Policy 通过 Label 选择 Pod,并指定其他 Pod 或外界如何与这些 Pod 通信. 默认情况下,所有 ...

  6. C# Tostring()方法

    在C#中 JArray japroimg = new JArray(); strproimg.ToString();这样会导致tostring之后的字符串中会有大量的空格 使用  japroimg.T ...

  7. Linux Mysql数据库安全配置

    Linux  Mysql数据库安全配置 目录: 1.修改mysql管理员账号root的密码(2种方法) 2.修改mysql管理员账号root 3.mysql管理员root账号密码遗忘解决办法(2种方法 ...

  8. 自动化测试之路2---python安装

    借鉴这位老哥的文章http://www.cnblogs.com/shabbylee/p/6792555.html

  9. 模块简介:(logging)(re)(subprocess)

    ''' logging模块: logging的日志可以分为 debug():Detailed information, typically of interest only when diagnosi ...

  10. 腾讯大数据平台Oceanus: A one-stop platform for real time stream processing powered by Apache Flink

    January 25, 2019Use Cases, Apache Flink The Big Data Team at Tencent     In recent years, the increa ...