51Testing软件测试论坛

标题: 关于webCheckBox对象name属性自动变化引起问题 [打印本页]

作者: simeng2006    时间: 2007-4-2 15:40
标题: 关于webCheckBox对象name属性自动变化引起问题
在QTP8.2自带的预定航班的系统中,我录制了预定一个航班到删除该航班的过程.
结果发现回放失败,原因是在删除航班的页面,对象WebCheckBox中的用来唯一标识对象的Name属性
在每次回放过程中都自动取不同的值,且该属性值中的数字编号与数据库中的ID字段对应,
比如录制时脚本如下:
   Browser("Itenerary: Mercury Tours").Page("Itenerary: Mercury Tours").WebCheckBox("flight_164").Set "ON"
在回放时WebCheckBox的Name属性值由flight_164自动变为flight_165了,依次类推...而先前的对象在录制时随着
预定的航班被删除也被删除了,这样回放时自然找到不匹配的对象了,请问有什么办法可以让回放通过,又能保证每次
回放时删除的航班就是我预定的那个航班. 谢谢了!
作者: xiaonan    时间: 2007-4-2 16:09
你要把WebCheckBox参数化,啊
作者: simeng2006    时间: 2007-4-2 17:54
参数化没用的,从那句脚本也可以看出来,它执行的操作是set,对应的值是ON和OFF,当然你可以在检查点属性中对name进行参数化,
但这样仍是找不到识别的对象呀
问题是每回放一次,生成了一个新的对象了,必须添加新的对象才能通过,而不是更改对象属性便可以的.
作者: henhenchen    时间: 2007-4-2 21:03
标题: 回复 #3 simeng2006 的帖子
凡是是动态变化的.一般只能用DP(descriptive programming) 都能实现. 在QTP8.2自带的预定航班的系统中和9.0 的好象不一样.他的网站是什么. 我来试试看
作者: allrounder    时间: 2007-4-4 21:49
呵呵,使用childobject函数即可。你可以通过childobject函数的count方法得到当前有多少张票可以cancel。然后可以随机选择其中的几张来取消。当然childobject需要与description对象联合起来用。
作者: meizi1984330    时间: 2007-5-10 15:53
我也存在此问题啊,添加记录,但是记录随机存放,我想删除我刚刚添加的记录,怎么才能找到?如果找不到会把别人的记录删除,
作者: wangxinwen    时间: 2007-5-11 09:29
我觉得添加得记录属性中,肯定记录的某个属性值和WebCheckBox有相关连的地方,找找看看




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