在QTP中随机取下拉菜单的值

上一篇 / 下一篇  2008-01-29 22:12:31 / 个人分类:—— QuickTest Pro

QTP中随机取下拉菜单的值

:C6E_%]!V0N-U0

字体:     |上一篇下一篇|打印  |我要投稿

{U"tY3Y;e0
51Testing软件测试网PFkejW^

摘要:产生期望的随机数来选取到动态的下拉菜单的值。
2`)nr?/Q6n'm*FA]0关键字:随机数;GetROProperty51Testing软件测试网)Sq+n-Y;H"~ QO
        有网友在论坛上提出问题,在使用QTP中如何随机选取动态的下拉菜单。在此笔者总结了一些测试经验,利用51testing的登录界面(http://bbs.51testing.com/logging.php?action=login)作为测试页面进行讲解。
[uFg0y,M0        首先我们拿登录页面中的  安全提问  这个下拉菜单作为测试对象。51Testing软件测试网AYO~~/X|F d6H0gW
         

W t,o`8_6@ }~0

*e'v.}~I9w D4x0        我们可以先录制一段选取下拉菜单的脚本。
(e6B~2f KS5k$sXy0        Browser("51Testing软件测试论坛 测试 |软件测试\").Page("51Testing软件测试论坛 测试 | 软件测试").WebList("questionid").Select "您个人计算机的型号"。
-|"]x(}J ?6`4l0        备注:无

9y-Z_ I:J*B M L051Testing软件测试网k.NR!y _

        这边有个技术处理就是使用#加数字来选择我们的下拉菜单。
Q[2CfTX2`0        Browser("51Testing软件测试论坛 测试 | 软件测试").Page("51Testing软件测试论坛 测试 | 软件测试").WebList("questionid").Select "#2"51Testing软件测试网*F zvm5d\O3GK [
        备注:这个方法在论坛上也出现过,比较适合这个例子。

Bdq S9U$vAs[0

@;oQ1YGZo5Z_ta4n0        下面我们要取得下拉菜单中选项的个数。51Testing软件测试网V.}-G+K0Rgp
        Browser("51Testing软件测试论坛 测试 | 软件测试").Page("51Testing软件测试论坛 测试 | 软件测试").WebList("questionid").GetROProperty ("items count")
Q!brZ3P zK&wt'T0        备注:这边使用GetROProperty,应该算比较常见的,所以不多做解释。51Testing软件测试网#n)V:XA[m#W kY

8PPZz.Xo6` \ V0        接下来是要个随机函数,参考帮助。51Testing软件测试网_c"e!H9YW)F
Randomize51Testing软件测试网%t9a+A0Y@+B'pX
x=RandomNumber (0,2)51Testing软件测试网x'dE,@sX
        备注:这边是随机生成0-2之间的三个数字中的一个。51Testing软件测试网2m`{4J(A.h1A

CL#h4M7a1h*N Q0        我们可以把随机函数写成function,方便以后使用。
MP0x4h3Q!VqUb|0[0Function Get_Ran(i)51Testing软件测试网[5TM \g3g{
   Randomize
7o f0nK N1C*xs:I0  Get_Ran=RandomNumber (0,i)51Testing软件测试网5Tlg-R0{CV&i
End Function
m R/W3}/e/n"D KK"D0        备注:这边需要注意的就是使用了函数返回值51Testing软件测试网0MbIZf

51Testing软件测试网BDh:L|Zb

        最后我们把脚本整合起来
sZ/F tVwv[+o_0[0Function Get_Ran(i)
3[4gh7q)o9A:M K|0   Randomize
:G LMmi4`V8K0  Get_Ran=RandomNumber (0,i)51Testing软件测试网!NV IJ.zxf
End Function51Testing软件测试网I-RD1VT G%F)tEKQ

0~6O#j])H8U}051Testing软件测试网+A(GkN'Gm~ x
Get_Count=Browser("51Testing软件测试论坛 测试 | 软件测试").Page("51Testing软件测试论坛 测试 | 软件测试").WebList("questionid").GetROProperty ("items count")
E0TS"~5PF3n0Ran_Number=Get_Ran(Get_Count-1)51Testing软件测试网V3~x ^7TA
Browser("51Testing软件测试论坛 测试 | 软件测试").Page("51Testing软件测试论坛 测试 | 软件测试").WebList("questionid").Select "#"&Ran_NumberBrowser("51Testing软件测试论坛 测试 | 软件测试").Page("51Testing软件测试论坛 测试 | 软件测试").WebList("questionid").GetROProperty ("items count")51Testing软件测试网-ip8f;avx#|e
Browser("51Testing软件测试论坛 测试 | 软件测试").Page("51Testing软件测试论坛 测试 | 软件测试").WebList("questionid").GetROProperty ("items count")51Testing软件测试网O~#ND9H$dx#]k
        备注:需要注意的就是在下拉菜单选择的时候从#0开始计算的,所以随机数字从0开始,传入的值也需要减去1。51Testing软件测试网P_e;v&ah$pm"kM/L }

o*u&Q.Xd^0        题外话:这边主要是使用QTP自带的随机数字函数这个方法来实现随机选择下拉菜单的内容,其实这个随机数字可以开展到随机字符串。因为我们经常会有一些输入域的测试,有的就需255个字节,多的就更可怕,使用随机函数能大大减少我们的工作量。而下面这个例子是实现在abc这三个字母中随机取出来拼成字符串。
E r5q"U f,d+l:w0Function makestring(inputlength)51Testing软件测试网8l@o1^*m_!Q
If IsNumeric(inputlength) Then
!Pjzs7n K \b0For I = 1 To inputlength51Testing软件测试网hM{Q-[
'you may add a random function here51Testing软件测试网l oi Y wb
A = Array("a","b","c")51Testing软件测试网3Lh/d!sa#eo+K
Randomize
)S%MD d)w`0x=RandomNumber (0,2)51Testing软件测试网g~^VsW)] }
B = A(x)51Testing软件测试网2tN4rV*h
makestring =makestring +B
#`:vkg[K3HL#p+{p0Next51Testing软件测试网2ph~&@ M/|(yY(K
msgbox ("output the string:"&makestring )51Testing软件测试网f {:P.Ekb-?
else
tGj9e Q~(U+Zo0msgbox ("error format:"&inputlength)51Testing软件测试网X0z/[5lut
End If51Testing软件测试网 CV$A _I%^
End Function51Testing软件测试网/Rvyu:UY@"j4~
Call makestring("8")51Testing软件测试网 {s^9q%\

51Testing软件测试网)}(X#AgW.m7fI


%D0Ne,c%S0

lmok8XD$e2EpA9i0

TAG:

 

评分:0

我来说两句

Open Toolbar