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();

  }

}

时间: 2024-08-27 16:50:07

WebDriver 操作文件系统的相关文章

WebDriver操作页面元素之单选按钮

在使用webdriver操作页面元素的时候经常会遇到一些单选按钮的情况,例如:注册时性别选择.单选按钮族中所有按钮共享同一个名称,所以浏览器知道将按钮组合在一起,通过选中其中一个按钮,其他按钮自动变为未选中状态. 示例代码: package com.seleniumdemo.webdriver; import static org.junit.Assert.*; import org.junit.After; import org.junit.Before; import org.junit.T

node基础学习——操作文件系统fs

p.p1 { margin: 0.0px 0.0px 10.0px 0.0px; text-align: center; line-height: 11.0px; font: 14.0px "PingFang SC Semibold"; color: #000000 } p.p2 { margin: 0.0px 0.0px 10.0px 0.0px; text-indent: 36.0px; line-height: 11.0px; font: 9.0px "PingFang

Selenium Webdriver——操作隐藏的元素(四)

页面上弹出的对话框是自动化测试经常会遇到的一个问题:很多情况下对话框是一个iframe,如上一节中介绍的例子,处理起来稍微有点麻烦:但现在很多前端框架的对话框是div 形式的,这就让我们的处理变得十分简单. 上图为百度首页的登录对话框,下面通过脚本对百度进行登录操作: #coding=utf-8from selenium import webdriverdriver = webdriver.Firefox()driver.get("http://www.baidu.com/")#点击登

WebDriver操作浏览器

1.操作页面元素--单选按钮         WebElement femaleRadioButton = driver.findElement(By.xpath(""));        if (!femaleRadioButton.isSelected()) {//判断按钮如果未被选中,则单击选中.            femaleRadioButton.click();        }        assertTrue(femaleRadioButton.isSelecte

WebDriver操作tab

核心思想:运用FireFox或者其他浏览器的键盘快捷键,然后使用Action进行操作. FireFox快捷键:https://support.mozilla.org/en-US/kb/keyboard-shortcuts-perform-firefox-tasks-quickly 下面是代码示例: package webdriver; import java.util.logging.Logger; import org.openqa.selenium.Keys; import org.open

Selenium Webdriver——操作隐藏的元素

有时候我们会碰到一些元素不可见,这个时候selenium就无法对这些元素进行操作了.例如,下面的情况: 页面主要通过“display:none”来控制整个下拉框不可见.这个时候如果直接操作这个下拉框,就会提示: from selenium import webdriver from selenium.webdriver.support.select import Select import os,time driver = webdriver.Chrome() file_path = 'file

Python语言-selenium webdriver操作记录汇总

1.控制浏览器大小 set_window_size() 设置浏览器大小 该方法有两个参数,第一个参数是宽,第二个是高 maximize_window() 设置浏览器全屏显示,无参数 chrome谷歌浏览器在控制浏览器大小时,报错 : unknown error: cannot get automation extension 解决办法:将chrome的webdriver驱动更新到最新的 参考网上:http://blog.csdn.net/lj2tj/article/details/5308234

Node.js权威指南 (6) - 在Node.js中操作文件系统

6.1 同步方法与异步方法 / 856.2 对文件执行读写操作 / 86 6.2.1 文件的完整读写 / 86 6.2.2 从指定位置处开始读写文件 / 916.3 创建与读取目录 / 97 6.3.1 创建目录 / 97 6.3.2 读取目录 / 986.4 查看与修改文件或目录的信息 / 99 6.4.1 查看文件或目录的信息 / 99 6.4.2 检查文件或目录是否存在 / 101 6.4.3 获取文件或目录的绝对路径 / 102 6.4.4 修改文件访问时间及修改时间 / 103 6.4

在nodeJS中操作文件系统(二)

  1. 移动文件或目录 在fs模块中,可以使用rename方法移动文件或目录,使用方法如下:     fs.rename(oldPath,newPath,callback); 在rename方法中,有三个参数,oldPath参数用于指定被移动文件或目录的完整路径,newPath参数用于指定移动后该文件或目录的完整路径,callback参数用于指定移动执行完毕时调用的回调函数,在该回调函数使用一个参数,参数值为移动后操作失败时触发的错误对象. 比如如下代码: var fs = require('