Robot-Framework框架 下载本文

内容发布更新时间 : 2024/11/14 15:27:31星期一 下面是文章的全部内容请认真阅读。

Robot Framework是一个通用的自动化测试框架。这是系列文章中的第一篇,重点在全面介绍该框架。你可能可以搜索到很多关于robot框架的文章,但是都比较零散,不成体系。推出这个系列的意图是为了在这个话题上给出一个更结构化的视图,并且同时会包含一些已存在的文章便于构建更打的视图。 请注意,这第一篇文章几乎没有包含任何实现的干货,而是一介绍整体概念为主,只有为后续文章做一些铺垫。

什么是自动测试框架?

由于介绍自动测试框架不是本文的主题,我们只简单介绍一下。所谓自动测试框架就是为了使测试自动化而开发的各种工具的集合,通常包括测试用例执行、测试报告生成、测试计划管理,以及各种接口、各种脚本支持等等。有些自动化测试框架的功能更加宽泛,还包括测试用例管理、测试计划管理、需求管理、bug管理、版本管理、并发的任务执行等等。

自动化测试基本框架

最小话的测试框架设计*

上图表示的是一个非常基本的自动化测试框架。一个能够执行测试、能够生成测试报告的核心系统,并且预留出插件接口,允许开发专用的测试功能。这样的插件结构保证插件的开发可以变得比较简单。在robot framework中,可以允许使用非常多的不同语言开发插件。 在详细介绍robot framework的结构之前,接下来我们要先讨论keyword-driven testing。

什么是keyword-driven testing?

一个keyword是一个可以被用于测试SUT(System under Test)的功能或者一个方法。一个keyword可以被另外一个keyword定义,也就是说keyword是分层次的:

?

高层次keywords: 反映SUT的某个具体的业务逻辑。

?

低层次keywords: 将一个高层次keyword分解为一些低层次keyword,低层次的keyword是高层次keyword的具体实现。

?

技术keywords: 提供技术实现以访问并测试SUT。

下面引用一副图×来说明一下:

嵌套的keyword定义

下面让我们看一个实际的例子:

googlesearch keyword

上面的keyword定义来自Selenium Library的Google Search KeyWord定义. 也就是说已经有许多定义到的keywords存在了,我们叫这些预先定义好的keywords为测试库(Test Libraries)。

Robot Framwork 概述

Robot Framework的安装包包含核心框架以及一套标准库。另外,还有许多外部库

(additional external Test Libraries)。这些外部库由robot framework的社区提供,服务于各种不同目的。可以随意将所有的keyword和不同的库混合使用。比如你可以用selenium库的keywords写一个测试web应用的例子,甚至可以远程的控制浏览器执行测试用例,同时使用数据库库去检查某些操作的结果。甚至不需要写一行代码,只需组合现有的keyword,用他们定义出一个高级别keyword即可。

Robot Framework还提供了一个图形界面的的开发工具(RIDE),用于帮助开发和管理测试用例。但是,测试库中的技术keyword是不能使用RIDE开发的。因为测试库中的keyword必须与其开发语言所使用的IDE紧密结合,如使用java语言开发测试库时,eclipse通常是一个选择。测试用例的集合叫做Testsuites,测试用例保存在Resource Files中,这就构成了Robot Framework的三层开发架构。

? Testsuites: 测试用例(或检查点)在这里被实现。每一个项目至少有一个testsuite。在大一点的项目中,不同的测试功能会被放入不同的Testsuite。

? Resource Files: 定义高级别的keywords。Resource Files是可以复用的。