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 ...
随机推荐
- 在Mac上 python中使用tesseract OCR (Pytesser) 识别图片中的文字
仓库地址:https://github.com/RobinDavid/Pytesser brew install tesseract sudo pip install opencv-python 安装 ...
- 自己用纯C++实现简单的QT中信号与槽机制
前天在我很久以前的一篇博文 (http://blog.csdn.net/liukang325/article/details/45742675) 中有人回复说看到我的博文很激动,希望我详细介绍一下信号 ...
- iptables 分析(三)
原文:http://blog.chinaunix.net/uid-24207747-id-2622902.html find_target查到目标并加载成功,返回一个xtables_target型对象 ...
- PostgreSQL 自动输入密码(转)
原文:https://www.cnblogs.com/litmmp/p/5122534.html 在 Shell 命令行中,使用 postgresql-client 连接 PostgreSQL 数据库 ...
- drawrect&layoutsubviews
drawrect触发方法: 设置frame setneeddisplay contentmode设置为redraw sizetofit layoutsubviews触发方法 setframe layo ...
- 网络视频播放ZFPlayer
根据项目需要,公司app需要用到视频播放功能,推荐ZFPlayer,视频播放几乎有你想要的任何样式,该博客只是为了给自己留一个以后查找的资料, 改代码可以使用ZFPlayer github地址 htt ...
- 八、UIViewController们之间的协作——Segue
概述 正所谓“一生二,二生三,三生万物”,1个UIViewController没什么花样,多个UIViewController相互协作就有了各式各样丰富多彩的APP.但是UIViewControlle ...
- Linux下安装pymysql
直接使用pip进行安装: [root@mycentos ~]#pip install pymysql
- iPhone IOS10安装APP没提示连接网络(无法联网)的解决办法
iPhone升级ios10之后,遇到如标题所述问题时: 1.退出APP,设置-蜂窝移动网络-无线局域网助理-开启 2.进入APP,这时候就回提示连接网络了. 提醒: 数据流量有限的朋友,平时请关闭&q ...
- 揭开yield关键字的神秘面纱
写在前言 经常会看见,python函数中带有yield关键字,那么yield是什么,有什么作用? 答案:可以理解yield是一个生成器: 作用:遇到yield关键字,函数会直接返回yield值,相当于 ...