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

* @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. .Net File类的操作

    //File类的常用操作方法 //File类的常用操作方法 //File.Exists //检测是否存在该文件 Exists //File.Create //创建一个文件 Create //File. ...

  2. 用javaweb连接数据库用javabean、severlet实现增删改查

    样 很重要的一点是建立数据库的连接 数据库是一切操作的前提 不管是增加 删除 修改 查询 都需要调用数据库连接程序 再就是java的类的编写  写完类后需要对其进行增删改查方法的 编写 这是dao层的 ...

  3. WPF StringFormat 格式化文本

    StringFormat对特定数据格式的转换 WPF中,对数字/日期等的格式化,可参考此篇博客:https://www.cnblogs.com/zhengwen/archive/2010/06/19/ ...

  4. .Net 接入CAS 遇到的坑

    关于CAS是个什么东西,就不多闲扯了,相信每个有过SSO经验的都听过CAS大名,百度百科地址: https://baike.baidu.com/item/CAS/1329561?fr=aladdin ...

  5. [PHP] 简单多进程并发

    企邮搬家进程管理逻辑,经过简化后的功能实现 <?php //守护进程 umask(0); //把文件掩码清0 if (pcntl_fork() != 0){ //是父进程,父进程退出 exit( ...

  6. Html和Css学习笔记-css进阶-盒模型

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 此篇博客是我的复习笔记,html和css学的时间太久了,忘得差不多了,最近要使用一下,所以重新打开html的书略读,后记录了标签 ...

  7. Java实现登录验证码

    登录验证码 Servlet /* 从请求中获取数据,获取验证码的session的值转为String类型,       销毁,防止返回后验证码不刷新,重新验证成功       判断验证码是否相同(忽略大 ...

  8. [翻译]:MySQL Error: Too many connections

    翻译:MySQL Error: Too many connections   前言: 本文是对Muhammad Irfan的这篇博客MySQL Error: Too many connections的 ...

  9. window下 mongodb快速安装

    下载地址 https://www.mongodb.org/dl/win32/x86_64-2008plus-ssl 建立文件夹和文件 #数据库路径 dbpath=G:\mongodb3.4.12\da ...

  10. C# List集合去重使用lambda表达式

    name age sex Lucy 22 woman Lily 23 woman Tom 24 man Lucy 22 woman Lily 23 woman LiLei 25 man List< ...