Robot功能测试示例
在成功安装和建立测试项目以后,就可以利用testmanager和robot进行软件测试了。下面以一个windows自带的计算器测试例子,展示rational的功能。1. 启动robot,登录窗口默认用户名是admin,输入在建立测试项目时指定的密码(默认为空),即可进入robot主界面;
2. 点击工具栏上的GUI按钮,录制GUI脚本,在窗口中输入脚本名称;
3. 在GUI Record工具栏上点击第四个按钮,在GUI Inset工具栏点击Start Application按钮,点击browse…按钮,选择计算器程序;
4. 从键盘输入1+1=,然后在GUI Record工具栏上点击第四个按钮,在GUI Inset工具栏点击Alphanumeric校验点,选择第三项Numeric Equivalence;
5. 关闭计算器,点击GUI Record工具栏上的STOP按钮,完成脚本的录制;
录制完的脚本:
Sub Main
Dim Result As Integer
'Initially Recorded: 2003-7-189:30:45
'Script Name: 计算器
StartApplication "C:\WINNT\system32\calc.exe"
Window SetContext, "Caption=计算器", ""
InputKeys "1{+}1{ENTER}"
Result = LabelVP (CompareNumeric, "Text=2.", "VP=Alphanumeric;Value=200000")
Window CloseWin, "", ""
End Sub
这个脚本并不能正确回放,需要将
Result = LabelVP (CompareNumeric, "Text=2.", "VP=Alphanumeric;Value=200000")
改为:
Result = LabelVP (CompareNumeric, "Text=2.", "VP=Alphanumeric;Value=2.")
这样就可以点击工具栏上的回放按钮进行回放。
这个脚本只能验证一组数据,并不能体现出自动化测试带来的便利。需要对脚本进行手工修改,在脚本加入循环结构和数据池(DATAPOOL),这样就可以实现一个脚本测试大量的数据,脚本易于维护而且功能强大。
修改后的脚本如下:
'$Include "sqautil.sbh"
Sub Main
Dim Result As Integer
dim dp as long
dim x as integer
dim num1 as string
dim num2 as string
dim sum as string
'Initially Recorded: 2003-7-188:51:18
'Script Name: 计算器-2
StartApplication "C:\WINNT\system32\calc.exe"
dp=SQADatapoolOpen("jsq")
for x=1 to 5
Call SQADatapoolFetch(dp)
Call SQADatapoolValue(dp,1,num1)
Call SQADatapoolValue(dp,2,num2)
Call SQADatapoolValue(dp,3,sum)
Window SetContext, "Caption=计算器", ""
InputKeys num1 &"{+}"& num2 &"{ENTER}"
Result = LabelVP (CompareNumeric, "Text="& sum &".", "VP=Alphanumeric;Value="& sum &".")
next
Call SQADatapoolClose(dp)
Window CloseWin, "", ""
End Sub
注:SQADatapoolOpen("jsq"),jsq为数据池(DATAPOOL)名称,需要在testmanager中手工创建。
**经过简单的编辑后,测试时只需要将测试数据导入数据池(DATAPOOL)回放脚本即可,通过查看测试log检查哪些错误,在开始测试时就可以使用,而不是等到回归,也不是手工过程的简单重复。在测试之前,可以先准备好测试数据备用。
我在实际的测试工作中,功能测试的脚本大部分是基于此模式的,使用效果也很理想。
这个帖子我在测试管理中心也发过,有些网友反映不能正确回放。以上是我在windows2000专业版、rational2003上重新录制并正确回放的的。
欢迎大家交流。
[ Last edited by 海龙 on 2004-7-30 at 22:33 ] 对于dp你没有定义,
数据池如何定义的
你的jsq如何定义的,定义了几列,为什么对sum也定义一列
num1,num2在datapool中该取何种类型?String吗?
num1,num2在datapool中该取何种类型?String吗?为什么取出来都是一样的随机数据
sum能自动计算出来吗?
[ Last edited by ivy5156 on 2004-7-28 at 15:28 ] 我得也不能正常进行 取整型,设定不同的Seed就可以了。 如果都是自动生成的,当然也可以自己改动,如果我要随即100条数据,难道所有的 seed都要我自己写嘛 我的可以自动进行运算器的计算和测试,测试结果也是正确的的,但就是运行的很慢,是超慢,是为什么呢,希望大家多多指点啊 时间慢,你把robot的回放参数时间间隔修改一下!减少时间间隔,试验一下!
对“Robot功能测试示例”文章不明白的地方。请版主回答,谢谢!
1、dp要怎么定义?2、数据池jsq该怎么定义才行?
3、Call SQADatapoolValue(dp,1,num1)
Call SQADatapoolValue(dp,2,num2)
Call SQADatapoolValue(dp,3,sum)
这几个SQA语句中的1、2、3表示什么 1、dp要怎么定义?
dim dp as long
2、数据池jsq该怎么定义才行?
在testmanager中定义。
3、Call SQADatapoolValue(dp,1,num1)
Call SQADatapoolValue(dp,2,num2)
Call SQADatapoolValue(dp,3,sum)
这几个SQA语句中的1、2、3表示什么
从datapool中取第几个字段的值。 为什么提示 "varibale SQADatapoolOpen undefined',我已建立了JSQ数据池了,是不是数据池文件要放在哪个目录下才行
能帮解答:为什么把 dp设为 long类型
能帮解答:为什么把 dp设为 long类型 请教大侠:为什么我录制的脚步是这样的?Sub Main
Dim Result As Integer
'Initially Recorded: 2004-11-413:21:58
'Script Name: 计算器
StartApplication "C:\WINNT\system32\calc.exe"
Window SetContext, "Caption=计算器", ""
InputKeys "1{+}1{ENTER}"
Window SetContext, "Class=Shell_TrayWnd", ""
TabControl Click, "ObjectIndex=1;\;ItemIndex=3", ""
End Sub
点停止按钮后提示:there isno text in field or field cannot be read.
这是那里没有配置好呀? 请海龙版主或各位大侠帮忙指点以下! Result = LabelVP (CompareNumeric, "Text="& sum &".", "VP=Alphanumeric;Value="& sum &".")
如果text和value的值都从datapool中取的话,那比较的结果也没有什么意义啊? 还是不行~~~ Originally posted by gezi68705 at 2004-11-4 01:29 PM:
请教大侠:为什么我录制的脚步是这样的?
Sub Main
Dim Result As Integer
'Initially Recorded: 2004-11-413:21:58
'Script Name: 计算器
StartApplication "C:\WINNT\system32\ ...
我也是这个问题,该怎么解决呢?脚本里根本没有检测点啊 原来是检测点没选对象引起的,现在好了
请问海龙?
我用rational2002录制的脚本和你的一样,只有一处你的:Result = LabelVP (CompareNumeric, "Text=2.", "VP=Alphanumeric;Value=200000")
我的:Result = LabelVP (CompareNumeric, "ObjectIndex=1","VP=Alphanumeric;Value=200000")
第一次按我的回放,“pass”。可建了datapool后,这里我就不知道怎么改了。
同时我按你那个例子,在datapool见建了3列,num1、num2、sum,分别添了数据。可回放出错。下面是我的脚本,麻烦看看。
'$Include "sqautil.sbh"
Sub Main
Dim Result As Integer
dim dp as long
dim x as integer
dim num1 as string
dim num2 as string
dim sum as string
'Initially Recorded: 2005-1-259:06:14
'Script Name: data1
StartApplication "C:\WINNT\system32\calc.exe"
dp=SQADatapoolOpen("jsq")
for x=1 to 5
Call SQADatapoolFetch(dp)
Call SQADatapoolValue(dp,1,num1)
Call SQADatapoolValue(dp,2,num2)
Call SQADatapoolValue(dp,3,sum)
Window SetContext, "Caption=计算器", ""
InputKeys num1 &"{+}"& num2 &"{ENTER}"
Result = LabelVP (CompareNumeric, "ObjectIndex=1", "VP=Alphanumeric;Value="& sum &".")
next
Call SQADatapoolClose(dp)
Window CloseWin, "", ""
End Sub