51Testing软件测试论坛

标题: 关于QTP中的随机数 [打印本页]

作者: o95571990    时间: 2009-2-13 15:31
标题: 关于QTP中的随机数
怎么随机选择下拉菜单啊
怎么在多个打勾框上随机√上一个或者多个啊
怎么在多个点上随机點上一个啊
求助啊,高手们
作者: dreamever    时间: 2009-2-13 16:22
1、获取可选下拉列表、可选复选框、可选“点”(不知道你的点是什么意思)……等等的个数N,具体代码请见qtp的帮助文档,用spy也可以看出来;
2、利用vbs获取一个随机的整数,取数范围是从0到可选的最大数,具体实现代码去百度,以“vbs 随机数”为关键词搜索,结果一大堆;
3、如果是下拉列表,就调用select方法使用随机索引;如果是复选框,那就调用setproperty方法,设置isChecked属性;如果是“点”,那就同样使用随机数访问“点”对象执行click操作。具体操作方法请见QTP的API文档。
没有写出现成的代码,因为这些代码只能是自己去写的;写了那么多的见文档、见百度,楼主也不要生气,因为所有人解决这类问题的时候,最好的方法就是API和百度;
另外坦白的说一句,我很迷惑楼主为什么会碰到这个问题?如果是为了随便点几个按钮,那由测试人员手工验证就可以了,不然你的测试输入都是随机的,那你的预期结果怎么弄?难道你们那边的测试资源真的富裕到用自动化测试来做着些事情吗?所以我总有种错觉,感觉楼主提这个问题的目的会不会是逗大家玩的?
作者: o95571990    时间: 2009-2-16 10:34
感激这么详细回答啊,虽然不太懂,可是我会多试试的。不是逗大家玩啊,我是刚学QTP,还不会写脚本,只会直接录制的,看到参数化那里有个Random Number,以为选了就可以了。结果上网查,都说要加代码,但是我不知道具体把加在哪里。在郁闷这个,呵呵
作者: o95571990    时间: 2009-2-16 10:44
像这个
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set "o95571990"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure "497687a3a4203632547523d5dc8602231e3ce58853da"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click 46,5
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").Select "Portland"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromMonth").Select "December"
中Select "Portland"
我要是想随机选下拉框中的任意一个城市,代码应该怎么加呢
作者: dreamever    时间: 2009-2-16 13:13
可以有好几种解决方法,我常用的做法是把所有备选的城市名称放到一个数组中,然后利用vbs的随机函数,从数组中随机取出一个城市名称并将它赋给一个变量,然后select就使用这个变量就可以了。
作者: 亚瑟王    时间: 2009-2-16 22:30
楼上正解!split分解
作者: shark_jr    时间: 2009-2-17 09:30
filghtCount=Window("Flight Reservation").Dialog("Flights Table").WinList("From").GetItemsCount
SelectItem = RandomNumber(0,  filghtCount)
Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select SelectItem
这段代码就可以实现下拉列表中的随机选择
作者: zcq    时间: 2009-2-17 11:26
标题: 回复 7# 的帖子
你这只是对windows程序,测试web 的时候没有getitemscount这个方法
作者: zcq    时间: 2009-2-17 15:02
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").Select "Portland"
改成:
function get_ran(i)
randomize
get_ran=randomnumber(0,i)
end function
get _count=Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").getroproperty("items count")
ran_number=get_ran(get_count-1)
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").select "#"&ran_number
作者: shilan    时间: 2009-2-19 12:29
1.Random Select Weblist items
Browser("Create New").Page("Create New").WebList("TypeActual").Select RandomNumber(1, 60)
1.1 Select Weblist item from 0 to last one
For i=0 to 59
Browser("Create New").Page("Create New").WebList("TypeActual").Select RandomNumber(i, i)
Next

2.Random Click"WebRadioGroup"
Browser("Search").Page("Select").Frame("listDisplay").WebRadioGroup("emxTableRowId").Select "#"&RandomNumber(0, 11)

3. Random Set ''WebCheckBox"
Dim AARowCount
Dim CC,AA
AARowCount=Browser().Page().Frame().WebTable().RowCount
Rem msgbox AARowCount
CC=RandomNumber(0, AARowCount)
Set AA=Browser().Page().Frame().WebTable().Childitem(CC,1,'WebCheckBox',0)
     AA.Set "ON"
作者: shilan    时间: 2009-2-19 16:48
标题: 回复 11# 的帖子
怎么在这里打起广告来的了!XXXXXXX




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