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

* @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. Linq实现左连接、右连接

    --一本错误的记录 insert into Book values('错误时怎样练成的',111)   --左连接 select s.name,b.name from student as s lef ...

  2. WPF 中图片的加载 ,使用统一资源标识符 (URI)

    在wpf中,设置图片路径有2种方法: 1.xaml文件中,指定路径 <Button Name=" HorizontalAlignment="Right" Verti ...

  3. Beanstalkd,zeromq,rabbitmq的区别

    1).rabbitmq(功能强大,管理应用也完善,不过也比较重量级)2).zeromq(从rabbitmq出来的一个小而快速的队列,基本是目前最快的队列机制,自身支持多种模式,可以对各个模式进行自己组 ...

  4. Css实现手机端页面强制横屏的方法示例

    样式 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 @media screen ...

  5. Dynamics 365 Customer Engagement安装FAQ

    微软动态CRM专家罗勇 ,回复310或者20190308可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 本文参考了包括但不限 ...

  6. ArcGIS 10.0发布缓存地图服务(详细版)

    1.软件准备ArcGIS Destop10.0,ArcGIS Server10.0,Windows系统下自带的IIS6.0以上服务器 1)安装ArcGIS Destop10.0软件,选择完全安装,安装 ...

  7. WebService访问oracle数据库本地调试

    WebService访问oracle数据库本地调试-一步一个坑 上篇文章提到我们额数据库挂了,重装了数据库,然后呢我需要在本地调试WebService,看看那些数据结构缺失,迁移到新数据库中去.踩坑之 ...

  8. 关于Xcode9.0版本模拟器Reset重置操作变更

  9. iOS---------显示和隐藏状态栏的网络活动标志

    //在向服务端发送请求状态栏显示网络活动标志: [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES]; ...

  10. Node.js模块导入导出

    这篇文章本来是想模块导入导出和事件循环一起写的,但是感觉一起写的话会太长了,所以就分开两篇文章写吧.下一篇会重点介绍一下js中的事件循环,js代码到底是以何种顺序去执行的呢?我相信你看懂了事件循环再去 ...