`
ratlsun
  • 浏览: 49232 次
  • 性别: 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-selenium2library-3.0.0.tar.gz

    标题中的"robotframework-selenium2library-3.0.0.tar.gz"是一个开源自动化测试框架Robot Framework的一个扩展库——Selenium2Library的3.0.0版本的压缩包。Robot Framework是一个通用的、基于关键字驱动的自动化...

    robotframework-selenium2library-1.5.0

    Robot Framework Selenium2Library 1.5.0 是一个专门针对Web自动化测试的强大的库,它构建于Robot Framework之上,提供了一套简洁而易用的接口,使得测试人员能够高效地编写自动化测试用例。Robot Framework 是一个...

    robotframework-selenium2library-1.5.0.win-amd64

    标题中的"robotframework-selenium2library-1.5.0.win-amd64"是一个针对Windows 64位系统的Robot Framework扩展库的版本标识。Robot Framework是一个开源的自动化测试框架,它支持创建易于理解的关键词驱动测试。...

    RobotFramework-Selenium2Library中文版_V1.1.pdf

    ### RobotFramework-Selenium2Library中文版_V1.1.pdf 关键知识点解析 #### 一、简介 本文档主要介绍了RobotFramework结合Selenium2Library进行自动化测试的方法与实践。RobotFramework是一个通用的自动化测试框架...

    robotframework-selenium2library-1.8.0

    Robot Framework Selenium2Library 1.8.0 是一个专门用于自动化Web应用程序测试的库,它建立在Robot Framework之上,利用Selenium 2 (现称为Selenium WebDriver) 的功能。Robot Framework是一个通用的自动化框架,而...

    Robot Framework-Selenium2Library 常用关键字

    总结,Robot Framework-Selenium2Library 提供了一系列丰富的关键字,涵盖了浏览器管理、Cookie 操作、元素交互、JavaScript 执行、屏幕截图、等待机制和焦点转移等方面,这些都是自动化 Web 测试中不可或缺的功能。...

    robotframework-selenium2library-1.8.0.rar,可以用

    Robotframework-Selenium2Library是基于Python的自动化测试框架Robot Framework的一个扩展库,专门用于Web应用程序的UI自动化测试。这个库利用Selenium WebDriver进行浏览器交互,提供了丰富的关键字供测试人员使用...

    RobotFramework-Selenium2Library

    **RobotFramework-Selenium2Library详解** Robot Framework是一个通用的自动化框架,它支持各种测试和任务自动化,而Selenium2Library是Robot Framework中的一个关键库,专门用于Web应用程序的自动化测试。这个库是...

    RobotFramework-Selenium2Library中文版_V1.1_.pdf

    Robot Framework-Selenium2Library是一个基于Robot Framework的测试库,它使用Selenium2 WebDriver来提供一个简单的界面,用于执行基于web的自动化测试。Robot Framework是一个通用的自动化测试框架,主要面向应用...

    RobotFramework+selenium2library

    Robot Framework+Selenium2Library 是一个高效且用户友好的自动化测试框架,主要用于Web应用程序的测试。Robot Framework 是一个通用的关键词驱动测试框架,而Selenium2Library(现称为SeleniumLibrary)则是Robot ...

    RobotFramework-Selenium2Library中文版 V1.0

    根据提供的文件内容,可以得知这是关于RobotFramework-Selenium2Library中文版的参考资料,版本为V1.0。Selenium2Library是一个为Robot Framework提供Selenium 2支持的库,它允许使用Selenium工具进行Web应用的自动...

    RobotFramework-Selenium2Library中文版_V1.1

    RobotFramework-Selenium2Library中文版_V1.1是一份旨在介绍如何使用Robot Framework框架配合Selenium2Library进行自动化测试的中文版文档。Selenium2Library是一个基于Selenium WebDriver的测试库,主要用于网页...

    robot+framework+selenium2Library学习文档.docx

    文档标题提及的是关于"Robot Framework Selenium2Library"的学习文档,这是一个用于自动化测试的框架,结合了Robot Framework(一个通用的关键词驱动测试框架)和Selenium2Library(Selenium WebDriver的Robot ...

    自动化测试框架RobotFramework+Selenium2

    自动化测试框架RobotFramework+Selenium2是结合RobotFramework框架和Selenium2Library实现自动化测试的解决方案。下面是该框架的详细介绍: 简介 Robot Framework是一个基于Python的可扩展的关键字驱动的自动化测试...

    RobotFramework+Selenium

    安装Selenium库时,除了直接使用pip安装`selenium`之外,还需要安装`robotframework-selenium2library`或`robotframework-seleniumlibrary`,这两个库提供了与Selenium集成的关键字,供Robot Framework使用。...

    RobotFramework+selenium自动化测试-齐涛博客教程整理

    RobotFramework(简称RF)结合Selenium Library,为Web自动化测试提供了一个强大的框架。这种组合允许测试人员使用一种简洁且易于理解的语言编写自动化测试脚本,并通过Selenium Library来控制浏览器执行各种操作。 ...

    基于Robot-Framework+Selenium2用户操作手册

    4. **robotframework-selenium2library** - **下载地址**:[robotframework-selenium2library-1.1.0.tar.gz](https://github.com/rtomac/robotframework-selenium2library/releases) - **说明**:创建一个新的...

    PyPI 官网下载 | robotframework-zoomba-2.8.5.tar.gz

    Robot Framework 具有丰富的生态系统,可以通过各种库来扩展其功能,例如用于网页测试的 Selenium2Library,数据库测试的 DatabaseLibrary,以及 SSH 连接的 SSHLibrary 等。 ** Zoomba Library for Robot ...

    robotframework Selenium2关键字说明

    通过以上介绍,我们可以看到 RobotFramework Selenium2Library 提供了大量的关键字,这些关键字可以帮助我们轻松地编写自动化测试脚本,对 Web 页面进行各种操作和验证。掌握这些关键字的使用方法,可以大大提高测试...

Global site tag (gtag.js) - Google Analytics