Robot Framework:基础_上

RF简介

Robot Framework是一个基于Python的,可扩展的关键字驱动的测试自动化框架,用于端到端验收测试和验收测试驱动开发(ATDD)。它可用于测试分布式异构应用程序,其中验证需要涉及多种技术和接口

 

为何选择Robot Framework

1、启用易于使用的表格语法,以统一的方式创建测试用例

2、可以使用关键字驱动、数据驱动和行为驱动开发完成

3、提供易于阅读的结果报告和HTML格式的日志

4、平台和应用程序是独立的

5、易于扩展,提供一个简单的API,用于创建自定义测试库,可以使用Python或Java本机实现

6、提供命令行界面和基于XML的输出文件, 以便集成到现有构建基础架构(持续集成系统)中

7、为Selenium提供Web测试,Java GUI测试,运行进程,Telnet,SSH等支持

8、内置对变量的支持,特别适用于不同环境下的测试

9、提供标记以分类和选择要执行的测试用例

10、实现与源代码控制的轻松集成:测试套件只是可以使用生产代码进行版本控制的文件和目录

11、提供测试用例和测试套件级别的设置和拆卸

12、模块化架构支持创建测试,即使对于具有多种不同接口的应用程

 

 

RIDE工具

1、RIDE作为Robot Framework的“脸面”,直接面向用户。创建和运行测试都是在该界面上进行的

2、RIDE的界面大致分了4个区域:菜单栏、工具栏、工程文件区、工作区
    ⑴菜单栏:RIDE所有的功能都在这里面。如打开一个工程、创建一个工程等
    ⑵工具栏:比较常用的功能,可以快捷操作
    ⑶工程文件区:这里是一个目录一个目录的树形结构。主要是存放工程的:测试套件、测试用例、自定义资源、关键字等
    ⑷工作区:这里主要是编辑用例、运行用例的操作区

 

菜单栏

RF的菜单栏才主要包括:File、Edit、Tools、Navigate、Macros、Help按钮


File菜单

File菜单下主要的选项有以下按钮。如果最近打开过工程,File菜单下还会展示最近打开的工程,最多展示4个,可以直接切换工程

名称 描述
New Project 新建工程
Open Test Suite 打开测试套件
Open Directory 打开目录(一般打开测试项目都是选择这项)
Save  保存
Save All 保存全部
Exit  退出

 


Edit菜单

1、File菜单下主要的选项有以下按钮

2、如果是对测试用例脚本进行编辑的话,可以右键选择需要操作的单元格(行)单元格,在弹出的对话框中快捷键操作

名称 描述
Add Tag to selected  对选中的案例增加Tag标签,可批量增加
Clear Selected  清除选中的案例
Undo  撤销
Redo 重做
Cut   剪切 
Copy 复制
Paste 粘贴
Insert  插入
Delete 删除
Comment  注释当前行,可批量操作
Uncomment 取消当前行注释,可批量操作
Insert Cells 插入单元格
Delete Cells 删除单元格
Inset Rows 插入行
Delete Rows 删除行

注:
这部分的操作可以在测试用例编辑区进行快捷操作

1、选中需要操作的行:进行行操作

 

2、选择需要操作的单元格进行单元格操作

 

 

Tools菜单

Tools菜单下主要的选项有以下按钮

名称 描述
Test with Debug以debug 形式运行测试案例
Run Tests 运行测试案例
Stop Test Run 停止案例运行
Search Tests 搜索测试案例(可以通过名称或Tag标签搜索案例)
Search Keywords 搜索关键字(可使用快捷键F5)
Search Unused Keywords 搜索未使用过的关键字
Content Assistance 内容助手(用来做脚本补全,不过感觉很不方便)
Preview 预览(预览测试套件的文件内容,可以选择格式来查看或打印)
Manage Plugins 管理插件
View All Tags   查看所有Tag
Import Library Spec XML  导入测试库描述文件XML
View RIDE Log 查看RIDE日志(如测试库名写错时,可以通过该按钮来排错)
Preferences 参数配置(主要是一些个人喜爱设置)

 

 

Navigate、Macros、Help菜单

名称  描述
Go Back 后退:跳转到上一个访问过的页面
Go Forward  前进:跳转到下一个访问过的页面
Manage Run Configurations 管理运行配置:可以增加或移除操作
hortcut keys 快捷键列表
User Guide 用户指南
Report a Problem 报告问题
Release notes  更新日志
About   关于

                                       
 

 

工具栏

工具栏中的按钮主要是菜单栏中一些按钮的快捷按钮,从左到右依次为:后退、前进、打开测试套件、打开目录、保存、保存全部、搜索关键字、搜索测试用例、运行用例、停止运行用例

 

 

工程文件区

1、工程文件区下主要是由工程、测试套件、测试用例、资源、关键字组成
    ⑴工程:就是我们包含我们全部文件的一个文件夹
    ⑵测试套件:即testSuit,测试集。跟Python中的Unittest单元测试框架中的概念一样
    ⑶测试用例:在RF中表示由一系列关键字等构成的测试用例
    ⑷资源:二次封装关键字构成的TXT文件(一个资源文件里面可以含有多个关键字,将一些功能类似或有相同点的关键字放在一个TXT文件中)
    ⑸关键字:由Python处理函数封装成的(其实就是由Python写的一些处理函数,用于处理对应事件)

2、在RF中Python函数、关键字、资源、测试用例的关系为:
    ⑴Python函数封装成关键字->多个关键字构成资源文件->若干关键字构成测试用例(资源)(关键字也可以不放在资源文件中(可以单独存在),只是这样的话,可能看起来比较杂乱)
    ⑵创建测试用例时:需要在所在目录的测试集中导入所需的资源文件或关键字
    ⑶创建关键字时:需要在所在目录的资源文件或测试集中导入所需的PY文件
        

3、界面
    右键工程名、测试套件名、测试用例名可以弹出二级页面,进行下一步操作(每一级下的二级页面按钮会有点不一样)

名称 描述
New Suite 新建测试套件
New Directory 新建目录测试套件
New Resource 新建资源
New Test Case 新建测试用例(测试套件下)
New User Keyword 新建用户关键字
New Scalar 新建变量
New List Variable  新建列表型变量
New Dictionary Variable  新建词典变量
Change Format 修改格式(可以修改工程的格式)
Select All Tests  选择全部测试案例
Deselect All Tests 取消选择全部测试案例
Select Only Failed Tests 只选择失败的测试案例
Select Only Passed Tests 只选择成功的测试案例
Expand all 展开全部目录
Collapse all 折叠全部目录

 

 

工作区

工作区里的内容很多,工程、测试套件、测试用例、资源关键字都有与其对应的"Edit"、"Text Edit"、"Run"界面,不同的层级对应的界面会有点不同,先把通用的介绍下

 

测试套件的Edit页面

1、分别选择测试项目、测试套件、资源文件后,分别查看其对应的Edit页面,可以看出
    ⑴测试项目和测试套件所提供的Edit标签的功能基本是一样的
    ⑵资源的工作区Edit与测试套件的基本相同,只是资源工作区的Edit页面中没有元数据定义部分
    ⑶setUp用于设置初始化工作,在每一个测试用例前先被执行
    ⑷tearDown方法在每个测试方法执行后调用,这个方法用于完成测试用例执行后的清理工作,如执行“close browser”关闭浏览器等

名称 描述
Source  显示当前套件的路径
Settings 单击显示
Documentation  说明文档,写对当前工程的说明
Suite Setup 测试套件初始化(跟Unittest里面的初始化一样)
Suite Teardown 测试套件结束
Test Setup 测试案例初始化
Test Teardown 测试案例结束
Force Tags  强制标记,给当前测试套件下的每个测试案例都加上Tag,在测试案例上不能删除,只能在设置的地方删除
Default Tags  表示当前测试套件下测试用例默认的标记
TimeOut 用于设置用例的超时时间。如“1 min 10s”、“ 2 hours”等。
Template 指定模板使用的关键字
Tags 用于给用例添加标记
Library 加载测试库,默认是Python安装目录下的site-packages里的测试库(也可以自己导入包所在的绝对路径)
Resource  加载资源(主要是工程相关的资源文件)
Variables  加载变量文件
Import Failed Help  导入失败的帮助
Add Scalar 定义变量
Add List  定义列表型变量
Add Dict  定义词典
Add Metadata 定义元数据,定义之后Report和Log显示定义好的内容

 

 

测试用例的Edit页面

分别选择一个测试用例和一个关键字的Edit页面,可以看到用户关键字的工作区Edit和测试用例的Edit页面也基本一致,只是用户关键字的界面多了一个Find Usages

 

 

Text Edit编辑页面

这里显示的是测试用例、关键字等文件的真实内容了,它与Edit页面时互通的
    ⑴测试用例的Edit页面显示的是当前用例的操作步骤等信息,Text Edit编辑页面显示的是当前测试套件下所有测试用例的操作步骤等信息
    ⑵TextEdit编辑页面和Edit页面是互通的。即:在Edit页面编写测试用例等后会同步到Text Edit页面;在Text Edit编写用例等后也会同步到Edit页面(可以理解为同一个东西的不同变现形式)
    ⑶Edit可视化的提供的按钮输入框,对于用户来说更容易知道我要怎么做;而在Text Edit中只是一个空当当的文本,我们跟本不知道如何下手

 

 

Run标签页面

该界面中主要是一些运行时的参数设置、日志显示等信息,Run标签提供了丰富的操作和日志

名称 描述
Execution Profile 选择运行方式,里面有pybot、jybot和custom script
Start和Stop  用例的运行和停止
Report和Log  报告和日志,要运行之后才能点击
Autosave 自动保存
Arguments pybot的参数,可以在这里输入pybot的命令完成相应的操作
Show message log  默认为勾选(勾选后页面会显示运行时的log,反正只显示执行结果)
Only Run Tests with these Tags 只运行这些标记的测试案例
Skip Tests with these Tags  跳过这些标记的测试案例

注:
1、在选择运行方式时:默认是用pybot来运行案例,pybot的运行Python编译器完成。jybot需要安装Jython的支持。custom script是选择自定义的脚本来运行

2、Report和Log之间的区别:报告更多是结果上的展示,日志更多是过程的记录,在测试用例调试的过程中更多使用日志来查看执行错误。当只想知道测试用例的最终执行情况时用报告

3、自动保存:如果不勾选,在修改了用例之后如果没有保存的话,运行案例时会提示是否保存。勾选则在运行时自动保存了