关于ChildObjects_Example
Sub ChildObjects_Example()'The following example uses the ChildObjects method to find all the
'list objects on a Web page, and then to select an item in each list.
Set oDesc = Description.Create()
oDesc("micclass").Value = "WebList"
Set Lists = Browser("Mercury Interactive").Page("Mercury Interactive").ChildObjects(oDesc)
NumberOfLists = Lists.Count()
For i = 0 To NumberOfLists - 1
Lists(i).Select i + 1
Next
End Sub
我想
help中的这段代码应该是这样理解的。
取得页面中所有的下拉框。
比如这个论坛列表页有三个下拉框
论坛跳转
查看-->精华主题
查看-->按升序排列
那个help中的例子,就是取得这三个下拉框对象。
也就是
Set Lists = Browser("Mercury Interactive").Page("Mercury Interactive").ChildObjects(oDesc)
然后呢?就比较好懂了,
for循环中的
Lists(i).Select i + 1
就是第一个下拉框select第一项,
第二个下拉框select第二项。
注意:这里的项,也就是下拉框中的选项应该是从零开始的。
所以,如果是我们论坛的话第一次执行循环,
结果是select 论坛跳转中的第二项
“> [软件测试论坛公告]”
不知道说到这里,大家是否明白了,
我没有看MI的网站,但是我想它在help中给出的这个例子并不合适,
不知道大家以为如何。
这也就是我们在如何点webtable中的link中讨论的那个例子。 主要的不合适,就是那个i 和NumberOfLists
靠,让人不知道到底是下拉框的个数,还是下拉框中选项的个数。
但是有一点,可以肯定,MI这个例子中可能自己也比较糊涂
Lists( i ).Select i + 1
呵呵,为什么还要加一呢,呵呵,
weblist是从0开始的嘛。呵呵。 help写成这个样子,真是让我这样的糊涂人不知道怎么学了哦,呵呵:)
但愿只有这一处。 .....然后呢?就比较好懂了,
for循环中的
Lists(i).Select i + 1
就是第一个下拉框select第一项,
第二个下拉框select第二项。
注意:这里的项,也就是下拉框中的选项应该是从零开始的。
所以,如果是我们论坛的话第一次执行循环,
结果是select 论坛跳转中的第二项
“> [软件测试论坛公告]”
当循环到第二次就开始出错了,
页面刷新,QTP认不了,所以要找一下静态的试一试才知道!
修改I值为1,从第二个方框执行起.脚本还是出错.
原因不知为何? 用附件中的html试一下。就知道了。 结果是如图所示,呵呵。 Set oDesc = Description.Create()
oDesc("micclass").Value = "WebList"
Set Lists = Browser("Mercury Interactive").Page("Mercury Interactive").ChildObjects(oDesc)
NumberOfLists = Lists.Count()
For i = 0 To NumberOfLists - 1
Lists(i).Select i + 1
Next
End Sub
这个是相对于静态来说是可以的.但动态就不行.要作出相应的改变!
要不然后回放就会出错,说认不到这个OBJECT!
MI的HELP使用要细化! 如果把
For i = 1 To NumberOfLists - 1
执行第二次循环的时候,i=2,i+1=3,但是最后一个下拉框没有第三项哦 知道了!THX
我们大概都没有好好读他那段英文解释
'The following example uses the ChildObjects method to find all the 'list objects on a Web page, and then to select an item in each list."一开始我也一直搞不懂为何我上creweely.com,执行的代码总是显示1。那个weblist可有好多好多。一直到我down下了select.html才明白这个list objects是指一共在页面上显示多少个weblist的对象个数,而不是weblist的选项个数。
那如果我要写一个dp, 算出其中一个weblist object一共有多少个weblist下拉列表可以选择,该如何写呢? 让我试试,大家也在这里讨论讨论。
找到了:
http://bbs.51testing.com/thread-132523-1-10.html要用如下描述:
Ver_count=Browser("Browser").Page("Page").weblist("filter1").GetROProperty ("items count")
这个是count number的。结果是filter1有9个。
Ver_item=Browser("Browser").Page("Page").weblist("filter1").GetROProperty ("all items")
这个是返回所有的filter1列表里面的值。
原来getroproperty还有这个作用。
页:
[1]