一、Robot Framework简介
在搭建Robot Framework环境之前,先对Robot Framework进行扫盲。
Robot Framework是个通用的自动化测试框架,那什么是自动化测试框架呢?
如果你已经对自动化测试有了一些经验,例如使用了一些其他的自动化工具,那你可能可以安全的掠过这一部分了,否则我更想从一个简短的相关问题谈起:什么是自动化测试?它和手工执行的测试有什么区别呢?Micheal Bolton写的一篇博客给出了非常好的答案,我们可以把它概括成下面这句话:
检查是机器就能干的,测试需要人的智慧。
请注意,在后续讨论自动化测试的时候,我们仍将使用“检查”和“测试”这两个术语。
让我们来看一些保险公司的评价引擎这样的具体例子。他们都会对特定的输入参数(数字)进行计算。这显然是一个好的例子,当我们知道算法的时候,我们可以做很多“检查”,而判别算法本身是否正确和明显的需要人的智慧!
假设我们有一个基于一些数据库表和批处理程序的接口:向一张表插入数据,执行算法,并且在另一张表查看结果。
现在我们需要一些基本的测试脚本来开始工作(依据人们的偏好,实现的形式可能是Shell、Perl、Java或者其他任意形式)。另外,我们还需要一些基本的测试功能。访问数据库表,执行另一个脚本,以某种报表的形式返回结果。完成这些后,我们可以同样开始实现我们的检查了。现在我们基本上一家说出来一个典型的自动化框架需要提供的组件。
上图画的是一个非常简单的自动化测试框架。一个能够执行测试脚本的核心系统(a core system),核心系统还可以做一些报表工作,可以提供一个把自定义的测试功能插入的接口。新功能加入的相关工作越简单越好。当然这会引发一个基本问题:当使用一个特定测试框架时,我该使用哪种语言实现我的测试功能(插件)呢?我将会在后面详细的回答这个问题,但是现在我们可以说Robot