卸载selenium2libraryy 有32位的吗

robotframework + selenium2library 一点测试的经验 - 简书
robotframework + selenium2library 一点测试的经验
1 对于元素的外层包括frame/iframe标签的。一定要先select
frame name=xxx,然后再操作元素。Select frame name=新建个案click element
2 对于window.showModalDialog()模式打开的新窗口点击“支付详情”的“详情”,出来一个新页面。如何定位呢?单纯的select window title=payDetail page是定位不到新窗口的。解决办法如下:
第一句话取的Id就是要点击按钮的Id,3 对于例子2 新打开的窗口没有title,用url不能定位到,如何解决呢?比如:点击“充值退款”出现如图窗口。Select window url=xxxx根本定位不了。
网上有大神在selenium的源码里添加了几个关键字。这样我们就可以使用了。操作如下:D:\Python27\Lib\site-packages\robotframework_selenium2library-1.1.0-py2.7.egg\Selenium2Library\locators
(根据自身情况而定)中的windowmanager.py 增加了方法def select_by_handle(self, browser, toHandle):browser.switch_to_window(toHandle)def get_window_handles(self, browser):return [ window_info[0] for window_info in self._get_window_infos(browser) ]def get_current_window_handle(self, browser):return browser.get_current_window_handle()D:\Python27\Lib\site-packages\robotframework_selenium2library-1.1.0-py2.7.egg\Selenium2Library\keywords中的_browsermanagement.py 增加如下方法def select_window_by_handle(self, locator=None):self._window_manager.select_by_handle(self._current_browser(), locator)def get_window_handles(self):"""Returns and logs handles of all windows known to the browser."""return self._log_list(self._window_manager.get_window_handles(self._current_browser()))def get_current_window_handle(self):"""Returns and logs handle of current window known to the browser."""return self._log_list(self._window_manager.get_current_window_handle(self._current_browser()))==============================分割线==================================按上述添加上,然后可以使用他新添加的关键字了。网上大神只写了办法,没有说明他的关键字的使用方法。我研究了下用法,实验成功。具体脚本如下。
解释:@{b} get window handles //@{b}变量保存当前所有的窗口。@符号表示这个变量是集合。Select window by handle
${b[1]}//这个是取变量b里面的第二个窗口。(下标从0开始)。4 特殊下拉框的选择对于这种下拉框,一拉啥没有。
代码中也没有任何可操作的select option标签等。如何是好。
既然下拉框,那就总可以选择。我们输入一个名“王XX”,下拉框自动出现这。但是怎么选择上?代码实在没有相应的元素来操作啊。不过,我们操作键盘,向下键,enter键,即可成功选择。那问题就变成如何在robotframework+selenium2library中操作键盘。api给的很简单,press key
xxxx。查了向下键的ascii为40,enter键的为13.但是久经试验都不对。网上说可以考虑看下selenium的源码中向下键的标识用“\ue015”,好奇怪,我也不懂,就用了,果真对了。相应脚本:
有了键盘操作,一系列的特殊下拉框应该没有问题了。对于一些不能用ascii码操作键盘的,可以查下selenium的源码,看看源码里对某个键的表示到底是什么。5 对于页面弹个框类似于网页弹出的这样的框。应该更准确的说,是alert(“”)弹出的对话框。
两步即可:
6 对于在jenkins上运行出现奇怪错误。对于一些测试用例,明明本地和远程robotframework都跑的很顺畅,在jenkins上构建就一直出这样的错误:WebDriverException: Message: u'unknown error: Element is not clickable at point (69, 444). Other element would receive the click:这种鬼错误,很烦躁。解决办法:Click
换成 execute javascript
document.getElementById('xxx').click()基本换成javascript执行,都会轻松通过。如果元素没有ID的话,要用css定位的话,我用的jquery来执行。Execute javascript
$(“css”).click()。7 对于上传下载的操作网上有个AutoItLibrary,跟selenium2library类似,可以找下网上的安装方法,网上也有简单例子。本测试过程没有用到,不再详述。
个人笔记!
#!/usr/bin/python # # Licensed to the Software Freedom Conservancy (SFC) under one # or more contributor license agreements.See the NOTIC...
这里暂做个记录,问题先解决到这里,后期如果能完善该问题再来更新 疑问: robot framework中通过browser.switch_to_handle(handle)进行窗口切换时候,程序是正常切换了,但是浏览器上展示的当前窗口并没有切换 目标:在浏览器窗口A上有个链...
----------------- *模型 模型是业务对象的呈现 * 系统已定义的模型查看 设置-&技术-&数据结构-&模型 现在定义的有700多个 * 版本演变 from openerp.osv import fields, osv -& from openerp imp...
1、开启公众号开发者模式 公众平台的技术文档目的为了简明扼要的交代接口的使用,语句难免苦涩难懂,甚至对于不同的读者,有语义歧义。万事皆是入门难,对于刚入门的开发者讲,更是难上加难,往往看了半天wiki,就是不懂说的什么鬼。 为了降低门槛,弥补不足,特地编写了《开发者指引》,...
[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/dfed78fae154dd8e8829/media/badge.svg)](https://github.com/sin...
今天课间去办公室串了串门,恰好遇到上小A值班,聊了几句就聊到了“留部”这个话题上。我跟小A抱怨说谁谁谁不留部,小B也不留。小A顿了顿,说:“我也不留啊!”当时我就懵了,忙问为什么,小A说:“我下学期想做翻译,做志愿者,兼顾不过来!”后来还补充了一些细节,“我觉得自己一直是一...
8月31日20时左右,陕西榆林一家医院的住院部5楼,一名待产孕妇因疼痛难忍,提出想要剖腹产,被家属拒绝之后选择轻生。 院方发言人杨先生表示,孕妇家属自始至终都不同意剖腹产。杨先生说,“那个女孩可怜啊,我们后来调监控视频看得都感到非常痛心,他媳妇,那个女孩子走出病房,都向家属...
1、 仲夏,上海的夜晚。细雨过后的清凉难掩地铁上人流湍动的躁动的心。 浦东新区划定后,魔都倚靠着黄浦江似乎在睡梦中就造就了无数的奇迹。它拥有强大的魔力,吸引着80后90后源源不断的涌入它的怀抱。一拨又一拨的毕业生前赴后继,一批又一批的失败者绝地重生。上海以更加完善的基础设施...
夜深人静的时候,雨露轻垂,不管因为什么还不曾深睡,在这里遇见了,你遇见了自己
三天前,徐晓冬十秒KO一代太极宗师雷雷后,点名要和一堆传统武术掌门人打;三天后,一堆不知道哪里冒出来的“十八门派”要组团挑战徐晓冬。呵呵,自六大门派围攻光明顶以来,这是武林第二次如此齐心协力。这就说明徐晓冬和张无忌是一个级别,很能打…… 以一人之力对抗整个武林?按照武侠小说...RobotFramework+selenium2library - vs_dev的个人空间 - 51Testing软件测试网 51Testing软件测试网-中国软件测试人的精神家园
RobotFramework+selenium2library
& 09:16:09
/ 个人分类:
引言:什么是RFS——RobotFramework+selenium2library,本系列主要介绍自动化验收方面。(PS:标题太长了,以后都短一些)(&新浪微博)&我搞了个RobotFramework自动化测试公众平台欢迎大家扫一下加入。==日更新安装包下载链接==新增windows64位安装包可能存在的问题:将D:\Python27;D:\Python27\Scripts目录加入环境变量的地方,偶尔会出现64位机器没有从注册表获取到安装路径,导致后续执行 setup.py install的时候报错。因此我将setup.bat拆分成setup.bat和setup2.bat两个文件,第一个主要是安装大部分exe程序,第二个也会先进行一下环境变量处理,如果失败的话请自行增加环境变量,然后直接执行setup2即可。另外由于RIDE没有exe64位版本的,安装的是源码包,可以自己手工新增快捷方式。路径以个人自己安装的路径为准快捷方式的命令行:D:\Python27\pythonw.exe -c "from
main()"想要机器人的图标就修改图标,用这个文件:D:\Python27\Lib\site-packages\robotide\widgets\robot.ico亲测win2008-64位版本,简单验证了Selenium2Library、DatabaseLibrary、AutoitLibrary的功能。==日更新安装包下载连接==以前的连接估计失效了,请使用这个连接下载批处理安装包:基本都更新到最新版本了,除了IEDriver实在是连不上下载。==日更新安装说明==更新批处理&RF安装包&,之前的Selenium2Library的一个文件缩进有问题。具体安装顺序可参看安装包里的setup.bat文件的顺序,或看下文的顺序。包含了下面列表中的全部内容(除了后面没有用过的)。大家可以运行一下,解压缩后可看到全部内容。首次安装可以继续安装,非首次安装可以考虑关掉cmd窗口,自己找相应的测试库单独安装,安装方法还是参考下面写过的。有朋友反馈安装后会把path的路径清空,我确实没有碰到这样的情况,而且我的脚本里写的也是在path的环境变量后面加上python的路径的。如果担心出现这样的问题,建议解压缩后自己手动单独安装,可以查看setup.bat里的顺序和命令,自行操作,很抱歉影响到了部分朋友!==日更新==如果是首次使用RF在IE浏览器上测试的同学,务必检查以下几个设置:1、IE选项设置的安全页中,4个区域的启用保护模式的勾选都去掉(或都勾上)2、IE选项设置的连接页中,局域网设置里的代理服务器设置,不能勾选。如果需要配置代理,请使用上面的pac自动配置脚本来使用代理。3、IE页面的显示比例要为100%4、下载IEDriverServer.exe文件,放到环境变量path路径的目录里或把他所在的目录加到path环境变量中。下载地址为:http://code.google.com/p/selenium/downloads/list因为以前的内容比较久了,也比较旧了。很多库的版本都不是最新的编号了。我在下面专门列出截止目前最新的版本号,安装方法还是和下面差不多的,建议使用最新的版本安装。同时配上了下载路径,但是如果以后过了很久大家再看到这篇的时候,请注意看一下是不是最新的版本。补充:因为我们用的都是基于Python2.7的,所以相关的库如果支持多个python版本的,都要看一下最好是有py27的,然后再看本机是32位还是64位的,推荐32位的。比如wxPython,pywin32,cx_oracle等等。robotframework相关安装包和测试库列表:1、python-2.7.5.msi(一切的基础,切记安装的路径不要有中文不要有空格,)2、setuptools (用于后续的一些测试库的安装支持,)3、pip-install (pip安装方式,适合网络通畅的童鞋,)4、wxPython2.8-win32-unicode-2.8.12.1-py27.exe(wxPython,RIDE需要他的支持,&)5、robotframework-2.8.4(robotframework本身。)6、robotframework-ride-1.3.0.win32.exe(robotFramework的IDE,目前最新1.3.0,,如有中文乱码问题请参考:)7、robotframework-selenium2library (selenium2测试库,基于webdriver驱动,最新release是1.5.0,下载:,如有问题请参考:&)8、decorator-3.4.0(S2L库的依赖库。)9、docutils-0.11(S2L库的依赖库。)10、selenium-2.35.0(是的原生python库,要到python官网下载,而IEDriver.exe要到GOOGLE下载)11、pywin32-217.win32-py2.7.exe(我之前下载的217,最新的好像是218,版本较多,请注意py版本)12、AutoItLibrary-1.1(必须先安装上面的pywin32,并且Python的安装目录不能有空格,如果有空格会导致注册autoit的dll时出错。版本一直是1.1,下载路径:)13、cx_Oracle-5.1.2-11g.win32-py2.7.msi(目前最新5.1.2,注意要和你本地的客户端版本一致,我写的名字是11g的,如果你的oracle是10g的就去下载10g的文件。下载地址:)14、DatabaseLibrary(一直停留在0.5版本,)15、QTLibrary(我自己写的库哈,大多参考网上的代码,感觉有用的功能就是随机生成汉字姓名、身份证号等等,)& 想详细了解robotframework构造的,可以看看这个新的官网,里面的介绍感觉很清晰,全面。还有一些库我没怎么用过,想要用的可以自己了解一下&我没用过哈&我没用过哈&看过源码,没用过哈&&用于手工执行robotframework案例,最新0.10版本。用得很少,如果以后不用QC了可以考虑多用用。安装说明:a、如果是exe的直接安装就好了。b、对于只有源代码的测试库(只有py文件)的安装,请在进入cmd命令行后,进入测试库的目录(有setup.py的目录),输入python setup.py install进行安装。如果提示python不是命令,请把python的安装目录加到环境变量的path中。c、对于只有egg文件的测试库的安装,需要先安装setuptools(写这篇文章时最新版本为setuptools-0.6c11.win32-py2.7.exe),安装之后,在命令行使用easy_install加egg文件名或目录名,例如easy_install docutils-0.9-py2.7.egg以上两个在命令行进行安装的方式,必须先要在环境变量PATH中加入Python的路径,如果安装在D:\Python27,那么一般建议在PATH中增加D:\Python27和D:\Python27\Scripts 两个路径。安装顺序:基础安装:按照1&2&4&5&6的顺序安装Selenium2Library安装:在基础安装完成后,按照8&9&10&7的顺序安装AutoItlibrary安装:在基础安装完成后,安装11&12的顺序安装,64位机器需要在12安装后再安装AutoItX-V3才能用DatabaseLibrary安装:在基础安装完成后,13、14没有顺序关系,14必须安装,13使用oracle的推荐安装。==以下内容都是旧版本内容,仅供参考==最近一直在忙项目,项目中一直在使用RF+Selenium2Lib做。版本一上线了,马上又开始版本二和版本三了,忙中偷闲,更新一下文档。首先要先感谢一下吴博士(@吴穹Adam 新浪微博),我是在吴博指引下接触到的RF,并给了我深入研究下去的动力~&建议持续关注robotframework在Google上的网页,最新的有关联的更新都在上面。&此外,网站上还有很多可以用的robotframework的Library和相关工具,你可以根据自己的需要增加。上面这些基本上对于web自动化验收测试来说够用了。工具类的推荐:mabot-0.8.win32.exe,手工运行test case的工具,之前一直想用来着,可惜他很久没更新,前一个版本不支持RF2.6,终于今年3月更新了,支持RF2.6和RF2.7了。Library的推荐:Database Library,http test Library request等等。对于Library,你也可以自己做一个,E文好的童鞋可以看看robotframework的userguide,里面专门有一章介绍怎么创建test Library,在项目期间为了方便我们的测试,我自己写了一个简单的Library,当时练手吧,以后在进阶的文章中会分享给大家。&好了,都安装好了么?那么让我们运行ride.py吧——啥,你不记得在哪里了?再说一次哈,[PythonDir]\Scripts\ride.py,可以放个快捷方式到桌面哈。成功的话就会看到下图了。运行的时候有2个窗口,我们用下面这个,另一个类似于DOS窗口的也不要关闭哈,关了那个这个也一起关闭了。他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
1.在测试时,发现get window size 关键字找不到,
2.然后按照网友建议,升级了selenium2library库,
3.将selenium2library升级到1.7.0.dev0后,发现按F5键可以识别到get window size 关键字,
4.但在执行时,还是会报错No keyword with name 'Set Window Size' found.
5.查看log,提示No module named selenium2library
6.我的导入是这样的
7.代码是这些
8.我的library是大写的Selenium2Library,见上面截图,
代码见截图
9.目前发现,删除掉Get Window Size 或Set Window Size 这几条,就没问题,加上这几条,就提示找不到
找到问题了。在我升级Selenium2Library前,没有卸载之前的Selenium2Library。
导致我本地目录有2个Selenium2Library文件库。
1的文件夹是新安装的1.7dev0版本的Selenium2Library,
2的文件夹是之前的Selenium2Library
有旧的存在,导致新的Selenium2Library不正常。
再升级一下版本就好了。
升级使用命令吧。pip install --upgrade robotframework-Selenium2Library.
你导入的library请大写Selenium2Library。仔细查看一下当前运行报错的suite。
恩,我的library是大写的Selenium2Library,见上面截图,
代码见截图
目前发现,删除掉Get Window Size 或Set Window Size 这几条,就没问题,加上这几条,就提示找不到
不要轻易升级
要回复问题请先或
浏览: 3495
关注: 4 人最近好几个人问我有没有好的例子可以帮助学习Selenium2Library怎么用。对于公司同事,可以把脚本直接给过去,其他人则不行了。所以一直想做一个好的学习样例,这个样例应该有如下特性:
能够非常好的展现S2L的功能。
被测网站最好能够在本地运行,使得脚本能够不受被测网站可利用情况影响。
能够很好的展示用例的组织情况。
后来发现,为什么要做?眼前就有一个非常现成的,能极好的满足前两点,部分满足第三点,那就是Selenium2Library自己带的自动化验收测试脚本。下面就是获取并使用它的方法。
进入S2L的主页:https://github.com/rtomac/robotframework-selenium2library,下载S2L的源码。如果不想用git,可以使用下载zip包的方法直接下载。
解压缩到某个目录下。我们能够看到压缩包中的test目录。S2L的单元测试、验收测试脚本、被测系统都在这个文件夹里。期中resources文件夹里就是被测系统。在dos命令行模式下进入resources\testserver目录。执行testserver.py start 这样我们就启动了一个web服务器,也就是被测地址。在浏览器下输入如下地址:http://localhost:7000/ &如果能够看到正常显示网页,说明成功启动了web服务器。
被测网站的实际内容在resource/html目录下,可以任意查看编辑。
大家想要的RF脚本在test/acceptance目录下,用ride.py打开这个目录。整个验收测试的脚本就展现在你眼前了。
先跑一下爽一把。
剩下的就是慢慢看啦。验收测试里包含了每个关键字的验收用例,可以整个看一遍,看完了以后使用S2L就一点儿障碍都没有了。
阅读(...) 评论()

我要回帖

更多关于 selenium2library下载 的文章

 

随机推荐