51Testing软件测试论坛

标题: SetTOProperty 后能得到运行时属性吗 [打印本页]

作者: circulate    时间: 2008-1-2 17:03
标题: SetTOProperty 后能得到运行时属性吗
因为web应用中有多个webcheckbox,需要得到所有的checkbox是否被选中,来进行正确性的判断,但是如果把所有的webcheckbox录制下来再判断不太现实,因为太多了。
所以有尝试只录制一个webcheckbox,再用SetTOProperty将webcheckbox参数化,然后用GetROProperty得到其运行时属性。但是发现结果是得不到运行时的属性,用SetTOProperty 参数化后似乎只能对对象进行一些操作,但是得不到相应对象的属性。

例如我要得到的是user2的checkbox是否被选中的属性

Browser("").Page("").WebCheckBox("user1").SetTOProperty "name","user2"
Ischecked= Browser("").Page("").WebCheckBox("user1").GetROProperty("checked")

这个问题坛子里有人问过,但是有办法解决这个需求吗?
作者: hsjzfling    时间: 2008-1-2 17:37
貌似WebCheckBox都会使用Index识别属性的吧,同一组WebCheckBox的强制属性应该都是一样的。。。
用QTP来测QTP。。。汗一个~
建议lz再整理下思路~
作者: hsjzfling    时间: 2008-1-2 17:43
不过纯理论上来说
Browser("").Page("").WebCheckBox("user1").SetTOProperty "name","user2"
Ischecked= Browser("").Page("").WebCheckBox("user1").GetROProperty("checked")
这样做应该是可以得到值的
前提条件是其它的代码没有问题
作者: jackymail    时间: 2008-1-2 17:52
本身的方法应该可行,自己检查哪里出错。另外可以用childobject收集所有checkbox然后处理。
作者: circulate    时间: 2008-1-2 18:05
本身确实可以得到值,但是得到的仍然是user1的属性而不是user2的属性。
用同样的方法参数化link,并且实现click多个link是可以的,就是进行操作可以,但是得到属性值,始终不行。
我试试看ChildObjects Method
作者: jackymail    时间: 2008-1-2 18:13
原帖由 circulate 于 2008-1-2 18:05 发表
本身确实可以得到值,但是得到的仍然是user1的属性而不是user2的属性。
用同样的方法参数化link,并且实现click多个link是可以的,就是进行操作可以,但是得到属性值,始终不行。
我试试看ChildObjects Method

那是不可能的,Browser("").Page("").WebCheckBox("user1").SetTOProperty "name","user2" 这个方法要确定没有用错行,做一下check动作,如果check的是user1就是用错了。具体看SetTOProperty 帮助。
作者: circulate    时间: 2008-1-2 18:52
谢谢大家的帮忙,问题解决了。
原来代码确实没有问题,是因为我在实际中设置name值时因为要连接好几个运行中得到的变量,不小心多输入了一个空格,导致QTP没有正确的识别。
另外也是因为对SetTOProperty能不能做到这个需求没有信心。jackymail给了我这个信心,把问题找了出来。




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