RobotFramework框架 下载本文

实用标准文档

? Test Library: 每一个technical keyword需要一个新的Test Library实现。但是除非你用的是非常特出的技术,一般来说不需要写新的technical keywords。而且实现一个Test Library并不费力。

必须强调,当使用keyword时,无论使用本地实现的Test Library还是使用现存的keywords组合,没有任何区别。

Robot Framework和他的核心库是Python写成的. 所以Robot Frameword天然支持

Python。通过Jython,我们可以使用java来实现Test Library,或者甚至任何能够通过Java调用的语言。通过IronPython,Robot Framework可以和.NET集成。

可能的安装是:

远程库(Remote Libraries)

文案大全

实用标准文档

远程库使我们可以在没有安装Robot Framework的机器上运行测试库(Test Library),并且只要支持XML-RPC的语言就可以编写测试库。

远程库与普通的库的使用没有很大区别,除了在测试用力或者资源文件的导入方式上。RIDE同时也支持远程库。如果想学习远程库的开发,可以参看数据库库(Database Library)。远程库的功能实际上是一个测试库的addon提供的,另外,远程库启动后,成为一个server,而robot framework作为client去连接的它。

当使用Robot Framework创建一个新的工程时,首先我们可能需要思考以下几个问题:

1. 使用哪种编程语言:Python、Jython还是Java? 2. 测试脚本应该使用哪种格式(HTML、TEXT、BDD)? 3. 是否需要使用Robot IDE(RIDE)? 4. 如何在本地或CI环境上执行测试?

文案大全

实用标准文档

5. 如何执行测试(scripting、ANT、Maven)? Robot Framework提供给我们很多的设置选择,那么,应该如何取舍?当然,你可以在Eclipse中使用Maven开始Robot测试,然后使用BDD格式编写你的测试用例(比使用HTML格式更加灵活),这是一个很不错的方式。

但是我们的核心思想是:简明!

那么,让我们一起来创建一个简明且稳定的Robot Framework工程……

2.1 初步思考

在新建Robot Framework工程前,我们要分析被测系统需要使用哪些测试库。来看几个例子:

web程序测试:我们需要导入SeleniumLibrary或者Selenium2Library 数据库测试:可以使用Database库(Python或者Java) SSH/SFTP测试:可以尝试SSHLibrary库

除了上述例子外,还有许多其他测试库。如果现有库无法满足你的测试要求,你可能需要编写一个自定义库文件。

测试库的选择很重要,因为你在部署Robot Framework之前所安装的编程语言环境(Python或Jython/Java),将直接影响你可选择测试库的范围。不过,你也可以在Python环境中使用远程库接口调用Java的测试库。

文案大全

实用标准文档

让我们设想一下,有一个使用数据库的web应用程序例子。为了让例子看上去尽可能像一个web被测应用,我们将用google和本地MySQL数据库为例。该实例将展示如何混合使用多个不同的测试库(本例中使用

SeleniumLibrary和DatabaseLibrary),并同时使用DatabaseLibrary的远程库功能。

Tip:本章的完整的示例源码可以从GitHub下载

2.2 测试部署结构

下图展示了测试部署结构的模型:

文案大全

实用标准文档

概述

Selenium通常需要一个Server。你可以把Server和Robot Framework部署在同一台机器上,也可以部署在任何一台通过TCP/IP协议连接的计算机上。DatabaseLibrary也是一样,DatabaseLibrary运行需要RPC。

文案大全