__init__.py
定义Selenium2Library对象,继承自所有的keywords对象,init函数中调用所有父对象的init函数,设置_BrowserManagementKeywords的timeout和implicit_wait,_RunOnFailureKeywords的keywords属性。Selenium2Library即为RF的库名,__init__(self, timeout=5.0, implicit_wait=0.0, run_on_failure='Capture Page Screenshot') 表示可以在申明库的同时传递三个参数,具体参数的含义在使用这些参数的关键字里介绍。ROBOT_LIBRARY_SCOPE = 'GLOBAL' 表明这个库是全局范围的,即整个测试过程中只有一个Selenium2Library对象的实例。
keywordgroup.py
定义所有keywords类的父类KeywordGroup,该类的metaclass会对keywords类中的所有非_开头的方法(也就是RF的关键字)加上_run_on_failure_decorator()的修饰,在原有方法出错时执行keywords类的_run_on_failure()方法
_browsermanagement.py
-
Open Browser:open_browser(self, url, browser='firefox', alias=None, remote_url=False, desired_capabilities=None, ff_profile_dir=None):用{browser}指定的浏览器打开{url}地址,可用的浏览器名称如下-
| 名称 | 浏览器 | | firefox | FireFox | | ff | FireFox | | internetexplorer | Internet Explorer | | ie | Internet Explorer | | googlechrome | Google Chrome | | gc | Google Chrome | | chrome | Google Chrome | | opera | Opera | | phantomjs | PhantomJS | | htmlunit | HTMLUnit | | htmlunitwithjs | HTMLUnit with Javascipt support|
{alias}指定这个浏览器实例的别名以便以后切换浏览器时使用。{remote_url}可以让selenium使用一个远程的浏览器,用{desired_capabilities}可以设置远程浏览器的配置属性,具体浏览器支持哪些配置可以在https://code.google.com/p/selenium/wiki/DesiredCapabilities查找。{ff_profile_dir}指定firefox浏览器使用的配置文件目录,当然只有当{browser}指定的浏览器是ff时才会起作用,默认其实会使用[Selenium2Library\resources\firefoxprofile]目录下的配置文件。所有新建的浏览器都会放入RF提供的connection cache中。 - Close Browser:close_browser(self):调用当前浏览器的quit命令,将该浏览器实例放入cache的closed集合中。
- Close All Browser:close_all_browsers(self):调用当前所有打开的浏览器的quit命令,清空整个cache。
- Switch Browser:switch_browser(self, index_or_alias):切换当前浏览器,可以用Open Browser返回的值(index,从1开始)或者Open Browser时指定的{alias}参数来指明切换到哪个浏览器。
- Close Window:close_window(self):关掉当前弹出窗口,其实弹出窗口相当于一个缓存在cache中的browser,关闭时调用该browser的close方法。如果没有当前broswer,会Raise RuntimeError('No browser is open')异常。
- Get Window Identifiers:get_window_identifiers(self):返回当前browser关联的所有dom对象window的id属性数组,同时会调用_LoggingKeywords的_log_list(self, items, what='item')把ids数组作为info写入robot的日志。如果没有当前broswer,会Raise RuntimeError('No browser is open')异常。
- Get Window Names:get_window_names(self):返回当前browser关联的所有dom对象window的name属性数组,同样会调用_LoggingKeywords的_log_list(self, items, what='item')把names数组作为info写入robot的日志。如果没有当前broswer,会Raise RuntimeError('No browser is open')异常。window对象的name属性一般在js函数-window.open中指定,如果没有指定(undefined)并且返回的name数组长度为1,说明当前browser就打开了一个窗口,undefined会被替换成'selenium_main_app_window'
- Get Window titles:get_window_identifiers(self):返回当前browser关联的所有dom对象document的title属性数组,同时会调用_LoggingKeywords的_log_list(self, items, what='item')把titles数组作为info写入robot的日志。如果没有当前broswer,会Raise RuntimeError('No browser is open')异常。
- Maximize Browser Window:maximize_browser_window(self):最大化当前浏览器窗口。
- Select Frame: select_frame(self, locator):用传入的locator作为参数调用_ElementKeywords的_element_find(self, locator, first_only, required, tag=None)方法得到符合locator条件的第一个dom元素,然后调用当前浏览器的SWITCH_TO_FRAME命令,命令参数名为id,参数值即为locator得到的dom元素。frame的locator支持id和name两种方式。
- Select Window:select_window(self, locator=None):用传入的locator去匹配当前浏览器的所有dom对象window里面的属性,如果匹配到了,就调用当前浏览器的SWITCH_TO_WINDOW命令,命令参数名为name,参数值即为locator得到的window handler对象。这里的locator不是selenium的locator,而是rf自己是实现的WindowManager,支持通过title,name,url的方式查询window。
- Unselect Frame:unselect_frame(self):调用当前浏览器的SWITCH_TO_FRAME命令,命令参数名为id,参数值为None。
相关推荐
RobotFramework-Selenium2Library1.8中文版,Ride实现软件测试自动化,使用表格式方法编写测试脚本,调用类库关键字实现接口、功能测试,所测对象包括但不限于web,app,客户端等
3.3selenium2library常用关键字 1 3.3.1Browsermanagement 1 3.3.2cookie 2 3.3.3elements 2 3.3.4JavaScript 3 3.3.5screenshot 3 3.3.6waiting 3 3.3.7focus 3 3.38测试案例 3
RobotFramework-Selenium2Library中文版_V1.1 对RFS中的一些关键字的中文使用说明
对RobotFramework的第三方类库Selenium2Library 关键字进行汉化,并进行分类汇总。
robotframework安装_RobotFramework——基于关键字驱动的 ⾃动化测。。。 突然发现官⽅Robot Framework RIDE项⽬更新了,新的版本基于wxPython4.0.4⽀持了Python3.x,⽆疑是对于Robot Framework推 ⼴的重⼤利好(由于...
RobotFramework-Selenium2Library1.8中文版.pdf,包含Selenium2Library1.8中所有关键字
5、安装Selenium2Library,以管理员身份运行cmd,pip install robotframework-selenium2library 6、安装python32位拓展,以管理员身份运行cmd,pip install pywin32 7、安装DatabaseLibrary , 以管理员身份运行cmd, ...
通过RobotFramework框架,结合导入Selenium2Library,实现自动化测试。 Robot Framework 是一种基于 Python 的可扩展的关键字驱动的自动化测试框架。
resource为⾃定义关键字集合,variables为⾃定义变量集合 简单⽰例 简单⽰例 Selenium Demo pip install robotframework robotframework-selenium2library *** Setttings *** ** Test Setup ** ... ** Test Teardown...
RobotS2L截图提供额外的关键字来增强 RobotFramework 的 Selenium2Library 的截图功能,即裁剪和屏蔽以帮助进行感知差异测试。用法Capture main area only Capture And Crop Page Screenshot example1.png css=div....
用于机器人框架的 Selenium 2 (WebDriver) 库这个前叉有什么新东西修复了 NoSuchWindowException 问题: 增强 browser.select_window() 而不破坏它的现有用法: a. let it accept argument 'main' or '' or None to ...
Robot-Demo-With-Selenium Robot Framework 是用于验收测试和验收测试驱动开发 (ATDD) 的通用测试自动化框架。 它具有易于使用的表格测试数据语法,并利用关键字驱动的测试方法。 它的测试功能可以通过使用 Python ...
4: :Keywords参考库 参考库 RobotFramework有很多可以参考的库,但是我只是⽤到了BuiltIn和Selenium2Library,⾥⾯提供 了写脚本的⼀些关键字,但是Wait Until Element Is Visible这个关键字⽤不了,原因我也不...
robotframework⾃动化测试修炼宝典_RobotFramework原理精 讲 Robot Framework是⼀款python编写的功能⾃动化测试框架。具备良好的可扩展性,⽀持关键字驱动,可以同时测试多种类型的客户端或 者接⼝,可以进⾏分布式...
) 3、安装rf,以管理员身份运行cmd, pip install robotframework 4、安装RIDE,以管理员身份运行cmd, pip install robotframework-ride 5、安装Selenium2Library,以管理员身份运行cmd,pip install robotframework...
Selenium2Library Selenium2Library是用于的Web测试库,该库在内部使用工具。 该项目托管在,可以从找到下载。 从3.0版开始,Selenium2Library重命名为 ,该项目的存在主要是为了帮助过渡。 版本号 Selenium2...
RobotFramework常⽤库简介 常⽤库简介 标准库 Robot Framework可以直接导⼊使⽤的库,包括: BuiltIn :包含经常需要的关键字。⾃动导⼊⽆需import,因此总是可⽤的 Dialogs :提供了暂停测试执⾏和从⽤户的输⼊⽅式。...
RobotFramework之python脚本调⽤ 前⾔ 前⾔ 喜欢使⽤RF的原因之⼀就是能⾃⼰定义关键字,这篇就简单说下如何创建系统关键字,先来个最简单的,求⽐较两个数的⼤⼩ ⼀、建⽴库⽂件 ⼀、建⽴库⽂件 假设python的安装...
第1 章Robot Framework 介绍 第2 章Robot Framework 环境搭建 第3 章Robot Framework 入门 第4 章认识RIDE 第5 章Selenium2Library 库 第6 章DatabaseLibrary 库 第7 章AutoItLibrary 库 第8 章系统关键字开发
引言:什么是RFS——RobotFramework+selenium2library,本系列主要介绍web自动化验收测试方面。 引言:什么是RFS——RobotFramework+selenium2library,本系列主要介绍web自动化验收测试方面。 ==RobotFramework...