`
ratlsun
  • 浏览: 48645 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

RobotFramework-Selenium2Library各个关键字的作用(1)

阅读更多

__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

  1. 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中。
  2. Close Browser:close_browser(self):调用当前浏览器的quit命令,将该浏览器实例放入cache的closed集合中。
  3. Close All Browser:close_all_browsers(self):调用当前所有打开的浏览器的quit命令,清空整个cache。
  4. Switch Browser:switch_browser(self, index_or_alias):切换当前浏览器,可以用Open Browser返回的值(index,从1开始)或者Open Browser时指定的{alias}参数来指明切换到哪个浏览器。
  5. Close Window:close_window(self):关掉当前弹出窗口,其实弹出窗口相当于一个缓存在cache中的browser,关闭时调用该browser的close方法。如果没有当前broswer,会Raise RuntimeError('No browser is open')异常。
  6. 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')异常。
  7. 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'
  8. 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')异常。
  9. Maximize Browser Window:maximize_browser_window(self):最大化当前浏览器窗口。
  10. 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两种方式。
  11. 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。
  12. Unselect Frame:unselect_frame(self):调用当前浏览器的SWITCH_TO_FRAME命令,命令参数名为id,参数值为None。
分享到:
评论

相关推荐

    RobotFramework-Selenium2Library1.8中文版

    RobotFramework-Selenium2Library1.8中文版,Ride实现软件测试自动化,使用表格式方法编写测试脚本,调用类库关键字实现接口、功能测试,所测对象包括但不限于web,app,客户端等

    Robot Framework-Selenium2Library 常用关键字

    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

    RobotFramework-Selenium2Library中文版_V1.1 对RFS中的一些关键字的中文使用说明

    RobotFramework-Selenium2Library中文版 V1.0

    对RobotFramework的第三方类库Selenium2Library 关键字进行汉化,并进行分类汇总。

    robotframework安装-RobotFramework——基于关键字驱动的自动化测。。。.pdf

    robotframework安装_RobotFramework——基于关键字驱动的 ⾃动化测。。。 突然发现官⽅Robot Framework RIDE项⽬更新了,新的版本基于wxPython4.0.4⽀持了Python3.x,⽆疑是对于Robot Framework推 ⼴的重⼤利好(由于...

    Selenium2Library中文版说明文档

    RobotFramework-Selenium2Library1.8中文版.pdf,包含Selenium2Library1.8中所有关键字

    Python+robotframework安装文档(详细)

    5、安装Selenium2Library,以管理员身份运行cmd,pip install robotframework-selenium2library 6、安装python32位拓展,以管理员身份运行cmd,pip install pywin32 7、安装DatabaseLibrary , 以管理员身份运行cmd, ...

    自动化测试框架RobotFramework+Selenium2

    通过RobotFramework框架,结合导入Selenium2Library,实现自动化测试。 Robot Framework 是一种基于 Python 的可扩展的关键字驱动的自动化测试框架。

    RobotFramework基础教程.pdf

    resource为⾃定义关键字集合,variables为⾃定义变量集合 简单⽰例 简单⽰例 Selenium Demo pip install robotframework robotframework-selenium2library *** Setttings *** ** Test Setup ** ... ** Test Teardown...

    RobotS2LScreenshot:提供额外的关键字来增强 RobotFramework 的 Selenium2Library 的截图功能,即裁剪和屏蔽以帮助进行感知差异测试

    RobotS2L截图提供额外的关键字来增强 RobotFramework 的 Selenium2Library 的截图功能,即裁剪和屏蔽以帮助进行感知差异测试。用法Capture main area only Capture And Crop Page Screenshot example1.png css=div....

    robotframework_selenium2library:为windows handle和table添加qitao关键字的fork

    用于机器人框架的 Selenium 2 (WebDriver) 库这个前叉有什么新东西修复了 NoSuchWindowException 问题: 增强 browser.select_window() 而不破坏它的现有用法: a. let it accept argument 'main' or '' or None to ...

    Robot-Demo-With_selenium2Library

    Robot-Demo-With-Selenium Robot Framework 是用于验收测试和验收测试驱动开发 (ATDD) 的通用测试自动化框架。 它具有易于使用的表格测试数据语法,并利用关键字驱动的测试方法。 它的测试功能可以通过使用 Python ...

    RobotFramework之关键字.pdf

    4: :Keywords参考库 参考库 RobotFramework有很多可以参考的库,但是我只是⽤到了BuiltIn和Selenium2Library,⾥⾯提供 了写脚本的⼀些关键字,但是Wait Until Element Is Visible这个关键字⽤不了,原因我也不...

    robotframework自动化测试修炼宝典-RobotFramework原理精讲.pdf

    robotframework⾃动化测试修炼宝典_RobotFramework原理精 讲 Robot Framework是⼀款python编写的功能⾃动化测试框架。具备良好的可扩展性,⽀持关键字驱动,可以同时测试多种类型的客户端或 者接⼝,可以进⾏分布式...

    自动化库文件.rar

    ) 3、安装rf,以管理员身份运行cmd, pip install robotframework 4、安装RIDE,以管理员身份运行cmd, pip install robotframework-ride 5、安装Selenium2Library,以管理员身份运行cmd,pip install robotframework...

    Selenium2Library:用于Robot Framework的Web测试库已重命名为SeleniumLibrary

    Selenium2Library Selenium2Library是用于的Web测试库,该库在内部使用工具。 该项目托管在,可以从找到下载。 从3.0版开始,Selenium2Library重命名为 ,该项目的存在主要是为了帮助过渡。 版本号 Selenium2...

    RobotFramework常用库简介.pdf

    RobotFramework常⽤库简介 常⽤库简介 标准库 Robot Framework可以直接导⼊使⽤的库,包括: BuiltIn :包含经常需要的关键字。⾃动导⼊⽆需import,因此总是可⽤的 Dialogs :提供了暂停测试执⾏和从⽤户的输⼊⽅式。...

    RobotFramework之python脚本调用.pdf

    RobotFramework之python脚本调⽤ 前⾔ 前⾔ 喜欢使⽤RF的原因之⼀就是能⾃⼰定义关键字,这篇就简单说下如何创建系统关键字,先来个最简单的,求⽐较两个数的⼤⼩ ⼀、建⽴库⽂件 ⼀、建⽴库⽂件 假设python的安装...

    robot_framewok 从入门到精通

    第1 章Robot Framework 介绍 第2 章Robot Framework 环境搭建 第3 章Robot Framework 入门 第4 章认识RIDE 第5 章Selenium2Library 库 第6 章DatabaseLibrary 库 第7 章AutoItLibrary 库 第8 章系统关键字开发

    RFS的web自动化验收测试——介绍篇

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

Global site tag (gtag.js) - Google Analytics