24、Selenium + Python 实现 UI 自动化测试-文件下载

文件上传姊妹篇,文件下载来了。

文件下载比较简单


一、看下文件下载元素

1、测试地址:http://sahitest.com/demo/saveAs.htm

2、下载按钮就是一个a标签,有点类似link

下面是测试地址的下载元素,可以看到是一个a标签


再看百度的链接,也是一个a标签,而这个链接是可以使用click方法进行跳转的。那下载元素使用click什么效果呢?



二、下载到默认目录:

from selenium import webdriver
import time

driver = 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 webdriver

chromedriver = "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的能力范畴了)

执行用例之前,先删除特定目录下的该文件名文件,然后执行用例,再判断有没有该文件(下载成功)。想想我们平时测试文件下载功能,应该是有两个验证点:第一,文件下载成功;第二,文件打开成功。而自动化目前看只能验证第一点。

已标记关键词 清除标记
相关推荐
<div style="color:#313131;font-size:16px;"> 课程介绍 </div> <p> <br /> </p> <p> <span><span style="font-size:16px;">你是否在寻找机会进入</span><span style="color:#E67E22;font-size:16px;">自动化测试领域</span><span style="font-size:16px;">?</span></span> </p> <p> <span><span style="font-size:16px;">你是否渴望学习selenium webdriver + Java以及</span><span style="color:#E67E22;font-size:16px;">最新的框架和技术</span><span style="font-size:16px;">进行web自动化测试?</span></span> </p> <p> <span><span style="font-size:16px;">你是否感兴趣</span><span style="color:#E67E22;font-size:16px;">学习Selenium</span><span style="font-size:16px;">如何用在你现有的项目里的?</span></span> </p> <p> <span style="font-size:16px;">这门课带你从Selenium搭建环境开始讲起,然后学习selenium,TestNG, logback, maven, jenkins。</span> </p> <p> <span><span><span style="font-size:16px;">我们假设学员没有任何自动化经验,来设计的这套课程。每个课题都</span><span style="color:#E67E22;font-size:16px;">从最基础的开始</span><span style="font-size:16px;">讲起。</span><span style="color:#E67E22;font-size:16px;">Selenium相关的该覆盖的课题都覆盖了。</span></span></span> </p> <p> <span><span style="font-size:16px;">例子都是来自于</span><span style="color:#E67E22;font-size:16px;">真实的web应用项目</span><span style="font-size:16px;">,帮助你理解不同的组件怎么用上自动化,这将展示给你一个行业层面的框架,增加自信心。</span></span> </p> <p> <span><span style="color:#E67E22;font-size:16px;">全网没有其他课程像这门课涵盖到如此之深的细节</span><span style="font-size:16px;">。</span></span> </p> <p> <span><span style="font-size:20px;"><span>您将会学到什么</span></span></span> </p> <ul> <li> <span style="font-size:16px;">学完课程以后,你将拥有完整的Selenium Webdriver知识</span> </li> <li> <span style="font-size:16px;">你将具备从头开始设计Page Object、Page Factory、DATADRIVEN等搭建自动化框架的能力</span> </li> <li> <span><span style="font-size:16px;">用100多个实例对Selenium现实</span><span style="font-size:16px;">场景应用进行深入理解</span></span> </li> <li> <span style="font-size:16px;">全面了解TestNG, Maven, Jenkins, HTML报告,多浏览器并行测试</span> </li> <li> <span style="font-size:16px;">了解数据库测试和使用Selenium进行性能测试</span> </li> <li> <span style="font-size:16px;">你将彻底了解testNG框架</span> </li> <li> <span style="font-size:16px;">你从网上随便选择一个网站,都可以实现自动化,用所有可能的测试用例进行自动化测试</span> </li> <li> <span style="font-size:16px;">将提高你的编码技能,以编写最优化的自动化测试用例代码</span> </li> <li> <span style="font-size:16px;">你基本可以搞定任何Selenium面试,并能从设计阶段开始领导整个Selenium自动化项目</span> </li> <li> <span style="font-size:16px;">你应该能够使用应用程序的GUI来验证数据完整性</span> </li> <li> <span style="font-size:16px;">你将能够创建漂亮的报告来打动客户或领导</span> </li> <li> <span style="font-size:16px;">更深入地理解自动化指南和代码质量标准</span> </li> <li> <span style="font-size:16px;">会附带一个练习网站,可以用上所有可用的WebDriver功能,实现自动化</span> </li> </ul> <p> <span style="font-size:20px;"><span style="color:#3498DB;"><span>【适合人群】</span></span></span> </p> <ul> <li> <span style="font-size:16px;">软件手动测试人员想转为自动化测试的人员</span> </li> <li> <span style="font-size:16px;">自动化软件测试人员想加强专业技能的</span> </li> <li> <span style="font-size:16px;">刚毕业学生想从事软件行业</span> </li> <li> <span style="font-size:16px;">QA 组长或项目经理</span> </li> </ul> <p> <span style="color:#3498DB;"><span style="font-size:20px;"><span>【课程优势】</span></span></span> </p> <p> <span style="font-size:16px;">学完课程以后,你将拥有完整的Selenium Webdriver知识</span> </p> <p> <span style="color:#3498DB;"><span style="font-size:20px;"><span>【讲师介绍】</span></span></span> </p> <p> <span style="font-size:16px;"><span style="color:#E67E22;"><span>资质介绍:</span></span></span> </p> <p> <span style="font-size:16px;">12年以上软件测试工作经验,其中7年以上自动化测试开发经验</span> </p> <p> <span style="font-size:16px;">新书“Python3+Selenium3自动化测试项目实战”作者</span> </p> <p> <span><br /> </span> </p> <p> <img src="https://img-bss.csdn.net/201912160910055665.jpg" alt="" /><img src="https://img-bss.csdn.net/201912160910249590.jpg" alt="" /><img src="https://img-bss.csdn.net/201912160910311596.jpg" alt="" /> </p> <br /> <br />
<p class="study_crow sub-content" style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 24px 0px 45px; padding: 0px; font-size: 16px; color: #313d54; white-space: pre-line; word-break: break-all; background-color: #ffffff;">【学习前提】 1. 具备python3语言基础 【学习人群】 1. 手工测试人员学习UI自动化测试技能 2. 开发人员转岗测试开发岗位 3. 如具有丰富的自动化测经验,本课程可能并不满足你</p> <p class="sub-title" style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0px; padding: 0px; color: #313d54; font-size: 17px; font-weight: bold; line-height: 1; background-color: #ffffff;">学习计划:</p> <p class="study_plan sub-content" style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 24px 0px 45px; padding: 0px; font-size: 16px; color: #313d54; white-space: pre-line; word-break: break-all; background-color: #ffffff;">学习计划: 1. 本视频系列与《从零开始学selenium自动化测试(基于python)》书籍相配套,两者结合起来学习,效果更加; 2. 每天2小时,1.5周即可学习完毕; 3. 结合课程(书籍中提供的)软件,多练习,多思考</p> <p class="sub-title" style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0px; padding: 0px; color: #313d54; font-size: 17px; font-weight: bold; line-height: 1; background-color: #ffffff;">课程目标:</p> <p class="course_target sub-content" style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 24px 0px 45px; padding: 0px; font-size: 16px; color: #313d54; white-space: pre-line; word-break: break-all; background-color: #ffffff;">旨在将学习者培养为UISelenium3)自动化测试(Wedriver,POM)、单元测试Unitest、Pytest。</p> <p class="course_target sub-content" style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 24px 0px 45px; padding: 0px; font-size: 16px; color: #313d54; white-space: pre-line; word-break: break-all; background-color: #ffffff;"><img src="https://img-bss.csdnimg.cn/202101170303599528.jpg" alt="" /></p> <p class="course_target sub-content" style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 24px 0px 45px; padding: 0px; font-size: 16px; color: #313d54; white-space: pre-line; word-break: break-all; background-color: #ffffff;"><img src="https://img-bss.csdnimg.cn/202101170839065282.png" alt="" /><img src="https://img-bss.csdnimg.cn/202101170839261419.png" alt="" /><img src="https://img-bss.csdnimg.cn/202101170839367788.png" alt="" /><img src="https://img-bss.csdnimg.cn/202101170840004702.png" alt="" /></p>
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页