收藏本站 收藏本站
积木网首页 - 软件测试 - 常用手册 - 站长工具 - 技术社区
软件测试 > Robot > 正文

首页 | 领域细分: 游戏测试 安全测试 手机测试 Web测试 | 技术研究: 单元测试 入门教程 用例设计 性能测试 功能测试 | 测试职场: 面试精选 职场发展 面试试题

测试管理: 配置及流程 - 需求管理 - 质量验收 - 缺陷管理 - 其它管理相关 | 开发语言: PHP技巧 - PHP基础 - PHP实例 - PHP错误代码

测试工具: LoadRunner JiRa QuickTestPro RoBot WinRunner TestDirector 其它测试工具 | 数据库: Mysql数据库 Oracle数据库 CSS/DIV基础 HTML基础

软件测试工具Robot中使用脚本调用

来源:互联网 日期:2012-07-31 11:00

软件测试工具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)名称和所在脚本的名称,及参数 cccccc cellSpacing=0 cellPadding=1 width="80%" align=center bgColor=#ffffff border=1 heihgt="">

Sub Main
Dim Result As Integer

'Initially Recorded: 2006-11-10 8:51:51
'scrīpt Name: main
Dim x as integer
Dim m as string
Dim n as string
Dim dp as long
StartApplication "C:WINDOWSsystem32notepad.exe"
dp=SQADatapoolopen("notepaddp") '打开Datapool,名字为notepaddp
for x = 1 to 5 '循环,Datapool就像一个excel表,这个循环就是从不同行里取值
call SQADatapoolfetch(dp) '移动Datapool里的指针
call SQADatapoolvalue(dp,1,m) '从第一行第一列里取值赋给m
call SQADatapoolvalue(dp,2,n) '从第一行第二列里取值赋给n
call notepadinput(m,n) '将m,n作为参数传递给notepadinput,记得脚步开始处的那个delcare吧
next '循环
call SQADatapoolclose(dp) '关闭Datapool
End Sub

===========================================================================
子脚本 notepadinput::

'$include "notepadheader.sbh"

'调用头文件,头文件中统一处理窗体Caption定位问题

Sub notepadinput(m as string,n as string)
Dim Result As Integer
'Initially Recorded: 2005-7-17 20:08:01
'scrīpt Name: notepadinput
Window SetContext, winname, "" '本行中的winname就是在头文件中处理的Caption
EditBox Click, "ObjectIndex=1", "Coords=52,17"
InputKeys m '输入m中的数值
MenuSelect "文件(F)->另存为(A)..."
Window SetContext, "Caption=另存为", ""
ComboEditBox Left_Drag, "ObjectIndex=3", "Coords=85,9,-77,23"
InputKeys n '保存名称为n中的数值
PushButton Click, "Text=保存(S)"
End Sub

==================================================================================

头文件 notepadheader.sbh:

const winname as string = "Caption={* - 记事本}"

'一般头文件中定义常量并赋值,这里Caption使用通配符,可以定位所有窗体

==================================================================================

Datapool

TestManager中新建一个Datapool,名字为notepaddp,新建两列五行(数值属性为string),自己编辑数值即可

==================================================================================

其实Robot中脚本调用和Datapool还是很简单的,因为他的语句都很固定,只要设置正确运行不会有问题。

脚本和输入数值的分离度越高,对于脚本的维护越方便,因为当被测程序变动或你打算输入不同测试数值时只需修改一个地方即可。上面的这个程序是很简单的一个例子,但相信其中用到的方法对新学Robot的人还是比较有帮助的。如果有问题,欢迎大家多多讨论:)

本周排行

别人正在浏览

强悍的草根IT技术社区,这里应该有您想要的!
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP备05050695号