51Testing软件测试论坛

标题: 求救QTP控件名称变量化的问题 [打印本页]

作者: chooseyou123    时间: 2009-7-17 17:00
标题: 求救QTP控件名称变量化的问题
Dim j
j = 1
While j<FindCount
   Browser("Browser").Page("电力营销业务应用系统").Frame("PageFrame_3").WebCheckBox("rcvblAmtbox_" &j&).Set "ON"
   j = j+1
Wend

其中WebCheckBox的名称我要变量化,比喻说:随着循环,被识别为:WebCheckBox_1,WebCheckBox_2....
我在网上看了人家这样写,("rcvblAmtbox_" &j&).可是不行
我这运行到这的时候直接提示"rcvblAmtbox_" &j& 这个控件不能别识别
我试过:"rcvblAmtbox_" &j&"",  "rcvblAmtbox_&j&",..都不行
请高手帮忙。急。。
感激不尽
作者: chooseyou123    时间: 2009-7-17 17:04
定一个
作者: fei.ge    时间: 2009-7-17 17:11
用描述性对象编程的方法

WebCheckBox("name:=rcvblAmtbox_" &j)
作者: chooseyou123    时间: 2009-7-17 17:23
顶一个

[ 本帖最后由 chooseyou123 于 2009-7-17 17:26 编辑 ]
作者: chooseyou123    时间: 2009-7-17 17:24
版主还是不行啊。
我是按照你那么写的: Browser("Browser").Page("*****").Frame("PageFrame_3").WebCheckBox("name:=rcvblAmtbox_" &j).Set "ON"

错误提示
[attach]54088[/attach]
作者: ls_721521    时间: 2009-7-17 17:29
用spy看看属性,哪个属性值是rcvblAmtbox?
但这样写估计不行了,用index加编号吧。。如:WebCheckBox("属性:=rcvblAmtbox","index:="&j)
作者: chooseyou123    时间: 2009-7-17 17:39
唉,这个问题把我搞崩溃了。。
按照is_721521的方法还是不行。
我用spy查看了,奇怪所有的checkbox的name居然是rcvblAmtbox,但是我手动录制的时候明明是:rcvblAmtbox_后面加数字的。郁闷。
找不到这个控件:
提示: "name:=rcvblAmtbox","index:="&j).Set "ON"
连j都识别不了
作者: ls_721521    时间: 2009-7-17 17:46
晕。。。。。。。

rcvblAmtbox后面的数字是qtp给你加上的编号。
找上面写的思路是对的,你再仔细debug一下。。
作者: ls_721521    时间: 2009-7-17 17:47
另外index的编号是从0开始的。
作者: ermine    时间: 2009-7-17 18:47
rcvblAmtbox后面带_是因为录制的时候,名字重复,QTP为了区分,自己加的。
你可以用index,或者x,y的坐标来定位你要找的东东
作者: chooseyou123    时间: 2009-7-17 20:00
感谢楼上几位战友的热心帮助,问题已经解决。
是我的粗心导致。
我把那个控件所属的 frame 名称搞错了,直接拷贝过来的。
特别感谢下 LS的提示。




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