RF01 RF环境搭建及简介

目录

  • 一、RF安装
    • 1.1 Ride安装
    • 1.2 eclipse安装
  • 二、RF简介
    • 2.1 Robot Framework特点
    • 2.2 RF中四大组件
      • 2.2.1 *** Settings ***
        • 2.2.2.1 Librarys
        • 2.2.1.2 Resources
      • 2.2.1.3 Variables
      • 2.3.6 TestCases/TestSuite
      • 2.2.2 *** Variables ***
      • 2.2.3 *** Keywords ***
      • 2.2.4 *** Test Cases ***
    • 2.3 RF常见标识

一、RF安装

1.1 Ride安装

  1. 安装Python2.7,配置好环境变量
  2. 安装wxPython 2.8.12.1 (目前只有这个版本是官方支持的),一键式安装
  3. 安装ride,下载安装包后,解压后使用python setup.py install安装
  4. 安装RF,下载安装包后,解压使用python setup.py install安装
  5. 安装完成后,在scripts文件夹下,使用python ride.py即可运行

1.2 eclipse安装

  1. 安装eclipse、python2.7,配置好环境变量
  2. 配置python编译器(这一步可以不用配置
    1. 下载PyDev(下载地址)。将下载文件解压,将features和plugins中的文件分别拷贝至eclipse安装目录下的features和plugins目录下。
    2. 打开eclipse,选择windows->references->PyDev,选择本地的python2.7.exe
  3. 配置eclipse应用于RF的插件(这一步也可以不用配置

    1. 安装RED插件(有两种方法)

      1. 打开eclipse,选择Help->Install New SoftWare->Add,在弹出窗口中Name填写:RobotFramework-EclipseIDE,URL填写:http://sourceforge.net/projects/robotide/files/stable/ ,点击ok,后根据提示操作,安装完成后重启eclipse

      2. 下载RED_feature,打开ECLIPSE,选择Help->Install New SoftWare->Add,点击弹出框的Archive…按钮,选择本地下载好的RED的zip包,安装完成后重启即可

      注意:重启后eclipse显示的是java视图,为方便后续操作,须将其更改为robot视图,修改方法为:Windows->Perspective->Open Perspective->Other。在弹出窗口选择Robot

    2. 选择windows->references->Editors->File Associations,在File types选择*.txt,在Associated editors选择RobotFramework-EclipseIDE,点击Associated editors的default,设置txt默认打开方式为RobotFramework-EclipseIDE
    3. 任意创建一个txt格式的文件,默认的编辑器均为RobotFramework-EclipseIDE
  4. 安装RF:pip install RobotFramework
  5. eclipse其他设置
    1. 编码设置:indows->references->workspace,在Text file encoding中选择utf-8
    2. 自动提示设置:windows - preference - RobotFramework - Editor - Content Assitant
      加上如下内容:.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$@&*:[

二、RF简介

        RF全称Robot Framework,是一款python编写的功能自动化框架。具备良好的可扩展性、支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。

2.1 Robot Framework特点

  1. 开源,基于Python2.7开发(暂时不支持python3)
  2. 具有丰富的第三方库,支持UI、API、IOS以及Android
  3. 编写用例简单、方便,可以用txt,tsv或者html等格式编写用例
  4. 支持关键字驱动,数据驱动和行为驱动
  5. 利用已有关键字,测试人员可以创建自己的关键字,形成更高级的行为
  6. 可以像编程一样写测试用例、支持变量使用、可以使用IF语句和FOR循环语句
  7. 支持集成svn、git以及jenkins等工具
  8. 灵活、可扩展(可自己扩展测试库)

2.2 RF中四大组件

        在RF中,比较常用的有Settings、Variables、Keywords和Test Cases。这其中每一个部分都有各自的作用:

2.2.1 *** Settings ***

  • 包括导入库(Library)、导入资源(Resource)、导入变量(Variables)文件、设置setup和teardown等。RF导入第三方库写在*** Settings ***下,案例如下:

2.2.2.1 Librarys

库: 相当于python中的模块,是系统关键字的集合。可以分为RF标准库第三方库自定义库

*** Settings ***
Library    SeleniumLibrary
RF标准库 第三方库 自定义库
这类库不需要安装,直接导入就可以使用 需要anzhuangku以及依赖库,需要导入之后才能使用关键字 需要先开发python模块及其函数,之后安装导入后才能使用该关键字

① RF标准库

RF01 RF环境搭建及简介_第1张图片
1. Builtin: 包含经常需要的关键字。自动导入,无序import
2. Dialogs: 提供了暂停测试执行和从用户的输入方式
3. Collections: 提供一组关键词处理Python列表和字典
4. OperatingSystem: 允许执行各种操作系统相关的任务。允许执行各种操作系统相关的任务,是各种操作系统相关的任务在RF正在运行的系统中执行
5. Remote: 远程接口的一部分。没有自己的任何关键字,作为RF和测试库之间的代理,实际测试库可以在不同的机器上运行,可以使用任何编程语言支持XML-RPC协议的实现
6. Screenshot: 提供关键字捕获 和存储桌面的截图
7. String: 用于处理字符串并验证他们内容的库,用于生成、修改和验证字符串
8. Telnet: 支持链接到Telnet服务器上打开的连接执行命令
9. XML: 用于生成、修改和验证XML文件的库
10. Process: 系统中运行过程的库
11. Date Time: 日期和时间转换的库,支持创建和验证日期和时间值以及他们之间的计算

② 第三方库
1. web自动化库: SeleniumLibrary、Selenium2Library、Selenium2Library for Java、waitir-robot等
2. windows GUI测试: AutoltLibrary
3. 移动测试: Android library、IOS library、Appium library等
4. 数据库测试: Database Library(Java)、Database Library(Python)、MongoDB library等
5. 文件对比测试: Diff Library
6. HTTP测试: HTTP library(invest)、HTTP library(Requests)等

2.2.1.2 Resources

  • 用户关键字的集合,用来对用户关键字进行管理,相当于用户用python自己编写的类

登录首页关键字

*** Settings ***
Library           SeleniumLibrary

*** Variables ***
${用户名输入框}         //*[@id="loginname"]
${密码输入框}          //*[@id="pl_login_form"]/div/div[3]/div[2]/div/input
${登陆按钮}           //*[@id="pl_login_form"]/div/div[3]/div[6]/a
${登陆失败-提示信息框-非中间}    //*[@id="layer_15254979692111"]/div/p
${登陆成功页面元素}       //*[@id="v6_pl_rightmod_myinfo"]/div/div/div[2]/div/a[1]

*** Keywords ***
登陆
    [Arguments]    ${url}    ${username}    ${pwd}
    SeleniumLibrary.Open Browser    ${url}    chrome
    BuiltIn.Comment    comBuiltIn.Sleep    10
    SeleniumLibrary.Maximize Browser Window
    SeleniumLibrary.Wait Until Element Is Visible    ${用户名输入框}    50
    SeleniumLibrary.Input Text    ${用户名输入框}    ${username}
    SeleniumLibrary.Input Text    ${密码输入框}    ${pwd}
    SeleniumLibrary.Click Element    ${登陆按钮}
    SeleniumLibrary.Wait Until Element Is Visible    ${登陆成功页面元素}    50

测试用例中调用登录首页关键字

*** Settings ***
Library    SeleniumLibrary    

Resource    ../用户关键字/登陆页面.robot
Resource    ../测试数据/登录测试数据.robot
Force Tags    login
Test Teardown    SeleniumLibrary.Close Browser

*** Test Cases ***
登陆新浪微博——成功用例
   [Tags]    smoke
   登陆页面.登陆    ${测试环境地址}    ${正确的登录名}    ${正确的密码}

2.2.1.3 Variables

  • 导入变量,可以是RF中定义的变量文件,也可以是python中定义好的变量

2.3.6 TestCases/TestSuite

2.2.2 *** Variables ***

  • RF中自定义变量都在Variables下定义,案例如下:
*** Variables ***
${用户名输入框}    //*[@id="loginname"]
${密码输入框}    //*[@id="pl_login_form"]/div/div[3]/div[2]/div/input
${登陆按钮}    //*[@id="pl_login_form"]/div/div[3]/div[6]/a

2.2.3 *** Keywords ***

  • 提供特定功能的函数,包括系统关键字用户关键字。关键字中的空格就是函数名称中的下划线。查找关键字可以按F5或者点击菜单栏为”K”的按钮。使用关键字时,如果显示关键字为蓝色,表示关键字存在并且可以正常使用,如果关键字为黑色,表示关键字不能正常使用
*** Keywords ***
登陆
    [Arguments]    ${url}    ${username}    ${pwd}
    SeleniumLibrary.Open Browser    ${url}    chrome
    SeleniumLibrary.Wait Until Element Is Visible    ${用户名输入框}    
    SeleniumLibrary.Input Text    ${用户名输入框}    ${username}
    SeleniumLibrary.Input Text    ${密码输入框}    ${pwd}
    SeleniumLibrary.Click Element    ${登陆按钮} 

2.2.4 *** Test Cases ***

  • RF中用户的测试用例都放在Test Case中
*** Test Cases ***
登陆新浪微博——成功用例
   [Tags]    smoke
   登陆页面.登陆    ${测试环境地址}    ${正确的登录名}    ${正确的密码}

2.3 RF常见标识

  • [Arguments]参数
  • [Return]返回值
  • [Documents]关键字说明
  • [Tag]用例标签
  • [Setup]用例标签
  • [Teardown]用例标签

你可能感兴趣的:(RF)