RF之简介-1

robot framework 是一个通用型的自动测试框架

      - 自动测试用例的实现方式

      - 自动测试用例的开发支持 :  IDE、库

      - 和用例管理系统的集成

      - 测试执行:相关测试套件和测试用例的执行规则;初始化和清除;测试报告。

测试数据文件对应一个个的测试用例,测试数据文件里使用的功能小模块叫关键字,由测试库实现。

robot framework加载测试库,并解释执行Test Data也是测试用例。

以关键字的形式来开发测试用例:

        - 标准库提供了常用功能

        - 第三方扩展库

        - 开发者根据产品自行开发库:自动化框架、库开发者;自动化用例开发者。

测试库:

       RF有自带的测试库,实现最核心、最常用的功能。比如:检查点判断、循环、判断逻辑、获取时间等

       也有第三方开发好的库,比如:我们要测试web应用,就有。

       也有我们自己开发的,比如:要测试web api  ,如果无第三方现成的,就自己开发

robot framework加载测试库并解释执行测试用例:

       特点是:

           - 提供简单易懂的表格式的‘语言’来开发自动测试用例

           - 它的标准库提供了常用功能,以关键字keyword的形式来开发测试用例

             关键字是RF开发的核心,关键字就指定了测试的一个个基本动作

           - 开发人员划分

           - 它定义灵活且易理解的测试用例执行控制,包括执行哪些用例,如何在执行用例前后进行初始化和清除环境

           - 它可以方便挑选要执行的用例和套件(名称、标签过滤)

           - 它有清晰的日志和报表功能

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

安装:

        RF使用python开发的框架,以python库的形式安装

        首先要确保python安装好,并且可执行目录(包含python和scripts的两个目录)都在path环境变量里面

        RF支持python2和python3,和python3.6以后的版本

        ① 因为安装包是放在pypi仓库中,所以直接:pip  install robotframework

        ② seleniumlibrary的安装:也叫seleniumlibrary的RF扩展库   pip  install --upgrade robotframework-seleniumlibrary

        ③ pycharm的robot 用例标记插件的安装:推荐使用pycharm插件Intellibot,能够高亮显示各种语法

                                                                       怎么安装?-》file--settings--plugins进去设置  安装IntelliBo和IntelliBot@SeleniumLibrary Patched

                                                                       ride不推荐安装,原因是:ride编辑器只支持Python2

        ④ *注意点* :以前做selenium自动化时,selenium需要知道webdriver程序的路径。而现在我们导入的seleniumLibrary里面是没有指定路径的,因此解决办法是:在path环境变量里添加chromedriver的地址

              如果在星星用例时,报path路径错误,建议可以把chromedriver.exe放到项目的根目录下

        ⑤ 测试用例执行:点击Terminal ,在里面输入 robot t1.robot,执行后会有输出、日志、报告。

实例:

         *** Settings ***

         Library SeleniumLibrary

         *** Test Cases ***

         百度搜索robot framework

         Open Browser                                 http://www.baidu.com             chrome

         Set  Selenium  Implicit Wait             5

         Input  Text                                        id=kw                                     robot framework

         ${firstRet}=                                       Get Text                                 id=1

         Should Contain                                ${firstRet}                               Robot Framework

解释说明:这里包含了两种表Settings表和 Test Cases表;另外还有两个表 Variables表和Keywords表。

              关键字其实就是对应了python或java里面的一个函数调用,实现一个基本的功能。

              Open Browser  ---- 打开浏览器               Set  Selenium  Implicit Wait  ---- 设置浏览器等待时间

              Input  Text   ---- 向文本框输入值                        Should Contain ---- 验证是否包含

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

学会看关键字文档:可以链接到robotframework.org/SeleniumLibrary/SeleniumLibrary.html

SeleniumLibrary库:第三方开发者为RF专门开发了一个库,提供RF用例里面使用的关键字,可以自动化web操作。

                             SeleniumLibrary库也是基于Selenium的,它封装了Selenium操作到一些关键字中。

用法:在RF测试中,使用SeleniumLibrary,首先要使用该Library设置将库导入为任何其他库,该库接受一些导入时间参数。如: Library  SeleniumLibrary

RF----常用关键字

          关闭浏览器   close Browser  或close All  Browsers

          浏览器最大化    Maximize  Browser  Window

          设置浏览器窗口 宽、高    Set Window Size    800    600

          点击元素     Click   Element       xpath=//*[@]

          点击按钮     Click   Button          xpath=//*[@]

          等待元素出现     Wait Unit Page Contains Element         xpath=//*[@]             42         error

          获取title     Get Title

          获取文本    Get Text     xpath=//*[@]        xxxx

          获取元素属性值    Get  Element  Attribute     id=kw@name

          cookie处理:get cookies   获得当前浏览器的所有cookie

                            get cookie value Key_name    ---------   获得cookie值,key_name表示一堆cookie中的key的name

                            add cookie Key_name  Value_name    ---------- 添加一对cookie

                            delete  cookie      Key_name     ------------  删除key为name的cookie信息

                            delete  all  cookies    ----------- 删除电气概念浏览器所有的cookie

          表单嵌套:Select  Frame          xpath=//*[@]        ---------- 进入表单

                        Unselect  Frame      ----------- 退出表单

          下拉框选择:Unselect From List By Value       xpath=//*[@]         value     

                 注意:xpath=//*[@] 定位下拉框;value是选中下拉框里的属性值

          执行javascript:Execute JavaScript       ${"tootip"}.fadeOut()             

posted @ 2019-12-19 16:55  呸呸裴  阅读(942)  评论(0编辑  收藏  举报