51Testing软件测试论坛

标题: QTP删除列表数据的操作回放时报错 [打印本页]

作者: krinin    时间: 2007-12-1 12:45
标题: QTP删除列表数据的操作回放时报错
使用QTP工具对一个列表中(一共有10条数据)的最后3条数据进行删除操作进行录制
假设勾选并选中最后三条数据前的复选框,点击删除按钮,最后3条数据执行删除操作。
当以上动作录制完成后并回放,此时由于录制时候的操作造成数据只有7条,但录制的时候是在10条数据的基础上录制的。
此时QTP无法在只有7条数据的基础上删除3条数据。请问一般这种情况怎么处理啊


[ 本帖最后由 walker1020 于 2007-12-2 12:07 编辑 ]
作者: gaoyoumei    时间: 2007-12-1 14:25
呵呵,自动化测试的时候,数据的一致性是很必要的,录制的时候是什么要的数据,那么回放的时候,也得是 这样的数据,可以有以下两种解决方法,
     一:录制完删除脚本以后,再追加一个恢复被删除数据的脚本,在脚本录制完成以后,使数据还是保持10条.
    二:在录制完删除脚本以后,对删除脚本部分进行编程实现,每次取最后或者最前面三条数据.
作者: 板砖    时间: 2007-12-1 14:30
这种问题与工具本身无关,与测试策略有关.
作者: krinin    时间: 2007-12-1 14:56
二:在录制完删除脚本以后,对删除脚本部分进行编程实现,每次取最后或者最前面三条数据
用什么方法取最后三条数据呢?
作者: walker1020    时间: 2007-12-2 12:11
先得到列表 的数据(应该是记录)的总数,假设为N,然后取 序列号为 N,N-1,N-2的记录就可以了。当然,你要保证N >3。 这是思路,具体的代码由你自己去实现了
作者: walker1020    时间: 2007-12-2 12:16
只有 QTP报错的Error Message,没有看到你的一点代码,实在是很难帮你。
作者: krinin    时间: 2007-12-3 10:16
原帖由 walker1020 于 2007-12-2 12:16 发表
只有 QTP报错的Error Message,没有看到你的一点代码,实在是很难帮你。


这个是运行时候的代码
Browser("goldcity").Page("goldcity").Frame("leftFrame").Link("商店管理").Click
Browser("goldcity").Page("goldcity").Frame("leftFrame_2").Link("公司经营行业管理").Click
Browser("goldcity").Page("goldcity").Frame("mainFrame").WebCheckBox("chk").Set "ON"
Browser("goldcity").Page("goldcity").Frame("mainFrame").WebCheckBox("chk_2").Set "ON"
Browser("goldcity").Page("goldcity").Frame("mainFrame").WebButton("删除选定项").Click
Browser("goldcity").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
下面是运行完成后,运行结果的截图
作者: asiqin1229    时间: 2007-12-11 12:14
此问题解决了吗?我也遇到同样的问题
作者: jackymail    时间: 2007-12-11 13:42
得到包含这个checkbox的表对象,得到表的最大行数,从最后一行开始删除,执行三次。

Total=Browser("b").Page("p").Frame("f").WebTable("Name").RowCount
For i=1 to 3
Set CB=Browser("b").Page("p").Frame("f").WebTable("Name").ChildItem(Total,1,"WebCheckBox")
Total=Total-i
CB.Set "ON"
Next
'Perform Removing manipulation.
'Browser("goldcity").Page("goldcity").Frame("mainFrame").WebButton("删除选定项").Click
'Browser("goldcity").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
作者: walker1020    时间: 2007-12-11 22:26
楼主可以学习一下jackymail 在 9#的代码,自己去实现吧。
作者: walker1020    时间: 2007-12-11 22:27
非常感谢 jackymail 的友情支持!
作者: walker1020    时间: 2007-12-11 22:36
楼主提到的问题是一个比较典型的问题,有一定的普遍性和代表性。这个例子说明,使用QTP进行测试,录制完脚本并不表示万事大吉了,你还要完善脚本,考虑到各种可能性,还要考虑到脚本的茁壮性(修改脚本以使得脚本在系统不稳定的情况下也能运行),还要在深入理解被测系统的基础上增加某些必要的操作或处理,等等。

[ 本帖最后由 walker1020 于 2007-12-11 23:26 编辑 ]
作者: walker1020    时间: 2007-12-11 23:26
录制脚本只是 使用QTP进行测试的中间的一步,在这前面有分析Test Case、配置和准备测试环境等工作,在后面有完善脚本、分析测试结果等重要工作。 一个有经验的QTP用户的价值就在于此。
作者: walker1020    时间: 2007-12-11 23:27
工具只是代替你完成 点击鼠标等手工操作,还有许多是工具无法代替的,如测试结果分析。
作者: zhou840401    时间: 2007-12-12 10:16
少用录制,多用编程的来考虑.不用一上来就录个不停,编写脚本跟做开发的都是差不多的,我觉得.
作者: caodongjian    时间: 2007-12-12 15:59
#9
1)可以同时选择3个checkbox吧
2)也可以删除三次一次选择一个
作者: ddkfamily    时间: 2009-2-14 16:13
谢谢9楼的朋友 正在为这个事情发愁呢
作者: Longjiahuan    时间: 2011-7-5 20:11
我也在为这个事发愁




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2