`

Robot Framework 网页自动化测试中“下载文件”

阅读更多

环境:Win7 + Robot Framework + IE9

任务:下载网页中链接所指向的文件

参考:File Downloads With Selenium — Mission Impossible?

 

过程:

阶段一

概述:用 MS UI Automation 操作浏览器控件。

MS UI Automation + NRobotRemote + Selenium2Library + Robot Framework (CPython)

原因:IE9不支持设置成:”点击链接,自动下载文件“。

具体

> 用 UI Automation 实现包含必要的关键字的 test library。

> NRobotRemote 载入 test library,提供关键字服务。

> pybot(用 CPython 驱动的Robot Framework)调用上述关键字服务,操控浏览器控件,模拟人工下载文件。

缺点

> 太复杂。 杀鸡用牛刀。就为了下载个文件,启了另一个“重量级”的 test library. 而且该test library 必须以 Remote 的形式存在,否则不能与 Selenium2Library “共存”。

> 效率低。 除了复杂外,UI Automation 查找控件的效率并不高 (比不上 Selenium2Library 查找 html 元素的效率)。

> 不稳定。 UI Automation 本身对控件焦点的依赖度很高,会导致测试过程出错率加大。而且 UI Automation 要求不能锁屏(锁屏会导致控件句柄之类的资源被注销)。IE9 弹出的下载提示框有两种形式(View Downloads 和 Notification Bar)。在实践中发现,这两种提示框的出现没有规律(可能我没研究透),而且有时候 Notification Bar 中的控件不能支持 UI Automation (检测不到关键的按钮)

 

阶段二(现在:2014.12.22):

因为阶段一的方案不稳定,所以寻求其它方案。

概述:调用PowerShell下载文件。

Robot Framework.OperatingSystem.Run_And_Return_Rc + PowerShell

过程

> 尝试篇头参考的文章中提到的“直接下载 (用 wget)”。尝试后发现获取 Cookie 那部分比较“麻烦”(不了解 SUT 的具体实现方式,黑盒测试。)。尝试复制文件链接到另一个浏览器访问,发现输入 SUT 的用户名和密码就能下载文件。于是,成功用 wget 实现直接下载。(wget 的使用方法,语法等,自寻)

> 进阶。使用 wget 需要先安装 wget,不够NICE。考虑使用 MS-DOS 的命令行,替代 wget。最后决定使用 PowerShell。因为 PowerShell 够强大简便;再者 Win7 自带PowerShell,无需安装其它任何额外的工具。

结果:阶段一方案的缺点都避开了。棒!

 

思考

> 很多‘下载文件’需要提供用户名和密码。保管好这些信息。最好用测试专用的账号。PowerShell 支持加密字符串及读取加密后的字符串作为身份验证时的密码。( 可参考 Using PSCredentials without a prompt )(不过这种利用 PowerShell 加密解密的方法有个限制:在本机加密后得到的字符串只能在本机解密。因为密钥存储在本机。)

> UI 自动化不能滥用。UI 自动化的代价太高了。多考虑单元测试Service 层的自动化。

0
0
分享到:
评论

相关推荐

    RobotFramework远程执行自动化测试

    RobotFramework远程执行自动化测试 通过RobotFramework提供的远程库(Remote Library,自带标准库),包装我们自定义或者要用到的测试库,注册为远程服务,RobotFramework即可远程调用服务。

    Robot Framework 自动化测框架.docx

    Robot Framework是一款Python编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。 Robot Framework测试框架具有以下特点: 1. 测试...

    Robotframework自动化测试的NewExcel库 支持处理xlsx格式文件

    使用Robotframework进行自动化测试的过程中,经常会涉及到Excel文件的处理,但现有的EXcel库不支持 xlsx格式的文件,苦于这点,特基于pandas自定义了Newexcel库。本人小白一枚,此库后续会优化,如有问题,烦请...

    RobotFrameWork3.0中文手册

    Robot Framework是一个基于Python的,可扩展的关键字驱动的测试自动化框架。它是为了端到端的验收测试(End-To-End Acceptance Test)以及验收测试驱动开发(Acceptance-Test-Driven Development, ATDD)而设计的。 因此...

    自动化测试平台RobotFramework快速入门

    介绍样例应用程序  目录  RobotFramework快速入门  介绍  概述  安装  运行demo.  介绍样例应用程序  测试用例  介绍  概述  RobotFramework是一个关键词驱动的自动测试框架。测试用例位于HTML或者TSV(以...

    robotframework 汉化报告结果文件

    robotframework 输出的测试报告为英文的,毕竟不是每个人都对测试相关的英语了解的,尤其是一些非技术类的人员,而自动化测试报告是自动化测试人员的工作结果呈现,因此汉化一下输出报告还是有必要的。

    robotframework-flaui:适用于Robot-Framework的Windows用户界面自动化库。 FlaUILibrary是FlaUI自动化库的包装

    Robotframework-FlaUI库执照 Python版本(x86) Python版本(x64) 测验 皮皮介绍Robotframework-FlaUI是针对Windows应用程序(如Win32,WinForms,WPF或Store Apps)的基于关键字的用户界面自动化测试库。...

    python自动化RobotFramework中userkeyword和resource文件(六)

    RobotFramework框架是一个很通用的自动化测试框架,支持常用的http接口自动化、selenium等UI自动化 容易上手,很适合新人学习和了解,有需要的可以下载学习

    robot framework环境搭建所需所有文件

    robot framework安装所用所有工具,支持request库

    robotframework-Python.rar

    Python写的Robot脚本文件用来方便进行部署,测试和自动化脚本的编写,包含robot framework3.0中文手册,详细介绍了robot 的架构

    java自动化操作win窗口元素

    RobotFramework框架中自带了AutoItLibrary扩展库,可以很好的操作这些元素,但用java结合selenium来自动化测试时,并没有已经封装的类库,但是可以借助autoit和jacob来实现,本工具中提供了所需要的jar包和dll文件,...

    RobotFramework测试框架学习笔记

    RobotFramework是一种基于Python的可扩展关键字驱动自动化测试框架,通常用于端到端的可接收测试和可接收测试驱动的开发。可以用于测试声明涉及到多种技术和接口的分布式的,异构的应用系统。测试用例位于HTML或者...

    RobotFrameWork_win32+win64

    RobotFrameWork自动化测试框架,压缩包中分win32、win64版本,分别包含环境搭建所有文件:python-2.7.3、robotframework、robotframework-ride、robotframework-selenium2library、wxPython2.8、AutoItLibrary

    RobotFramework测试框架用例脚本设计方法

    RobotFramework是一个通用的关键字驱动自动化测试框架。测试用例以HTML,纯文本或TSV(制表符分隔的一系列值)文件存储。通过测试库中实现的关键字驱动被测软件。RobotFramework灵活且易于扩展。它非常适合测试有...

    自定义操作xlsx EXCEL类库(RobotFrameWork)

    由于RF框架中的扩展库ExcelLibrary只能操作xls低版本的excel,对于高版本的xlsx的excel并不支持,于是自己用python写了适用于RF框架的ExcelXLSXLibrary类库,可以完美操作xlsx,使用该类库注意事项: 1、安装...

    robot-ooxml:为 Robot Framework 提供 .docx 和 .xlsx 文件解析器

    介绍robots-ooxml是一个 Python 库,用于将 Microsoft Word .docx 和 Excel .xlsx 格式文件解析为自动化测试工具 RobotFramework。 状态:实验取决于尚未添加到主版本的 Robot Framework 补丁。 参见: : (最初发布...

    RobotFramework一键安装包

    一键安装包: 1、增加了mysql安装; 2、增加sshlibrary安装时的插件安装pycrypto-2.6.win-amd64-py2.7 ...4、压缩包中增加了chrome、Firefox、IE浏览器的驱动文件,这样一键安装好以后,就能直接使用了

    python自动化pip文件

    PYTHON3+Selenium3+robotframework 的自动化测试框架,主要包括selenium3,pyautogui,autoitlibrary(win10上才正常),requests,及数据库连接相关的cx_Oracle,pymysql,monggodb等,可用作UI自动化及接口自动化...

    RobotFramework环境搭建与部署

    RobotFramework是一款python编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。主要用于轮次很多的验收测试和验收测试驱动开发(ATDD...

Global site tag (gtag.js) - Google Analytics