Java的selenium代码随笔(5)
//以下七种方法主要用于生成年、月、日、小时、分钟和秒的信息,用于生成保存截图的文件目录名和文件名
/*
* 格式化输出日期
*
* @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)的更多相关文章
- Java的selenium代码随笔(8)
Selenium截图方法一: Selenium中截图类TakeScreenshout,这个类主要是获取浏览器窗体内的内容,不包括浏览器的菜单和桌面的任务栏区域,我们用百度首页来截图,看看截图效果. F ...
- Java的selenium代码随笔(2)
import java.awt.AWTException;import java.awt.Robot;import java.awt.Toolkit;import java.awt.datatrans ...
- Java的selenium代码随笔(1)
package ShareClass; import java.awt.AWTException;import java.awt.Robot;import java.awt.Toolkit;impor ...
- Java的selenium代码随笔(7)
//判断元素是否存在public boolean IsElementPresent (WebElement webElement, By by) { boolean status = false; t ...
- Java的selenium代码随笔(6)
//获取元素列表public List<WebElement> ListElements(WebElement webElement, By parentBy, By childrenBy ...
- Java的selenium代码随笔(4)
//高亮操作元素public void highlight(WebElement webElement) {JavascriptExecutor javascriptExecutor = (Javas ...
- Java的selenium代码随笔(3)
/** 以下方法主要用于切换页面*/public void SetPageSwitch(String pageTitle) {Set<String> allWindowsHandles = ...
- Java使用Selenium几个例子
零.姿势 Selenium分为两个版本:Selenium RC和Selenium Webdriver.现在用Selenium Webdriver比较多. Selenium是一套工具,而不仅仅是一个操纵 ...
- 正则表达式学习笔记(附:Java版示例代码)
具体学习推荐:正则表达式30分钟入门教程 . 除换行符以外的任意字符\w word,正常字符,可以当做变量名的,字母.数字.下划线.汉字\s space,空白符 ...
随机推荐
- Spring中BeanFactory的对象注册与依赖绑定方式
概念 BeanFactory是spring的基础类型IOC容器,提供完整的IOC服务支持 默认采用延迟初始化策略,当客户端对象访问受管对象时,才对其进行初始化和依赖注入 理解 BeanFactory将 ...
- Oracle DB 12c first glance
单机上装了个12c,只看了看EM的界面……
- .NET的未来-广州.NET俱乐部学生分会
偶然的一次机会,让我发现了在我们社区的微信群里潜藏着许多高校的学生,他们有的来自重点高校中山大学.华南理工,也有的来自普通高校的惠州学院.广州白云学院等. 因为相同的技术爱好使他们聚集在社区.相同的技 ...
- 从 RAID 到 Hadoop Hdfs 『大数据存储的进化史』
我们都知道现在大数据存储用的基本都是 Hadoop Hdfs ,但在 Hadoop 诞生之前,我们都是如何存储大量数据的呢?这次我们不聊技术架构什么的,而是从技术演化的角度来看看 Hadoop Hdf ...
- Redis持久化的方式
Redis小知识: redis是键值对的数据库,有5中主要数据类型: 字符串类型(string),散列类型(hash),列表类型(list),集合类型(set),有序集合类型(zset) Redis持 ...
- c/c++ 继承与多态 容器与继承3
c/c++ 继承与多态 容器与继承2 巩固了容器里放智能指针的用法,但是有个问题,对于使用Basket类的用户来说,必须添加的是智能指针,如果能直接添加一个普通的类的对象的话,用起来就方便的多了,所以 ...
- ZYNQ EMIO使用及可重用封装
为了快速实现算法板级验证,PC端需要通过JTAG或以太网与FPGA形成通路.最简单便捷的方案是利用协议栈芯片,用户可以无视底层,利用简单的SPI协议读写寄存器实现复杂的TCP UDP等网络协议.当然带 ...
- netstat简介
netstat是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表,实际的网络连接以及每一个网络接口设备的状态信息,netstat用于显示与IP,TCP,UDP和ICMP协议相关的统计数据,一 ...
- Ubuntu composer 安装thinkphp5 失败,报错:[ErrorException] mkdir(): Permission denied
在Linux环境下,使用composer安装thinkphp5,安装时,报错:[ErrorException] mkdir(): Permission denied : 看 ...
- SQLServer之创建唯一聚集索引
创建唯一聚集索引典型实现 唯一索引可通过以下方式实现: PRIMARY KEY 或 UNIQUE 约束 在创建 PRIMARY KEY 约束时,如果不存在该表的聚集索引且未指定唯一非聚集索引,则将自动 ...