Selenium2学习-039-WebUI自动化实战实例-文件上传下载
2016-09-09 00:26
337 查看
通常在 WebUI 自动化测试过程中必然会涉及到文件上传的自动化测试需求,而开发在进行相应的技术实现是不同的,粗略可划分为两类:input标签类(类型为file)和非input标签类(例如:div、a或其他方式结合实现)。
非input标签类因其有各式各样的实现方式,需要考虑具体的场景,因而此文对此类文件上传不做讲解,以input标签实现文件上传的方式进行讲解,请知悉!
解决方案有如下三种:
1、定位元素直接通过sendkeys修改input标签的文件链接;
2、通过第三方控件(AutoIt)编写脚本将其转换为可执行文件(后缀为.exe),然后Java脚本调用实现文件选择操作;
3、通过第三方控件(AutoIt)直接编写Java脚本实现文件选择操作,此种方式需构件jacob.jar(提供COM访问)、AutoItX4Java.jar以及jacob和AtuoIt相应的DLL支持。
第一种解决方案只需要webdriver定位到相应的标签并发送sendkeys即可实现,但仅仅只能是针对类型为file的input标签;第二种解决方案,之前网上也有大神写过(可参考虫师的博客:selenium借助AutoIt识别上传(下载)详解),第三种实现方式中的组件识别请参阅此文,在此不再赘述。
第三种实现方式具体实现步骤如下所示:
第一步:下载jacob相应的jar及dll,下载链接,解压后目录如下图所示:
附录:demo-autoit-fileupload.html 文件内容
文件下载的文件选择框操作也可参考此实例进行脚本编写,不在此赘述。
至此,Selenium2学习-039-WebUI自动化实战实例-文件上传下载 顺利完结,希望此文能够给初学 Selenium 的您一份参考。
最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^
Save
Save
非input标签类因其有各式各样的实现方式,需要考虑具体的场景,因而此文对此类文件上传不做讲解,以input标签实现文件上传的方式进行讲解,请知悉!
解决方案有如下三种:
1、定位元素直接通过sendkeys修改input标签的文件链接;
2、通过第三方控件(AutoIt)编写脚本将其转换为可执行文件(后缀为.exe),然后Java脚本调用实现文件选择操作;
3、通过第三方控件(AutoIt)直接编写Java脚本实现文件选择操作,此种方式需构件jacob.jar(提供COM访问)、AutoItX4Java.jar以及jacob和AtuoIt相应的DLL支持。
第一种解决方案只需要webdriver定位到相应的标签并发送sendkeys即可实现,但仅仅只能是针对类型为file的input标签;第二种解决方案,之前网上也有大神写过(可参考虫师的博客:selenium借助AutoIt识别上传(下载)详解),第三种实现方式中的组件识别请参阅此文,在此不再赘述。
第三种实现方式具体实现步骤如下所示:
第一步:下载jacob相应的jar及dll,下载链接,解压后目录如下图所示:
<html> <head> <title>autoit处理文件上传实例</title> </head> <body> <div> <input type="file" id="up" /> </div> </body> </html>
附录:demo-autoit-fileupload.html 文件内容
文件下载的文件选择框操作也可参考此实例进行脚本编写,不在此赘述。
至此,Selenium2学习-039-WebUI自动化实战实例-文件上传下载 顺利完结,希望此文能够给初学 Selenium 的您一份参考。
最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^
Save
Save
相关文章推荐
- Selenium2学习-036-WebUI自动化实战实例-034-JavaScript 在 Selenium 自动化中的应用实例之六(获取 JS 执行结果返回值)
- Selenium2学习-023-WebUI自动化实战实例-021-获取浏览器显示区域大小,通过 WebDriver 截图功能
- Selenium2学习-028-WebUI自动化实战实例-026-获取页面元素值或者元素属性值
- Selenium2学习-027-WebUI自动化实战实例-025-JavaScript 在 Selenium 自动化中的应用实例之三(页面滚屏,模拟鼠标拖动滚动条)
- Selenium2学习-007-WebUI自动化实战实例-005-解决 Firefox 版本不兼容:org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary
- Selenium2学习-031-WebUI自动化实战实例-029-JavaScript 在 Selenium 自动化中的应用实例之四(获取元素位置和大小)
- Selenium2学习-003-WebUI自动化实战实例-001-百度搜索
- Selenium2学习-004-WebUI自动化实战实例-002-百度登录
- Selenium2学习-009-WebUI自动化实战实例-007-Selenium 8种元素定位实战实例源代码(百度首页搜索录入框及登录链接)
- Selenium2学习-030-WebUI自动化实战实例-028-获取元素位置及大小
- Selenium2学习-006-WebUI自动化实战实例-004-解决 Chrome 浏览器证书提示:--ignore-certificate-errors
- Selenium2学习-010-WebUI自动化实战实例-008-Selenium 操作下拉列表实例-Select
- Selenium2学习-021-WebUI自动化实战实例-019-设置浏览器窗口位置大小
- Selenium2学习-020-WebUI自动化实战实例-018-获取浏览器窗口位置大小
- Selenium2学习-026-WebUI自动化实战实例-024-获取页面元素
- Selenium2学习-015-WebUI自动化实战实例-013-通过 URL 关闭多余的已开浏览器窗口
- Selenium2学习-013-WebUI自动化实战实例-011-WebElement.getText()值为空问题探索及解决
- Selenium2学习-024-WebUI自动化实战实例-022-网站不同分辨率下页面样式展示兼容性问题解决方案 -- 设置浏览器显示区域大小(无人值守,节约测试成本的福音,BOSS 最爱)
- Selenium2学习-016-WebUI自动化实战实例-014-Selenium 窗口选择