zoukankan      html  css  js  c++  java
  • 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()             

  • 相关阅读:
    1405ST软件测试课的要求补充说明
    软测实验课安排和考试
    Asp.Net 4.0 FormAuthentication 原理
    微信支付-“申请退款”接口遇到curl出错,错误码:58
    前端资源构建-Grunt环境搭建
    微信服务号开发-获取用户位置信息
    微信支付开发-当前页面的URL未注册
    Using Redis to store php session
    nginx performance monitor
    thinkphp nginx php-fpm url rewrite 导致 404 错误
  • 原文地址:https://www.cnblogs.com/peipei-Study/p/12066166.html
Copyright © 2011-2022 走看看