xinranmo 发表于 2011-3-16 21:28: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:53

求助帖不要选择付费主题,可以选择发布悬赏。

arivn 发表于 2011-3-17 15:56:52

SelectFnumber = int (ItemsCount1*Rnd)   
msgbox SelectFnumber'为什么这里显示的结果总是7

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

Fly_From1 = myarray(SelectFnumber)    ‘这里总是出错说是下标越界
这个越界说明数组没有那么多元素,你看一下那个数组的所有内容是多少

xinranmo 发表于 2011-3-17 23:17:50

呵呵 已经解决了,是random函数的问题。

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

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


ok了!

阿七 发表于 2011-3-22 17:53:25

没错 加个随机函数就OK了
页: [1]
查看完整版本: 编写的QTP自带 flight reservation的一段程序,希望实现随机抽取一个起始地址