[Selenium] WebDriver 操作文件系统

1)屏幕截图

接口函数是 TakesScreenshot

示例:

import java.io.File;

import org.apache.commons.io.FileUtils;

public void testTakesScreenshot() throws Exception{

  //TakesScreenshot接口提供了getScreenshotAs 方法截取屏幕,这里指定OutputType.FILE 作为参数将截屏以文件形式返还

  File srcFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);

  //使用FileUtils 类的copyFile 方法保存返还的文件对象

  FileUtils.copyFile(srcFile, new File("/Selenium 2/screenshot.png"));

}

2)复制文件

文件操作类FileHandler

示例:

import java.io.File;

import java.io.IOException;

//将源目录下所有文件复制的目的目录下

FileHandler.copy(new File("/source_directory"), new File("/destination_directory"));

//将指定文件从源目录复制到目的目录

FileHandler.copy(new File("/source_directory/file.txt"), new File("/destination_directory/file.txt"));

//将以suffix.txt 为扩展名的所有文件从源目录复制到目的目录

FileHandler.copy(new File("/path/of/source_directory"), new File("/destination_directory"), "suffix.txt");

3)创建目录

FileHandler.createDir()方法创建目录

示例:

import org.openqa.selenium.io.FileHandler;

FileHandler.createDir(new File("/new_created_directory"));

4)删除目录

FileHandler.delete()方法删除目录

示例:

import java.io.File;

import org.openqa.selenium.io.FileHandler;

FileHandler.delete(new File("/new_created_directory"));

5)读取文件

FileHandler.readAsString()方法

示例:

import java.io.File;

import jave.io.IOException;

String file = FileHandler.readAsString(new File("/directory/fileToRead.txt"));

System.out.println(file);

6)压缩目录

压缩操作对应需要从远程机器获取大量的日志文件或截屏文件而言非常有效。zip类的使用方法如下,包括压缩和解压缩:

import java.io.File;

import java.io.IOException;

import org.openqa.selenium.io.Zip;

...

String FileName = "/final_directory/zipped_file.zip";

Zip zip = new Zip();

try{

  //把指定目录下所有文件打包压缩成单个 zip 文件

  zip.zip(new File("/directory_to_zip"), new File(FileName ));

  //判断一个文件是否为压缩文件

  System.out.println(Filehandle.isZipped(FileName ));

  //将一个zip 文件解压缩

  zip.unzip(new File(FileName), new File("/final_directory"));

}catch(IOException e){

  e.printStackTrace();

}

7)临时目录操作

操作临时文件系统的类TemporaryFilesystem

示例:

import java.io.File;

import org.openqa.selenium.io.TemporaryFilesystem;

...

File tempDirectory = TemporaryFilesystem.getDefaultTmpFS().createTempDir("prefix", "suffix");

//获取临时目录的绝对路径

System.out.println(tempDirectory.getAbsolutePath());

//获取临时目录可用空间

System.out.println("Free Space of Temporary Directory is : " + tempDirectory.getFreeSpace());

...

8)文件权限操作

FileHandler 调整文件权限

示例:

...

if (! FileHandler.canExecute(new File("/directory/file1.sh"))){

  try{

    FileHandler.makeExecutable(new File("/directory/file1.sh"));

  }catch (IOException e){

    e.printStackTrace();

  }

  try{

    FileHandler.makeWritable(new File("/directory/file2.txt"));

  }

  catch (IOException e){

    e.printStackTrace();

  }

}

原文地址:https://www.cnblogs.com/feifeidxl/p/4552327.html