51Testing软件测试论坛

标题: 编写的QTP自带 flight reservation的一段程序,希望实现随机抽取一个起始地址 [打印本页]

作者: xinranmo    时间: 2011-3-16 21:28
标题: 编写的QTP自带 flight reservation的一段程序,希望实现随机抽取一个起始地址
ItemsCount1 = Window("Flight Reservation").WinComboBox("Fly From:").GetItemsCount
msgbox ItemsCount1  ‘这里显示的结果是10
SelectFnumber = int (ItemsCount1*Rnd)   
msgbox SelectFnumber  '为什么这里显示的结果总是7
myarray = split(Window("Flight Reservation").WinComboBox("Fly From:").GetROProperty("all items")," ")
msgbox myarray(1)  ’这里总是显示下面的输出
Fly_From1 = myarray(SelectFnumber)    ‘这里总是出错说是下标越界

对象的all item属性下是这些地址:
Denver
Frankfurt
London
Los Angeles
Paris
Portland
San Francisco
Seattle
Sydney
Zurich

myarray(1) 总是输出:
Angeles
Paris
Portland
San
难道我应该用回车来打散这个数组吗?那该怎么表示呢?
请各位大侠帮帮忙吧,谢谢了
作者: 默默巫    时间: 2011-3-17 11:27
求助帖不要选择付费主题,可以选择发布悬赏。
作者: arivn    时间: 2011-3-17 15:56
SelectFnumber = int (ItemsCount1*Rnd)   
msgbox SelectFnumber  '为什么这里显示的结果总是7

这个值一直是7是因为这个随机函数rnd的问题,你使用random随机函数即可以解决这个问题

Fly_From1 = myarray(SelectFnumber)    ‘这里总是出错说是下标越界
这个越界说明数组没有那么多元素,你看一下那个数组的所有内容是多少
作者: xinranmo    时间: 2011-3-17 23:17
呵呵 已经解决了,是random函数的问题。

重新用RandomNumber函数取随机数,
ItemsCount=Window("Flight Reservation").WinComboBox("Fly From:").GetItemsCount
RandomCout=RandomNumber(0,ItemsCount)   

然后用回车打散。
flyarray=split(myarray,vbLf )      


ok了!
作者: 阿七    时间: 2011-3-22 17:53
没错 加个随机函数就OK了




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