krinin 发表于 2007-12-1 12:45:58

QTP删除列表数据的操作回放时报错

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

[ 本帖最后由 walker1020 于 2007-12-2 12:07 编辑 ]

gaoyoumei 发表于 2007-12-1 14:25:17

呵呵,自动化测试的时候,数据的一致性是很必要的,录制的时候是什么要的数据,那么回放的时候,也得是 这样的数据,可以有以下两种解决方法,
   一:录制完删除脚本以后,再追加一个恢复被删除数据的脚本,在脚本录制完成以后,使数据还是保持10条.
    二:在录制完删除脚本以后,对删除脚本部分进行编程实现,每次取最后或者最前面三条数据.

板砖 发表于 2007-12-1 14:30:37

这种问题与工具本身无关,与测试策略有关.

krinin 发表于 2007-12-1 14:56:37

二:在录制完删除脚本以后,对删除脚本部分进行编程实现,每次取最后或者最前面三条数据
用什么方法取最后三条数据呢?

walker1020 发表于 2007-12-2 12:11:18

先得到列表 的数据(应该是记录)的总数,假设为N,然后取 序列号为 N,N-1,N-2的记录就可以了。当然,你要保证N >3。 这是思路,具体的代码由你自己去实现了

walker1020 发表于 2007-12-2 12:16:52

只有 QTP报错的Error Message,没有看到你的一点代码,实在是很难帮你。

krinin 发表于 2007-12-3 10:16:12

原帖由 walker1020 于 2007-12-2 12:16 发表 http://bbs.51testing.com/images/common/back.gif
只有 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:52

此问题解决了吗?我也遇到同样的问题

jackymail 发表于 2007-12-11 13:42:57

得到包含这个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:24

楼主可以学习一下jackymail 在 9#的代码,自己去实现吧。

walker1020 发表于 2007-12-11 22:27:20

非常感谢 jackymail 的友情支持!

walker1020 发表于 2007-12-11 22:36:22

楼主提到的问题是一个比较典型的问题,有一定的普遍性和代表性。这个例子说明,使用QTP进行测试,录制完脚本并不表示万事大吉了,你还要完善脚本,考虑到各种可能性,还要考虑到脚本的茁壮性(修改脚本以使得脚本在系统不稳定的情况下也能运行),还要在深入理解被测系统的基础上增加某些必要的操作或处理,等等。

[ 本帖最后由 walker1020 于 2007-12-11 23:26 编辑 ]

walker1020 发表于 2007-12-11 23:26:11

录制脚本只是 使用QTP进行测试的中间的一步,在这前面有分析Test Case、配置和准备测试环境等工作,在后面有完善脚本、分析测试结果等重要工作。 一个有经验的QTP用户的价值就在于此。

walker1020 发表于 2007-12-11 23:27:38

工具只是代替你完成 点击鼠标等手工操作,还有许多是工具无法代替的,如测试结果分析。

zhou840401 发表于 2007-12-12 10:16:23

少用录制,多用编程的来考虑.不用一上来就录个不停,编写脚本跟做开发的都是差不多的,我觉得.

caodongjian 发表于 2007-12-12 15:59:37

#9
1)可以同时选择3个checkbox吧
2)也可以删除三次一次选择一个

ddkfamily 发表于 2009-2-14 16:13:06

谢谢9楼的朋友 正在为这个事情发愁呢

Longjiahuan 发表于 2011-7-5 20:11:20

我也在为这个事发愁
页: [1]
查看完整版本: QTP删除列表数据的操作回放时报错