24、Selenium + Python 实现 UI 自动化测试-文件下载
来源:互联网 发布:网络包装公司是干嘛的 编辑:程序博客网 时间:2024/06/02 07:13
文件上传姊妹篇,文件下载来了。
文件下载比较简单
一、看下文件下载元素
1、测试地址:http://sahitest.com/demo/saveAs.htm
2、下载按钮就是一个a标签,有点类似link
下面是测试地址的下载元素,可以看到是一个a标签
再看百度的链接,也是一个a标签,而这个链接是可以使用click方法进行跳转的。那下载元素使用click什么效果呢?
二、下载到默认目录:
from selenium import webdriverimport timedriver = webdriver.Chrome()driver.get('http://sahitest.com/demo/saveAs.htm')driver.find_element_by_xpath('/html/body/a[1]').click()time.sleep(3)driver.quit()一般会默认下载到目录:C:\Users\admin\Downloads
注意:一般需要加个等待,如果下载还未完成,直接关闭浏览器,文件是保存不成功的。
三、下载到指定目录:
以Chrome为例,Firefox相对繁琐一些,请参考灰蓝文章。
from selenium import webdriverchromedriver = "C:/Python36/chromedriver.exe"chromeOptions = webdriver.ChromeOptions()prefs = {"download.default_directory": "C:/Python36/"}chromeOptions.add_experimental_option("prefs", prefs)driver = webdriver.Chrome(executable_path=chromedriver, chrome_options=chromeOptions)driver.get('http://sahitest.com/demo/saveAs.htm')driver.find_element_by_xpath('/html/body/a[1]').click()driver.quit()
四、小结
文件下载操作不难,我们只是对a元素进行了一次点击。不过问题也恰恰在这里,如果对于链接来说,点击是否成功,我们可以根据跳转页面来判定。但是下载文件是否成功,则只能判断特定目录下是否有该文件了。(这显然不属于selenium的能力范畴了)
执行用例之前,先删除特定目录下的该文件名文件,然后执行用例,再判断有没有该文件(下载成功)。想想我们平时测试文件下载功能,应该是有两个验证点:第一,文件下载成功;第二,文件打开成功。而自动化目前看只能验证第一点。
阅读全文
0 0
- 24、Selenium + Python 实现 UI 自动化测试-文件下载
- 23、Selenium + Python 实现 UI 自动化测试-文件上传
- 1、Selenium + Python 实现 UI 自动化测试-环境搭建
- 3、Selenium + Python 实现 UI 自动化测试-元素定位
- 4、Selenium + Python 实现 UI 自动化测试-定位元素吗?
- 6、Selenium + Python 实现 UI 自动化测试-鼠标操作
- 7、Selenium + Python 实现 UI 自动化测试-键盘操作
- 8、Selenium + Python 实现 UI 自动化测试-操作浏览器标签
- 9、Selenium + Python 实现 UI 自动化测试-操作浏览器窗口
- 10、Selenium + Python 实现 UI 自动化测试-操作输入框
- 12、Selenium + Python 实现 UI 自动化测试-操作下拉列表
- 13、Selenium + Python 实现 UI 自动化测试-操作表格
- 15、Selenium + Python 实现 UI 自动化测试-操作JavaScript弹窗
- 16、Selenium + Python 实现 UI 自动化测试-其它弹窗
- 17、Selenium + Python 实现 UI 自动化测试-等待
- 20、Selenium + Python 实现 UI 自动化测试-AutoIT工具
- 21、Selenium + Python 实现 UI 自动化测试-操作cookies
- 28、Selenium + Python 实现 UI 自动化测试-定位动态ID
- 1109: 数根(函数专题)
- [BZOJ2194] FFT卷积
- Linux操作系统 一、二章课后问答题
- 浏览器渲染流水线解析(二)
- THE FORM-WIDGET COOKBOOK
- 24、Selenium + Python 实现 UI 自动化测试-文件下载
- hdu 6024 Building Shops dp
- poi导出excel后台代码示例
- rest,restFul解析
- 视频处理
- 1110: 最近共同祖先(函数专题)
- UEFI+BOIS
- LDAP学习笔记(一)LDAP基本元素
- maven工程下的pom层级关系