软件测试工具Robot中使用脚本调用
使用Rational Robot 录制操作生成脚本是很容易的事情,但如何管理脚本,减少脚本对程序和对其他脚本的依赖却是很值得探讨的,这需要自动化测试人员对脚本整体结构有一个很好的计划,同时还需要对被测软件的功能模块,业务重点划分明细。
下面举一个简单的例子,用Robot打开一个记事本并输入内容保存,其中“打开”与“输入、保存”的操作是通过脚本调用实现,Robot对窗体Caption的定位提到头文件中作统一处理,同时对输入、保存的内容数据使用Datapool,现来看一下脚本,之后我会对其中一些语句做简单解释:
主脚本 main:
'$include "sqautil.sbh" '调用Datapool时必须事先声明一下这个头文件
declare sub notepadinput basiclib "notepadinput"(m as string,n as string)
'声明这个主脚本里要call的sub(或function)名称和所在脚本的名称,及参数
Sub Main 'Initially Recorded: 2006-11-10 8:51:51 |
===========================================================================
子脚本 notepadinput::
'$include "notepadheader.sbh"
'调用头文件,头文件中统一处理窗体Caption定位问题
Sub notepadinput(m as string,n as string) |
==================================================================================
头文件 notepadheader.sbh:
const winname as string = "Caption={* - 记事本}"
'一般头文件中定义常量并赋值,这里Caption使用通配符,可以定位所有窗体
==================================================================================
Datapool
在TestManager中新建一个Datapool,名字为notepaddp,新建两列五行(数值属性为string),自己编辑数值即可
==================================================================================
其实Robot中脚本调用和Datapool还是很简单的,因为他的语句都很固定,只要设置正确运行不会有问题。
脚本和输入数值的分离度越高,对于脚本的维护越方便,因为当被测程序变动或你打算输入不同测试数值时只需修改一个地方即可。上面的这个程序是很简单的一个例子,但相信其中用到的方法对新学Robot的人还是比较有帮助的。如果有问题,欢迎大家多多讨论:)