“天街小雨润如酥,草色遥看近却无。最是一年春好处,绝胜烟柳满皇都。”读一首古诗,心情也随之平静下来

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

上一篇 / 下一篇  2008-02-25 15:46:15 / 个人分类:测试工具

QTP中随机取下拉菜单的值

文章来源:中国IT实验室
有网友在论坛上提出问题,在使用QTP中如何随机选取动态的下拉菜单。在此笔者总结了一些测试经验,利用51testing的登录界面(http://bbs.51testing.com/logging.php?action=login)作为测试页面进行讲解。
     首先我们拿登录页面中的  安全提问  这个下拉菜单作为测试对象。
           
   


2.JPG


    我们可以先录制一段选取下拉菜单的脚本。
    Browser("51Testing软件测试论坛 测试 | 软件测试\").Page("51Testing软件测试论坛 测试 | 软件测试").WebList("questionid").Select "您个人计算机的型号"。
    备注:无
   
    这边有个技术处理就是使用#加数字来选择我们的下拉菜单。
    Browser("51Testing软件测试论坛 测试 | 软件测试").Page("51Testing软件测试论坛 测试 | 软件测试").WebList("questionid").Select "#2"
    备注:这个方法在论坛上也出现过,比较适合这个例子。

    下面我们要取得下拉菜单中选项的个数。
    Browser("51Testing软件测试论坛 测试 | 软件测试").Page("51Testing软件测试论坛 测试 | 软件测试").WebList("questionid").GetROProperty ("items count")
    备注:这边使用GetROProperty,应该算比较常见的,所以不多做解释。

    接下来是要个随机函数,参考帮助。
Randomize
x=RandomNumber (0,2)
    备注:这边是随机生成0-2之间的三个数字中的一个。

    我们可以把随机函数写成function,方便以后使用。
Function Get_Ran(i)
   Randomize
  Get_Ran=RandomNumber (0,i)
End Function
    备注:这边需要注意的就是使用了函数返回值

    最后我们把脚本整合起来
Function Get_Ran(i)
   Randomize
  Get_Ran=RandomNumber (0,i)
End Function

Get_Count=Browser("51Testing软件测试论坛 测试 | 软件测试").Page("51Testing软件测试论坛 测试 | 软件测试").WebList("questionid").GetROProperty ("items count")
Ran_Number=Get_Ran(Get_Count-1)
Browser("51Testing软件测试论坛 测试 | 软件测试").Page("51Testing软件测试论坛 测试 | 软件测试").WebList("questionid").Select "#"&Ran_NumberBrowser("51Testing软件测试论坛 测试 | 软件测试").Page("51Testing软件测试论坛 测试 | 软件测试").WebList("questionid").GetROProperty ("items count")
Browser("51Testing软件测试论坛 测试 | 软件测试").Page("51Testing软件测试论坛 测试 | 软件测试").WebList("questionid").GetROProperty ("items count")
    备注:需要注意的就是在下拉菜单选择的时候从#0开始计算的,所以随机数字从0开始,传入的值也需要减去1。

    题外话:这边主要是使用QTP自带的随机数字函数这个方法来实现随机选择下拉菜单的内容,其实这个随机数字可以开展到随机字符串。因为我们经常会有一些输入域的测试,有的就需255个字节,多的就更可怕,使用随机函数能大大减少我们的工作量。而下面这个例子是实现在abc这三个字母中随机取出来拼成字符串。
Function makestring(inputlength)
If IsNumeric(inputlength) Then
For I = 1 To inputlength
'you may add a random function here
A = Array("a","b","c")
Randomize
x=RandomNumber (0,2)
B = A(x)
makestring =makestring +B
Next
msgbox ("output the string:"&makestring )
else
msgbox ("error format:"&inputlength)
End If
End Function
Call makestring("8")

TAG: 测试工具

 

评分:0

我来说两句

Open Toolbar