Robot framework(RF)基本使用

上一章我们介绍了如何搭建RF+WD的基本环境,那么这一章主要介绍RIDE的基本使用。

1.1  第一个测试项目

3.1.1 第一个测试用例

创建项目涉及到一系列相关的操作,包括新建项目、新建测试套件、新建测试用例等,下面用一个例子来介绍RIDE的这方面的使用。

创建项目步骤:

1、单击“File;New Project” 创建项目。

2、在弹出的新建项目对话框中输入项目名。

A、  Name:项目名

B、  Parent Directory:项目父文件夹,可以通过“Browse”更改

C、  Type:项目的类型(对于项目我们建议Type选择Directory)

File:把项目作为一个文件管理

Directory:把项目作为一个目录管理

File下面可以直接创建测试用例,Directory下面不可以直接创建用例,可以创建测试套件(Suite)

D、  Format:文件的类型

E、  Created Path:如果Type选择的是File,created path保存成”项目名.txt”

如果Type选择的是Directory,created path保存成“项目名\__init__.txt”

3、项目的编辑区

4、新建Test Suite。

5、在编辑区,可以增加库。测试web项目需要增加selenium库。

6、写入suite名,Type选择File。

7、新建测试用例。

8、填入用例名。

9、编辑测试用例。

10、在表格中编写测试用例。

11、执行测试。

快捷键按F8

3.1.2 从F5 开始学习

Robot Framework 并没有像其它框架一样提供一份完整的API 文档,所以,我们没办法通过官方API文档进行习。RIDE 提供了F5 快捷键来打开帮助文档。

【search term】: 用于搜索关键字。

【source】:用于选择相关库,默认在所有库下搜索关键字。

3.1.3 测试项目与测试套件的概念

如果你查看当前所创建的项目会发现,“测试项目”是一个目录。

“测试套件”则是一个txt 文件。

“测试项目”和“测试套件”本质上并没有什么区别,如果你愿意,也可以把测试项目创建成一个文件:

如果你把“测试项目”创建成一个文件后,那么在这个“测试项目”下就不能再创建“测试套件”了,只能创建测试用例。

除非我们所创建的“测试项目”非常小,只需要几个用例。一般情况下,我们会选择将其定义成一个目录,这样它就可以分成多个套件,套件可定义为不同的业务,不同的业务下再分用例,结构会更加清晰。

当然,你同样也可以把“测试套件”创建成一个目录。

如果你把“测试套件”创建成了一个目录后,就不能直接在其下面创建用例了,还需要再创建的“File”类型的“子测试套件”。说白了就是用例只能创建在file 类型的套件中。

下面用一张图来表述他们的关系:

1.2  Edit 标签

下面我们来看一看测试项目和测试套件所提供的Edit 标签。

从而“测试项目”和“测试套件”所提供的Edit 标签的功能也可看出两者是一样的。

测试项目图如下:

测试套件图如下:

在Edit 标签页中主要分:加载外部文件、定义内部变量、定义元数据等三个部分。

(1)加载外部文件

Add Library:加载测试库,主要是[PYTHON 目录]\Lib\site-packages 里的测试库

Add Resource:加载资源,主要是你工程相关的资源文件

Add Variables:加载变量文件。

(2)定义内部变量

Add Scalar:定义变量

Add List:定义列表型变量

(3)定义元数据

Add Metadata:定义元数据。我是直接翻译的,这个是新增加的部分,大概看了一下作用是在report和log 里显示定义好的内容,格式和document 一样。

3.2.1 导入库

点击Edit 标签页右侧的“Library”按钮,来添加库。在添加库之前,首先库已经在Python 下进行了安装。如,添加“Selenium2Library”库。

如果添加的库不存在或库名错误,将会红色显示,黑库正常表示正常。

如果你是在“测试套件”中添加的库,那么这个库中所提供的关键字可以被当前测试套件下的用例使用。

如果你是在“测试项目”中添加的库,当前项目下的测试用例不能使用库中的关键字,需要在用例相应的“测试套件”中再次添加库。

现在按F5 就可以查看库中所提供的关键字。

3.2.2 导入资源

点击Edit 标签页右侧的“Resource”按钮来添加资源。这个资源一般为项目关的文件。比如,项目的自定义关键字文件。

下面我们就来添加一个“mykeywork.txt”文件。

关于添加资源的作用域与库一样。我这里是添加到的测试套件中,那么它的作用域就是当前测试套件下的所有用例。

查看RIDE 左侧项目列表,会发现“External Resource”下多了一下“mykeywork.txt”的资源。展开关键字会看到文件中定义的打开浏览器、最大化浏览器、输入用户名、输入密码、点击登录、关闭浏览器等关键字。导入资源之后就可以在用例中使用这些关键字。

3.2.3 定义变量

点击Edit 标签页右侧的“Add Scalar”按钮来创建变量。这里创建的变量可以被整个测试套件中的用例所使用。也可以认为是一个“公共变量”。

Name 用于定义变量名:${url}

Value 用于给变量赋值。http://127.0.0.1:8090/recruit.students/login/view

下面就可以在测试用例中来使用这个变量。

用例中是两个打印信息,分别使用了${url}变量。

相信从用例的执行结果中我们已经体会到了“公共变量”的作用。

3.2.4 定义列表变量

列表变量可以用来定义一维或二维数组。下面我们就来创建一个列表变量。点击Edit 标签页右侧的“Add List”按钮来创建登录用户的一组变量@{username}

Name 定义变量名为:@{username}

Value 填写列表变量的值:admin、zhangsan、lisi、wangwu。

在测试用例中可以对这个一维数组进行遍历。

运行结果:

1.3  Text Edit 标签

我们在Edit 标签页完成的工作,都可以在Text Edit 标签页上完成。它们之间是对应关系,Edit 可视化的提供的按钮输入框,对于用户来说更容易知道我要怎么做;而在Text Edit 中只是一个空当当的文本,我们跟本不知道如何下手。

好在我们已经在Edit 中做了很多事情。切换到Text Edit 将会看到这些信息的展示。

或者切换到“D:\project\Educational\test_project1”目录下,通过记事本打开“Selenium2Library_库的关键字练习.txt”。

测试用例的本来面目也是这个样子的,只是在RIDE 中对它进行的“美化”。

其实在这个在Text Edit 下或第三方编辑器下编写Robot Framework 测试的效率要远远高于Edit 标签中的“填表格”式编写。读者可以在两种标签页之间切换来提高用例的开发效率。

1.4  Run 标签

3.4.1 导入库

下面是Run 标签的截图:

第一眼看上去,Run 标签提供了丰富的操作和日志。按照截图我们依次来说明Run 标签上的按钮和输入框的作用:

【Execution Profile】:选择运行方式,里面有pybot、jybot 和custom script。其中我们默认是用pybot来运行案例,pybot 的运行Python 编译器完成。jybot 需要安装Jython 的支持。custom script 是选择自定义的脚本来运行。

【Start和Stop】:用例的运行和停止。

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

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

【Arguments】:pybot 的参数(或者jybot 等),可以在这里输入pybot 的命令完成相应的操作。

【Only Run Tests with these Tags】:只运行这些标记的测试案例。

【Skip Tests with these Tags】: 跳过这些标记的测试案例。

下面的两个区域,中间区域记录用例的执行过程,底部的区域输出用例的执行结果。

3.4.2 运行与停止

在Run 标签页提供了运行与停止的按钮,使用很简单。点击“运行”按钮就可以运行,在C:\Python27\Lib\site-packages\robotide\run 目录下,有个process.py 文件,RIDE就是通过这个文件去执行测试的,大家如果想了解原理,可以去读下相关代码。

3.4.3 报告与日志

当用例运行结束,Robot Framework 生成三个文件:output.xml、log.html 和report.html。

output.xml 记录的测试结果是xml 文件,这个文件不够直观。根据特定的需要可以编写脚本读取xml文件并生成特定的测试报告。

相比较而言log.html 和report.html 报告要直观得多,因为是html格式。

查看log.html 文件,点击Run 标签而上的“Log”按钮,通过默认浏览器打开。

在log.html 文件中可以查看用例执行的每一步,适合跟踪定义问题。

查看report.html,点击Run 标签而上的“Report”按钮,通过默认浏览器打开。

report.html 用于最终结果的展示,适合了解测试用例的执行情况:测试了哪些模块,用例数、失败率等。

3.4.4 筛选执行用例

这一节来探讨一下,几中方式可以筛选要运行的运用例。

第一种:勾选

这种方法最简单和直观,要运行哪条用例就勾选哪一条。如果全部不勾选,点击“运行”按钮会运行所有用例。

也可以在“测试套件”上右键选择:

Select All Test:选择当前套件的所有用例。

Select Only Failed Test:选择当前套件下运行失败的用例。

Select Only Passed Test:选择当前套件下运行成功的用例。

对于一个测试套件下有几十上百个用例来说,这几选项将非常有用。

第二种:用命令

这就用到Run 标签中的Arguments 功能。

在Arguments 的输入框内输入“-t test_add_list”。点击“Start”按钮,只执行了-t test_add_list 这一条用例。

Arguments 能做的事情可不止于此。想了解更多多命令。可以在cmd.exe 下执行“pybot.bat --help”。

第三种:筛选标记

这种方式就非常有意思的,对于不同的人来说会有一些标记,比如某富二代的标记就是“任性”。对于用例来说也可以打上标记。比如“重要”、“一般”、“基础”等。

点击某个用例,你会看到“Setting>>”的按钮,点击按钮展开:

在最下面将会看到“Tags”的选项,在“<Add New>”的输入框内输入“v1.0”。这条用例就打上了版本“v1.0”的标记。

现在切换到Run 标签,我要运行带“v1.0”标记的用例了,如何去做了?这就要用到:

Only Run Tests with these Tags:只运行这些标记的测试案例。

Skip Tests with these Tags: 跳过这些标记的测试案例。

因为“test_add_list”被打上了“重要”的标记,所以它被执行了。

对于一个用例来说,我们可以为它添加多个标记。勾选“Skip Tests with these Tags”选项可以跳过某些标记的用例。

3.5  Settings

不管是测试套件还是测试用例都会有一个“Setting>>”的按钮,因为它默认是被折叠起来的,所以,一般不太容易发现它,更不知道点击它之后是可以展开的。

3.5.1 测试用例的Settings

点击测试用例上的“Settings>>”按钮,会看到下面的选项。

Documentation:用于描述用例的一个小文本,如果是URL 地址转换为可点击的链接。

Setup 和Teardown:如果你了解unittest 单元测试框架的话,一定对这两个单词不陌生。

setUp 用于设置初始化工作,在每一个测试用例前先被执行

tearDown 方法在每个测试方法执行后调用,这个方法用于完成测试用例执行后的清理工作,如执行

“close browser”关闭浏览器等。

TimeOut:用于设置用例的超时时间。如“1 min 10s”、“ 2 hours”等。

Template:指定模板使用的关键字。

Tags :用于给用例添加标记。在上一小节中有用到这个功能。

3.5.2 测试套件的Settings

这里的Setup 和Teardown 分测试套件的和测试用例的。“Suite Setup”和“Suite Teardown”用于当前套件的开始和结束所要做的事情。“Test Setup”和“Test Teardown”会作用于套件下每一个测试用例开始和结束所要做的事情。

Force Tags:表示当前测试套件下测试用例强制的标记。

Default Tags:表示当前测试套件下测试用例默认的标记。

时间: 2024-10-25 15:35:36

Robot framework(RF)基本使用的相关文章

Robot framework(RF) Builti,Screenshot和Collections标准库介绍

1.1  Builti标准类库 在学习一门编程语言的时候,大多教材都是从打印“hello world”开始.我们可以像编程语言一样来学习Robot Framework.虽然通过RIDE 提供“填表”一样的写测试用例的方式.但它却有着像编程语言一样的强大的关键字,以及可以开发关键字的扩展能力. Builti标准类库包含了很多最常用的关键字,下面就逐一介绍常用关键字的使用. 3.7.1 log 关键字 log 关键字就是编程语言里的“print”一样,可以打印任何你想打印的内容. 在log关键字测试

python+robot framework接口自动化测试

python+requests实现接口的请求前篇已经介绍,还有不懂或者疑问的可以访问 python+request接口自动化框架 目前我们需要考虑的是如何实现关键字驱动实现接口自动化输出,通过关键字的封装实现一定意义上的脚本与用例的脱离! robot framework 的安装不过多说明,网上资料比较太多~ 实例:!!!!! 步骤一:新建项目 测试项目可以目录或文件存储,格式可以用TXT,TSV或HTML格式, 建议项目选择目录和TXT,这样便于管理 步骤二:新建测试套 测试套与测试项目一样,也

Robot Framework自动化测试环境部署

文档版本:v1.0 作者:令狐冲 如有问题请发邮件到:[email protected] 使用Robot Framework框架(以下简称RF)来做自动化测试. 模块化设计 1.所需环境一览表 软件 版本 发布日期 用途 官方网站 ActivePython 2.7 很早以前 RF是基于Python语言的,ActivePython其实就是在Python官方安装包上加了一些有用的组件,如pip http://www.activestate.com/activepython Robot Framewo

Robot Framework自动化测试框架之我见

一些自动化测试现状: 盲目的去做自动化,最终以失败告终: 认为是能提高效率的事情,却推广不下去: 其实上述问题产生的原因是: 自动化测试案例稳定性不高,可维护性比较差: 自动化测试工具学习成本高,自动化测试人员的成本高: 而RF(Robot Framework,后面都简称RF)具备良好的分层思想,它将测试人员分为懂开发和不懂开发的,懂开发来负责底层关键字开发和维护,供不懂开发的测试人员调用,通过填写表格的形式用自言语言来写自动化测试用例.这样写出来的用例测试用例,大大增强了易读性和可维护性. R

Robot Framework 的安装和配置

Robot Framework 的安装和配置 在使用 RF(Rebot framework)的时候需要 Python 或 Jython 环境,具体可根据自己的需求来确定.本文以在有 Python 的环境的机器上安装和使用 RF 为例. 在配置过程中需要安装如下包:python 2.7.wxPython.robot framework.robot framework ride.robot framework selenium library. 安装 Python 2.7 RF 框架是基于 Pyth

如何编写Robot Framework测试用例1---(基本格式篇)

引子 我们使用符合Robot Framework规范的一种表格语法来编写测试用例.用例一般会是下面这个样子 这样的表格存储到一个文件中,就是一组测试用例.RF支持多种格式,如HTML,TSV,纯文本等.它们长相大同小异,其实描述的都是一种内容.为了方便,推荐使用RIDE这个用例的编辑工具来编写测试用例,这些文本在RIDE环境下被打开长得是一个样子的. 测试用例与文件的关系 一个文件被称作一个测试套件(Test suit),期间可以包含多个测试用例.上图就是一个测试套件,里面包含2个测试用例,My

Robot Framework自己主动化測试框架之我见

一些自己主动化測试现状: 盲目的去做自己主动化,终于以失败告终. 觉得是能提高效率的事情.却推广不下去: 事实上上述问题产生的原因是: 自己主动化測试案例稳定性不高,可维护性比較差: 自己主动化測试工具学习成本高,自己主动化測试人员的成本高: 而RF(Robot Framework,后面都简称RF)具备良好的分层思想.它将測试人员分为懂开发和不懂开发的,懂开发来负责底层keyword开发和维护,供不懂开发的測试人员调用,通过填写表格的形式用自言语言来写自己主动化測试用例.这样写出来的用例測试用例

Robot Framework 环境搭建--Mac

1.安装Python: 我安装的时python3.6 下载地址:https://www.python.org/ RF框架是基于python 的,所以一定要有python环境. 2.安装Robot framework : 目前最新版本是3.0.2,下载地址:https://pypi.python.org/pypi/robotframework/3.0.2 下载后解压,打开终端切换到解压目录下,然后执行 python setup.py install 安装. 3.安装 wxPython : 下载地址

Robot Framework 安装部署详解(原创)

Robot Framework安装时出现了一点小问题,网上没有找到直接的介绍,现将安装过程及解决方法记录如下: -------------------------------------------------------------------------------------------------------------- 下载下列安装文件并安装 -----------------------------------------------------------------------