一、Robot Framework框架简介
Robot Framework是一种基于Python的可扩展关键字驱动自动化测试框架,通常用于端到端的可接收测试和可接收测试驱动的开发。可以用于测试声明涉及到多种技术和接口的分布式的,异构的应用系统。
测试用例位于HTML或者TSV(以tab分隔值)文件,使用在测试库中实现的关键词来在测试中运行程序。因为Robot
Framework 是灵活和可扩展的,所以它很合适用于测试具有多种接口的复杂软件:用户接口,命令行,web
service,编程接口等。
模块化结构如下图所示
Robot Framework使用手册及下载地址:http://code.google.com/p/robotframework/
二、安装
Robot Framework需要Python或Jython环境,具体需要哪个环境主要是看你使用的Test
Libraries或是Test Tools的需要。
1. 安装Python或Jython;
2. 安装Robot Framework:
Windows:可直接下载安装程序安装,安装完成后在系统环境变量中的Path变量中新增C:\Python27\Scripts,C:\Python27为本机Python安装路径;
Linux:下载robotframework-2.6.3.tar.gz 并解压,然后进入解压目录并执行安装命令:python
setup.py install
验证安装是否成功,执行命令:pybot --version
3. 安装扩展库,如果需要的话。
三、Robot Framework基础
1. 变量
变量是 Robot Framework的完整特征,它们能在测试数据的大多数地方被使用。最常见的是,在测试用例表和关键字表中被用于关键字的参数,但是所有设置的值中都允许使用变量。一个普通的关键字名称不能使用变量来指定,但使用内建关键字Run
Keyword 可以获得这种效果.
标量:语法${scalar}。当在测试数据中使用标量变量时,他们将被分配的值所代替。
列表变量:语法@{LIST}。列表变量是复合变量,可以分配多个值给它。
内建变量:
操作系统相关的变量
数字变量:变量语法可以用来创建一个全是整型和浮点型的数字:整形${80}、浮点型 ${3.14}
Boolean变量:${true/false}
Null/None变量: ${null/None}
空格${SPACE}和空${EMPTY}变量
2. 测试文件语法
1. 测试用例的组织层次结构:
在测试用例文件(test case file)中建立测试用例;
一个测试文件自动的建成一个包含了这些测试用例的测试集(test suite);
一个包含多个测试用例文件(test case file)的目录构成更高级别的测试集;
一个测试集目录可以包含其他测试集目录
此外,还有:
测试库(Test libraries)包含最低级别的关键字
资源文件(Resource files)包含变量和更高层次的用户自定义关键字
变量文件(Variable files)可以提供比资源文件更灵活的方式创建变量
3. 支持的文件格式
测试数据被定义为表格形式,无论是使用超文本标记语言(HTML),制表符分隔值(TSV),纯文字,或 reStructuredText格式。Robot
Framework通过文件扩展名为其选择一个测试数据解释器。只为HTML和TSV 两种文件格式提供了模板。
HTML文件模板:
TSV文件模板:
4. 测试数据表格
测试数据被组织在以下四种表格中。这些测试数据表格通过表格的第一个单元格被识别,下列表格的最后一列列出了可以做为表名称使用的不同别名。
在一个测试文件中,Setting与Test Case是必须要有的。
四. 创建测试用例实例
下面以官网自带例子(Quick Start Guide)说明如何创建测试用例,测试文件使用HTML格式,为理解及设计方便,将以下各表放在一个html文件中。
1. 首先编写Setting table
2. 编写测试用例
3. 使用关键字
4. 使用变量
5. 自定义关键字返回值
用户关键字也可以返回值,返回值使用[Return]定义。该值可以赋给测试用例中的变量或其他关键字。
五. 测试用例的执行
测试用例完成后,就该是执行了,这非常简单:打开命令窗口,进入测试集所在目录,然后输入命令:pybot XXX.html即可。
当目录下有多个测试文件时,直接输入测试文件所在的目录名,则所有测试文件都会执行,且每个测试文件作为一个测试集,这在测试报告中有所体现。
六、测试库
1. 八个标准库,可以直接导入使用。
BuiltIn
OperatingSystem
Telnet
Collections
String
Dialogs
Screenshot
Remote
2. 扩展库,需要下载安装后才能使用。
SeleniumLibrary :web方面测试的扩展库
SwingLibrary:
3. 用户自定义的Test Library库文件
这个库文件是将待测程序的所有接口函数提出来,使用python写的一个Library文件。需要一定的编程基础才能很好的写出测试所需的接口库函数。
七、其它
在一个测试集中,可能包含多个测试文件,为重用关键字及变量,可以将关键字及变量单独生成文件,然后在测试文件的setting中导入资源文件即可。
|