RFS的web自动化验收测试——Selenium2Library1.0.0升级指南(补充

发表于:2012-07-23来源:Csdn作者:tulituqi点击数: 标签:自动化验收测试
引言:什么是RFS——RobotFramework+Selenium2library,本系列主要介绍web自动化验收测试方面。 之前一直使用Selenium2Library的0.5.2版本,现在官方推出了1.0.0版本,本人在升级过程中遇到了很多的问题,于是痛下决心要搞定他,终于搞了几天摸清楚了

  引言:什么是RFS——RobotFramework+Selenium2library,本系列主要介绍web自动化验收测试方面。

  之前一直使用Selenium2Library的0.5.2版本,现在官方推出了1.0.0版本,本人在升级过程中遇到了很多的问题,于是痛下决心要搞定他,终于搞了几天摸清楚了根本问题,解决了升级后无法加载的问题。

  补充一个问题:1.0.0版本的select window在处理模态对话框的时候无法起作用。。。

  解决办法(感谢FIGESZ和吴穹博士的指导):

  修改webdrivermonkeypatches.py文件中的:

  [python] view plaincopyprint?

  #atts = self.execute_script("return [ window.id, window.name, document.title, document.location ];")

  atts = self.execute_script("return [ window.id, window.name, document.title, document.url ];")

  #atts = self.execute_script("return [ window.id, window.name, document.title, document.location ];")

  atts = self.execute_script("return [ window.id, window.name, document.title, document.url ];")

  吴博对此的解读是S2L1.0.0是基于FF的,在IE的处理上这里就算一个bug了。所以其实吴博在给我们的0.5.2版本里也做了同样的修改的。

  我这里先给出解决方案吧,有兴趣的同志们可以看看另一篇的解决过程。

  ==解决方案==

  1、针对已经安装0.5.2版本的朋友,把python27\Lib\site-packages目录下的Selenium2Library目录删除,然后继续第2步。如果没有安装过,请从第2步开始。

  (其实不删除应该也是可以的,因为1.0.0用了easy_install)

  2、到官网上下载1.0.0版本的源码包,地址:https://github.com/rtomac/robotframework-selenium2library

  注意下载的时候选择ZIP下载,不要去下Download里面的,那里面都是坑爹的

生气

  。。。

  另外,注意到ZIP左下方的branch了么?这个是master,他的主分支,如果你需要iframe支持的话,建议选择branch下面的iframe分支,选择之后也是点ZIP来下载。

  总之就是下面这2个文件了,选择你想安装的进行解压缩。(区别就是master的对iframe不支持,只支持frame,当然,你也可以自己来修改成支持的,或者使用iframe分支)

  3、接下来是一个特殊选择:

  如果你的电脑可以正常连接外网——我指的是这些python和selenium的官方网站——那你完成这步就可以了

大笑

  。如果是公司局域网无法访问外网,那么就请跳过此步,直接看第4步了

微笑

  。如果你不确定是否能联网,那么在执行install有报错说无法获取url的那就是你没法访问了,也请看第4步。

快哭了

  把你需要的那个版本的ZIP文件解压缩后,到命令行进入解压的目录,执行python setup.py install即可。他会联网下载缺少的内容。

  首先会下载setuptools-0.6c11-py2.7.egg,他是后面一切安装的基础。

  setuptools安装成功之后会下载4个依赖库,在src目录下的egg.info目录里,有一个requires.txt里面有如下内容

  [plain] view plaincopyprint?

  decorator >= 3.3.2

  selenium >= 2.8.1

  robotframework == 2.6.3——注:因为我本机已经安装RF,所以他不再下载

  docutils >= 0.8.1

  decorator >= 3.3.2

  selenium >= 2.8.1

  robotframework == 2.6.3——注:因为我本机已经安装RF,所以他不再下载

  docutils >= 0.8.1

  他会自动匹配最合适的版本进行下载,最终完成后,你可以在python27\Lib\site-packages目录下找到相关的目录,都是.egg结尾的目录。

  除此以外还安装了一些小的文件,我会在解决过程篇列出。

  如果安装完成后在RIDE中加载Selenium2Library后按F5还是没看到他被加载进来的话,请看第5步。

  4、针对公司局域网无法从外网下载文件的方法。

  其实很简单的,把那些egg文件和目录在家里下载下来,拷贝或者发到公司里吧。

  如果你的公司局域网又不能访问外网,又不能从外面拷贝或者发送文件进来,那么我只能说悲催的孩子

委屈

  ,我也没办法处理这个纯断网环境了。

  如果有条件的可以在自己家里把上面的4个文件,都是egg结尾的文件和目录拷贝过去(图中Selenium的不用拷贝,pth的不用拷贝),这里老道长也提供一个已经打好压缩包的,和我说的4个是一致的:

  Selenium2Library1.0.0必备离线升级包 http://download.csdn.net/download/tulituqi/4331624

  下载下来之后,将里面的所有.egg(文件和目录)都放入你解压缩的Selenium2Library1.0.0的源码目录内,和setup.py同一级即可。

原文转自:http://www.ltesting.net