zoukankan      html  css  js  c++  java
  • [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();

      }

    }

  • 相关阅读:
    Python的浅拷贝与深拷贝
    Python:正则表达式的一些例子
    Python的垃圾回收机制
    http和https的区别与联系
    python数据结构之动态数组
    Python:fromkeys()方法
    Python:zip()函数
    算法概念
    Python面向对象:获取对象信息
    Dubbo Configuration
  • 原文地址:https://www.cnblogs.com/feifeidxl/p/4552327.html
Copyright © 2011-2022 走看看