Robot Framework--12 RFS+AutoItLibrary测试web对话框

转自:http://blog.csdn.net/tulituqi/article/details/21871247

Selenium2library在我们实际测试web页面的时候基本上已经够用了,不过还是会有部分情况下会脱离Selenium2library的控制,无法进行操作。比如说下载文件的时候,要选择保存文件在什么地方,比如说上传文件的时候,要选择上传哪个文件,这些在Selenium2library下都没有很好的处理办法。但是结合上AutoItLibrary,就可以很好的来进行处理了。结合AutoItLibrary的内容分2篇,本篇介绍AutoItLibrary安装使用和对话框处理,下篇介绍上传下载。

两篇的具体demo和testcase我都打包在一起了,请在这里下载,http://download.csdn.net/detail/tulituqi/7570453(新链接,以前的失效了)

下载解压缩后直接用ride打开里面的tests看代码或者运行案例即可。

1、AutoItLibrary安装

简单说下安装,把下面2个下载了,先安装pywin32,然后再安装AutoItLibrary,解压缩进入相应目录执行python setup.py install

pywin32-217.win32-py2.7.exe(我之前下载的217,最新的好像是218,版本较多,请注意py版本http://sourceforge.net/projects/pywin32/files/pywin32/

AutoItLibrary-1.1.tar.gz(必须先安装上面的pywin32,并且Python的安装目录不能有空格,如果有空格会导致注册autoit的dll时出错。版本一直是1.1,下载路径:http://code.google.com/p/robotframework-autoitlibrary/

64位的机器:除了安装上面2个之外,还不得不再安装一个AutoItV3(截止发文时最新的官网下载地址:http://www.autoitscript.com/site/autoit-news/autoit-v3-3-10-0-released/ ,如果以后有更新请从官网首页自行下载)。一般情况下装完这个就能用了。

2、AutoItLibrary对象识别

当成功安装AutoItLibrary之后,在你的硬盘某个盘根目录会多一个Robotframework的目录,具体哪个盘取决于你的User目录在哪个盘,例如我的是在D盘,因此多出来的这个目录就在如下路径:

D:\RobotFramework\Extensions\AutoItLibrary

这里是一些辅助工具,比如AutoItX.chm是帮助文档,AutoItLibrary.html是测试库的关键字文档说明,Au3Info.exe是最重要的识别对象的工具了。

在Finder Tool的位置有个十字星,可以用鼠标拖动他到你需要识别的对象上,就像下图这样:

AutoItLibrary的对象操作大体上有几大主要部分,Window操作、Control操作、Mouse操作、Process操作、Run操作、Reg操作还有一些其他的操作。

其中前三个操作我比较常用,Window和Control应该比较好理解吧,你看到的窗口就是Window,窗口上的按钮、文本框等就是Control。所以在通常要去操作Control时,一般需要先激活窗口,再操作控件。

AutoItLibrary的鼠标操作要用到真实坐标,这和Selenium2Library里的坐标略有差异,下篇会有例子。

回到上图,可以看到最重要识别出来的属性,分两块,在左侧上半部分,Basic Window Info和Basic Control Info。

经过我多次的使用,Window方面识别用Title比较多,Control主要用controlID,controlID就是在Basic Control Info里的Class+Instance,比如说图中这个对象,他的controlID就是Edit1,关键字里的strControl就是controlID(chm里都是写的controlID)。

AutoItLibrary的关键字我就不一一介绍了,大家可以看Chm帮助或者html的关键字文档,不过chm是原生AutoIt的文档,对于理解关键字的作用比较有帮助。关键字文档只是列出来所有的关键字和参数,基本很少有说明。

3、web对话框

a、你肯定见过这种对话框,前一个是只有确定的,还有确定取消2个按钮的。

b、你应该也见过这种对话框

c、还有那种在网页上弹出的要输入用户密码的登录框,我这里没有找到例子,也木有截图。(找到截图,见最底下)

以上这些都可以用AutoItLibrary来处理。

对于a来说,Selenium2Library中的confirm action就可以处理了。

对于b、c来说,都要用AutoItLibrary处理更好一些,因为那些文本框的输入已经脱离了Selenium2Library的控制了。

先来看a这种对话框在Selenium2Library的处理,脚本如下:

其中最主要用到的就是confirm action,顺便普及下相关的关键字

Choose Cancel On Next Confirmation

Choose Ok On Next Confirmation

这2个关键字其实特别针对的是a里第二个那种,从字面意思可以理解,选择OK或者Cancel在下一次Confirmation,请注意是下一次Confirmation,也就是你必须还要使用Confirmation才行,而不是用了这个就等于选择OK或者Cancel了,具体可看脚本里的使用。

再看看AutoItLibrary里的处理,脚本如下:

我做了个关闭对话框的关键字,方便重复调用。这个关键字实现的功能我基本上参考了confirmation,除了点击按钮,还会把提示信息返回,不过我没做choose cancel的部分。具体关键字的脚本如下:

我的demo页面上面表格里有3个按钮,付款、确认、输入。付款和确认就是a那种类型的,输入是b那种类型的。

我的脚本只做了a类型的处理,其他类型的请大家当作练习做吧。

如果其他类型的不会做,可以参考下一篇的内容吧。

找到c类型的截图了,IE里弹出这种窗口的时候,也可以用AutoItLibrary处理,有类似情况的可以自己练习下。

时间: 2024-08-26 04:40:17

Robot Framework--12 RFS+AutoItLibrary测试web对话框的相关文章

Robot Framework--13 RFS+AutoItLibrary测试web上传下载

转自:http://blog.csdn.net/tulituqi/article/details/21888059 Selenium2library在我们实际测试web页面的时候基本上已经够用了,不过还是会有部分情况下会脱离Selenium2library的控制,无法进行操作.比如说下载文件的时候,要选择保存文件在什么地方,比如说上传文件的时候,要选择上传哪个文件,这些在Selenium2library下都没有很好的处理办法.但是结合上AutoItLibrary,就可以很好的来进行处理了.结合A

Robot Framework Selenium(RFS :web自动化测试神器)

Robot Framework 目录 1简介 2特性 3RIDE 1.简介: Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行.主要用于轮次很多的验收测试和验收测试驱动开发(ATDD). Robot Framework是开源软件,由Nokia Siemens Networks开发并提供支持. 2.特性: 1.测试用例使用文本文件(TXT或者TSV文件)保存,使用制表符分隔数据

Robot Framework 简单网站兼容性测试

0.Robot Framework 简介 Robot Framework 是一个通用的自动化测试框架,主要用于"验收测试"和"验收测试驱动开发(ATDD)" (会其它文章中会详细介绍ATDD).它使用的是表格式的测试数据语法,并且实现了关键字驱动测试策略.其测试能力可以使用测试库进行扩展,测试库可以使 用Python或Java方法进行编写,并且用户可以从现有的关键字中扩展出新的关键字. 1.简单网站兼容性测试 在本实例中,我们将通过使用RobotFramework,

Robot FrameWork测试案例

Robot FrameWork是一个自动测试框架,可到官网查看详细介绍. 安装 Robot Framework 本文中的Robot framework安装在Win7 (32 bit) 平台上. 接下来按顺序安装以下的软件/包. Software Version Post-steps Note Python python-2.7.6 Set ENV Var to PATH: C:\Python27 C:\Python27\Scripts   Robot Framework robotframewo

(三)Robot Framework 创建测试、运行与生成报告

(三)Robot Framework 创建测试.运行与生成报告 发布时间 2017年9月28日 虫师 上一节我们已经介绍 Robot Framework-RIDE 只支持 Python2 ,但 Python2 到 2020 年将不再维护,所以接下来的关于 Robot Framework 的学习将不再基于 Robot Framework-RIDE,你可以参考上一节中介绍的 Sublime Text3 + sublime-robot-framework-assistant 插件来编写 Robot F

Robot framework的环境搭建

1.Robot framework的安装 作用:web自动化测试框架. RF框架是基于python 的,所以一定要有python环境.网上可以自行查找. 下载地址:https://pypi.python.org/pypi/robotframework/2.8.5#downloads robotframework-2.8.5.win-amd64.exe 直接双击下一步即可. 2.wxPython 的安装 作用:Wxpython 是python 非常有名的一个GUI库,因为RIDE 是基于这个库开发

(一)Robot Framework 介绍

(一)Robot Framework 介绍 发布时间 2017年9月28日 虫师 Robot Framework 官方网站:http://robotframework.org/ 介绍 Robot Framework 架构是一个通用的验收测试和验收测试驱动开发的自动化测试框架(ATDD).它具有易于使用的表格来组织测试过程和测试数据. test case     open browser http://www.baidu.com chrome input text id=kw robot fram

Robot Framework使用Phantomjs进行无界面UI自动化测试

Robot Framework 是一款关键字驱动的验收自动化测试框架,现在在国内使用的越来越广泛了.一种通用的Web UI自动化测试解决方案是Robot Framework+Selenium2Library (RFS).一般要使用Selenium2Library库,必须配置好浏览器驱动(driver).不然就无法驱动浏览器来执行自动化命令. 浏览器驱动对应表 上表简要说明了不同的浏览器所需要的驱动程序.这里我们重点介绍如何基于rfs+phantomjs进行无界面UI自动化测试. phantomj

Robot Framework - 入门与操作(3)

08- 创建测试库--发布测试库 ***** 测试库文档 为了便于维护,测试库文档应该从源代码中生成. Robot  Framework 有自己的文档工具 libdoc.py生成 API 文档. 一个关键字文档的第一行通常应该包括该关键字的简要概述. 这行内容会被 libdoc.py 当作关键字的 tool tip,也会被显示到测试日志中. Robot  Framework User Guide : Library documentation tool (libdoc) 举例: python -