51Testing软件测试论坛

标题: 俺研究一下之前,关于描述方法的遍历 [打印本页]

作者: xiaoan_2131    时间: 2008-9-23 17:59
标题: 俺研究一下之前,关于描述方法的遍历
Dim desc,descNum,id,GetdescNum
Set desc=Description.Create()
desc("name").value="outFlight"
Set descNum=Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").WebRadioGroup(desc)
set GetdescNum=desNum.count(方法错误)
For i=0 to getdescNum
        descNum.click

Next

看起来没有问题,不知道为什么总是提示错误
思路应该没有问题
作者: 假装不在    时间: 2008-9-23 18:13

给我一个你要循环i的理由吧?!
你莫名其妙用了i的循环然后又不做什么操作?为什么?
For i=0 to getdescNum-1
        descNum(i).click
Next
作者: rcpp    时间: 2008-9-24 09:50
set GetdescNum=desNum.count
当然方法错误了!desNum是WebRadioGroup类型的web对象,又没有count方法的
lz想要做什么呢?
是想取出很多个WebRadioGroup来循环
还是想知道WebRadioGroup里有多少选项?
作者: xiaoan_2131    时间: 2008-9-24 10:06
原帖由 rcpp 于 2008-9-24 09:50 发表
set GetdescNum=desNum.count
当然方法错误了!desNum是WebRadioGroup类型的web对象,又没有count方法的
lz想要做什么呢?
是想取出很多个WebRadioGroup来循环
还是想知道WebRadioGroup里有多少选项?

我当然是想取到这desNum的数量总数啊,比如有五个相同的对象,然后for循环就可以第一个到最后一个,一个一个点击,测试WebRadioGroup是否有效,不过我有个前提啊,所有的WebRadioGroup对象属性都是一样的,所以想看看能不能用描述性编程的方法来做,就是我上面的,不知道说清楚了没……
作者: rcpp    时间: 2008-9-24 10:16
那就用ChildObjects来做
作者: rcpp    时间: 2008-9-24 10:18
Set descNum=Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").ChildObjects(desc)
另外,如假胸所说
descNum.click好歹也给个descNum(i).click
不然循环干啥
况且descNum是对象集合,也不能click的
作者: gjay1688    时间: 2008-9-24 10:55
ls能不能讲一下为什么不能用WebRadioGroup,而要用ChildObjects?descNum(i).click
是否正确呢?学习中...
作者: xiaoan_2131    时间: 2008-9-24 11:06
原帖由 rcpp 于 2008-9-24 10:18 发表
Set descNum=Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").ChildObjects(desc)
另外,如假胸所说
descNum.click好歹也给个descNum(i).click
不然循环干啥
况且descNum是对象集合,也不能 ...

descNum(i).click 执行到这句时

General run error.错误
这是什么原因呢?
作者: xiaoan_2131    时间: 2008-9-24 11:24
仔细查看了一下,发现 GetdescNum=descNum.count 其值是1啊
所以For i=0 to GetdescNum
        descNum(i).click
循环第二次的时候当然会报错了
所以Set descNum=Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").ChildObjects(desc)
GetdescNum=descNum.count 所以这两句没有实现对WebRadioGroup对象的数据统计
作者: 假装不在    时间: 2008-9-24 11:39
原帖由 xiaoan_2131 于 2008-9-24 11:24 发表
仔细查看了一下,发现 GetdescNum=descNum.count 其值是1啊
所以For i=0 to GetdescNum
        descNum(i).click
循环第二次的时候当然会报错了
所以Set descNum=Browser("Welcome: Mercury Tours").Page("Select a Fl ...





不是没实现统计,是你写的方法乱七八糟的。

Dim desc,descNum,id,GetdescNum
Set desc=Description.Create()
desc("html tag").value="INPUT"
desc("Class Name").value="WebRadioGroup"

Set descNum=Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").childobjects(desc)
set GetdescNum=desNum.count
For i=0 to getdescNum-1
        descNum(i).click
Next


即使是统计出来的数量是1,你没减1,当然错了。我在2楼有说过要减1,你太辜负我对你的回复了。
但是很多时候,childobjects有它的局限性,所以使用childobjects统计出来的,老会出现偏差。
作者: zte_boy    时间: 2008-9-24 12:08
http://www.51testing.com/?161787 ... e_itemid_89309.html
参考下吧,呵呵,基本和你需要的东西相同
作者: xiaoan_2131    时间: 2008-9-24 12:17
Dim desc,descNum,id,GetdescNum
Set desc=Description.Create()
desc("html tag").value="INPUT"
desc("Class Name").value="WebRadioGroup"应该是Class吧

Set descNum=Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").childobjects(desc)这行报“General run error”

set GetdescNum=desNum.count
For i=0 to getdescNum-1
        descNum(i).click
Next
我都是按照你那么做的啊,不通过,望能审视一下
作者: xiaoan_2131    时间: 2008-9-24 12:18
原帖由 zte_boy 于 2008-9-24 12:08 发表
http://www.51testing.com/?161787 ... e_itemid_89309.html
参考下吧,呵呵,基本和你需要的东西相同

多谢了,研究一下
作者: rcpp    时间: 2008-9-24 13:36
还以为我回答完了lz就没问题呢
回来一看原来假胸的胸又鼓起来了

desc("Class Name").value="WebRadioGroup"应该是Class吧
是micclass
被打败了
作者: xiaoan_2131    时间: 2008-9-24 15:15
原帖由 rcpp 于 2008-9-24 13:36 发表
还以为我回答完了lz就没问题呢
回来一看原来假胸的胸又鼓起来了

desc("Class Name").value="WebRadioGroup"应该是Class吧
是micclass
被打败了

反正我这句执行不了Set descNum=Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").childobjects(desc) 我实在无能为利了,也许,rcp哪位仁兄,给点儿提示?呵呵
共同探讨麻~
作者: xiaoan_2131    时间: 2008-9-26 09:59
标题: 将成为一不解之谜
Dim descNum,desc,GetdescNum,id
Set desc=Description.Create()
desc("name").value="outFlight"(假胸,你之前给class name给值是不对,不知道你运行没有)(我这样才行,试验过)
desc("html tag").value="INPUT"
set descNum=browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").ChildObjects(desc)
GetdescNum=descNum.count(其值=1,你自己试试就知道了)
Randomize
num=RandomNumber (0,getdescnum)
descNum(num).click
哈哈,思路都是对,就是不能执行,兄弟又一不解之谜了,哈哈
作者: helius    时间: 2008-9-26 11:04
对象只有一个而num有两个
  所以出错·
作者: xiaoan_2131    时间: 2008-9-26 11:32
原帖由 helius 于 2008-9-26 11:04 发表
对象只有一个而num有两个
  所以出错·

当然了,问题就是如果取得总数,哈哈




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