目录
一、RF安装
1.1 Ride安装
- 安装Python2.7,配置好环境变量
- 安装wxPython 2.8.12.1 (目前只有这个版本是官方支持的),一键式安装
- 安装ride,下载安装包后,解压后使用python setup.py install安装
- 安装RF,下载安装包后,解压使用python setup.py install安装
- 安装完成后,在scripts文件夹下,使用python ride.py即可运行
1.2 eclipse安装
- 安装eclipse、python2.7,配置好环境变量
- 配置python编译器(这一步可以不用配置)
- 下载PyDev(下载地址)。将下载文件解压,将features和plugins中的文件分别拷贝至eclipse安装目录下的features和plugins目录下。
- 打开eclipse,选择windows->references->PyDev,选择本地的python2.7.exe
- 配置eclipse应用于RF的插件(这一步也可以不用配置)
- 打开eclipse,选择Help->Install New SoftWare->Add,在弹出窗口中Name填写:RobotFramework-EclipseIDE,URL填写:http://sourceforge.net/projects/robotide/files/stable/ ,点击ok,后根据提示操作,安装完成后重启eclipse
- 选择windows->references->Editors->File Associations,在File types选择*.txt,在Associated editors选择RobotFramework-EclipseIDE,点击Associated editors的default,设置txt默认打开方式为RobotFramework-EclipseIDE
- 任意创建一个txt格式的文件,默认的编辑器均为RobotFramework-EclipseIDE
- 安装RF:pip install RobotFramework
- 下载RED_feature,打开ECLIPSE,选择Help->Install New SoftWare->Add,点击弹出框的Archive…按钮,选择本地下载好的RED的zip包,安装完成后重启即可
- 重启后eclipse显示的是java视图,为方便后续操作,须将其更改为robot视图,修改方法为:Windows->Perspective->Open Perspective->Other。在弹出窗口选择Robot
- eclipse其他设置
- 编码设置:indows->references->workspace,在Text file encoding中选择utf-8
- 自动提示设置:windows - preference - RobotFramework - Editor - Content Assitant
加上如下内容:.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$@&*:[
二、RF简介
RF全称Robot Framework,是一款python编写的功能自动化框架。具备良好的可扩展性、支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。
2.1 Robot Framework特点
- 开源,基于Python2.7开发(暂时不支持python3)
- 具有丰富的第三方库,支持UI、API、IOS以及Android
- 编写用例简单、方便,可以用txt,tsv或者html等格式编写用例
- 支持关键字驱动,数据驱动和行为驱动
- 利用已有关键字,测试人员可以创建自己的关键字,形成更高级的行为
- 可以像编程一样写测试用例、支持变量使用、可以使用IF语句和FOR循环语句
- 支持继承svn、git以及jenkins等工具
- 灵活、可扩展。可自己扩展测试库
2.2 RF中常用的组件
在RF中,比较常用的有Settings、Variables、Keywords和Test Cases。这其中每一个部分都有各自的作用:
2.2.1 *** Settings ***
RF导入第三方库写在*** Settings ***下,案例如下:
*** Settings ***
Library SeleniumLibrary
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 ***
RF中用户自定义的关键字都在Keywords下定义,案例如下:
*** 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中
2.3 RF几大概念
2.3.1 settings
设置项: 包括导入库、导入资源、导入变量文件、设置变量、设置setup和teardown等
2.3.2 Librarys
库: 相当于python中的模块,是系统关键字的集合。可以分为RF标准库、第三方库和自定义库。
RF标准库 | 第三方库 | 自定义库 |
---|---|---|
这类库不需要安装,直接导入就可以使用 | 需要anzhuangku以及依赖库,需要导入之后才能使用关键字 | 需要先开发python模块及其函数,之后安装导入后才能使用该关键字 |
① RF标准库介绍
- Builtin: 包含经常需要的关键字。自动导入,无序import
- Dialogs: 提供了暂停测试执行和从用户的输入方式
- Collections: 提供一组关键词处理Python列表和字典
- OperatingSystem: 允许执行各种操作系统相关的任务。允许执行各种操作系统相关的任务,是各种操作系统相关的任务在RF正在运行的系统中执行
- Remote: 远程接口的一部分。没有自己的任何关键字,作为RF和测试库之间的代理,实际测试库可以在不同的机器上运行,可以使用任何编程语言支持XML-RPC协议的实现
- Screenshot: 提供关键字捕获 和存储桌面的截图
- String: 用于处理字符串并验证他们内容的库,用于生成、修改和验证字符串
- Telnet: 支持链接到Telnet服务器上打开的连接执行命令
- XML: 用于生成、修改和验证XML文件的库
- Process: 系统中运行过程的库
- Date Time: 日期和时间转换的库,支持创建和验证日期和时间值以及他们之间的计算
② 第三方库
- web自动化库: SeleniumLibrary、Selenium2Library、Selenium2Library for Java、waitir-robot等
- windows GUI测试: AutoltLibrary
- 移动测试: Android library、IOS library、Appium library等
- 数据库测试: Database Library(Java)、Database Library(Python)、MongoDB library等
- 文件对比测试: Diff Library
- HTTP测试: HTTP library(invest)、HTTP library(Requests)等
2.3.3 Keywords
关键字:提供特定功能的函数,包括系统关键字和用户关键字。关键字中的空格就是函数名称中的下划线。查找关键字可以按F5或者点击菜单栏为”K”的按钮。使用关键字时,如果显示关键字为蓝色,表示关键字存在并且可以正常使用,如果关键字为黑色,表示关键字不能正常使用
关键字Keyword | Python函数 |
---|---|
关键字名称 | 函数名称 |
来源:内置/库/用户自定义 | 来源:模块/包/用户自定义 |
入参 | 入参 |
有返回值。无则为None | 有返回值。无则为None |
① 定义用户关键字语法
常用的RF标识
1. 参数:[Arguments]
2. 返回值:[Return]
3. 关键字说明:[Documents]
2.3.4 Resources
资源: 用户关键字的集合,用来对用户关键字进行管理,相当于用户用python自己编写的类
2.3.5 Variables
RF语法中的变量: 单变量值和列表