博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
selenium测试(Java)--下载文件(十六)
阅读量:6908 次
发布时间:2019-06-27

本文共 2496 字,大约阅读时间需要 8 分钟。

下载文件需要在Firefox 的profile属性中配置一些参数,如下面的代码:

package com.test.download;import java.io.File;import org.openqa.selenium.By;import org.openqa.selenium.JavascriptExecutor;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import org.openqa.selenium.firefox.FirefoxProfile;public class DownloadTest {    public static void main(String[] args) {        FirefoxProfile profile = new FirefoxProfile();        // 可以在Firefox浏览器地址栏中输入about:config来查看属性        // 设置下载文件放置路径,注意如果是windows环境一定要用\\,用/不行        String path = "D:\\10-selenium\\workspace\\SeleniumTest\\src\\com\\test\\download\\down";        String downloadFilePath = path + "\\d.exe";        File file = new File(downloadFilePath);        if (file.exists()) {            file.delete();        }        // 配置响应下载参数        profile.setPreference("browser.download.dir", path);// 下载路径        profile.setPreference("browser.download.folderList", 2);// 2为保存在指定路径,0代表默认路径        profile.setPreference("browser.download.manager.showWhenStarting", false);// 是否显示开始        // 禁止弹出保存框,value是文件格式,如zip文件        profile.setPreference("browser.helperApps.neverAsk.saveToDisk",                "application/zip,text/plain,application/vnd.ms-excel,text/csv,text/comma-separated-values,application/octet-stream,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.openxmlformats-officedocument.wordprocessingml.document");//关于类型:可以参考http://www.w3school.com.cn/media/media_mimeref.asp        WebDriver driver = new FirefoxDriver(profile);        driver.get("file:///D:/10-selenium/workspace/SeleniumTest/src/com/test/download/download.html");        driver.manage().window().maximize();        driver.findElement(By.linkText("下载")).click();        waitTime(3000);        String js_exist = "alert(\"download successfully\")";        String js_not_exist = "alert(\"download unsuccessfully\")";        if (file.exists()) {            ((JavascriptExecutor) driver).executeScript(js_exist);        } else {            ((JavascriptExecutor) driver).executeScript(js_not_exist);        }        waitTime(5000);        // driver.quit();    }    static public void waitTime(int time) {        try {            Thread.sleep(time);        } catch (InterruptedException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}

使用到的页面例子:

<!DOCTYPE html>

<html>
<head>
<meta charset="UTF-8">
<title>download</title>
</head>
<body>
<a href="d.exe">下载</a>
</body>
</html>

测试代码结构:

转载地址:http://lkfcl.baihongyu.com/

你可能感兴趣的文章
C语言字节对齐
查看>>
怎样区别nginx中rewrite时break和last
查看>>
开发HBase的时候需要搭建的Eclipse总结
查看>>
Mysql数据库修复
查看>>
我的友情链接
查看>>
leetCode 70. Climbing Stairs | 动态规划
查看>>
bboss标签使用大全-数据展示标签
查看>>
java中hashCode()与equals()详解
查看>>
点滴积累【JS】---JS小功能(createElement和insertBefore添加div下面的节点)
查看>>
异步提交form表单
查看>>
A Newbie’s Install of Keras & Tensorflow on Windows 10 with R
查看>>
关于使用input type=file 标签上传文件的注意细节(上传文件 无法获取文件 问题)...
查看>>
<if test="outState!=null">OUT_STATE=#{outState},</if>空格问题
查看>>
.Net内存回收
查看>>
js 获取/设置文本输入域内光标的位置的方法
查看>>
oracle sql developer 出现 : 适配器无法建立连接问题解决方案 The Network Adapter could not establish the connection...
查看>>
Linux下connect超时处理【总结】
查看>>
高性能数据库集群:读写分离
查看>>
Laravel 5.5 Blade::if 简介
查看>>
centos7搭建ELK Cluster集群日志分析平台(三):Kibana
查看>>