selenium java 文件上传、下载
1.webdriver对页面文件的下载
我们一般操作浏览器下载时会让我们选择下载的目录然后经过一系列操作后才进行文件下载操作,但是用webdriver不能按这样的方式操作。经过查询资料找到了如下的实现方式。首先在初始化浏览器对象时需要设置浏览器的配置文件。需要先配置browser.download.folderList设置为2,默认为0表示默认现在路径,设置为2时是保存到指定目录。browser.download.manager.showWhenStarting
这是设置是否显示开始框用的,我们默认设置为false;browser.download.dir
这个是设置保存文件下载的位置,最后是最重的属性:
browser.helperApps.neverAsk.saveToDisk,这是设置文件下载的类型的。
如果这个配置与所下载类型不符合的话,下载会出现问题。
具体实例如下:
firefoxprofile = new FirefoxProfile();
firefoxprofile.setPreference("browser.download.folderList", 2);
firefoxprofile.setPreference("browser.download.manager.showWhenStarting",false);
firefoxprofile.setPreference("browser.download.dir", "C:\\自动化");
firefoxprofile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/octet-stream,"+ " application/vnd.ms-excel, text/csv, application/zip, application/exe");
driver = new FirefoxDriver(firefoxprofile);
2.webdriver实现文件上传
一般在页面上传文件的插件会弹出一个选择文件位置,这对于我们自动化测试来说是个难题。一般有两种解决方法(1)使用autoit工具来模仿鼠标操作点击页面弹出来的插件选择文件位置。该方法有个缺点就是极不稳定而且和屏幕分辨率有关,所以不多叙述(2)通过页面元素找到插件位置,在input的标签对中输入文件所在位置来达到上传文件的效果。下面就来仔细讲解一下这方面我的个人见解。
首先我们需要页面中定位到对应上传文件的按钮,
找到这个元素后使用sendKeys()的方法将你所需上传文件的绝对路径名输入进去,就达到了选择文件的目的。
selenium java 文件上传、下载的更多相关文章
- 2013第38周日Java文件上传下载收集思考
2013第38周日Java文件上传&下载收集思考 感觉文件上传及下载操作很常用,之前简单搜集过一些东西,没有及时学习总结,现在基本没啥印象了,今天就再次学习下,记录下自己目前知识背景下对该类问 ...
- python3 + selenium 之文件上传下载
文件上传 文件上传下载的联系html: uplad.html <html> <head> <meta http-equiv="content-type" ...
- Java文件上传下载原理
文件上传下载原理 在TCP/IP中,最早出现的文件上传机制是FTP.它是将文件由客户端发送到服务器的标准机制. 但是在jsp编程中不能使用FTP方法来上传文件,这是由jsp运行机制所决定的 文件上传原 ...
- java文件上传下载
文件上传首先要引入两个核心包 commons-fileupload-1.2.1.jar commons-io-1.4.jar 下面是对文件上传和下载的一些代码做的一个简单封装,可以方便以后直接使用[使 ...
- java文件上传下载组件
需求: 支持大文件批量上传(20G)和下载,同时需要保证上传期间用户电脑不出现卡死等体验: 内网百兆网络上传速度为12MB/S 服务器内存占用低 支持文件夹上传,文件夹中的文件数量达到1万个以上,且包 ...
- java 文件上传 下载 总结
首先引入2个jar  String pat ...
- java文件上传下载解决方案
javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1.通过form表单向后端发送请求 <form id=" ...
- [Java] 文件上传下载项目(详细注释)
先上代码,最上方注释是文件名称(运行时要用到) FTServer.java /* FTServer.java */ import java.util.*; import java.io.*; publ ...
随机推荐
- cocos2d-x 编译 安卓(android)apk文件
摘要: 一.下载Android环境 搭建Android环境需要用到Android SDK.NDK.Ant和JDK: 下载Android SDK 下载Android NDk 下载Android JD ...
- smartctl 检测磁盘信息
smartctl -i 指定设备 -d 指定设备类型,例如:ata, scsi, marvell, sat, 3ware,N -a 或A 显示所有信息 -l 指定日志的类型,例如:TYPE: err ...
- Objective-C RunTime 学习笔记 之 基础结构体
1.OC 运行期常用对象结构体 基本的结构体定义 typedef objc_class Class; /* 类 */ typedef objc_object *id; /* 各种类型,只要第一个字段为 ...
- meterpreter 渗透用法
获取凭证 hashdump模块(post)可以从SAM数据库中导出本地用户账号,credential_collector脚本(post/windows/gather/credentials)也可以从目 ...
- Centos7 Firewall 防火墙配置应用实例参考(转)
时间:2016-06-02 02:40来源:linux.it.net.cn 作者:IT 简单的配置,参考学习:--permanent 当设定永久状态时 在命令开头或者结尾处加入此参数,否则重载或 ...
- centos7安装zabbix3.0超详细步骤解析
centos7安装zabbix3.0超详细步骤解析 很详细,感谢作者 以下是我操作的history 622 java -version 623 javac -version 624 grep SELI ...
- q次询问,每次给一个x,问1到x的因数个数的和。
q次询问,每次给一个x,问1到x的因数个数的和. #include<cmath> #include<cstdio> #include<cstring> usingn ...
- nginx--service配置
nginx从今天开始进行相关学习了,包括:1.注册centos的service服务:2.相关的tomcat负载:3.https配置:4.session共享配置 1.注册centos的service服务 ...
- SpringBoot使用HttpClient远程调用
一. Get请求 try { //拼接url url = url+"access_token="+token+"&department_id=1&fetc ...
- What's the Python Launcher?
Look! Python launcher 你可能在他处见到过这鬼东西,when you install or uninstall python, and so on.那么你肯定与我一样对这个鬼东西起 ...