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

上一篇 / 下一篇  2008-02-25 22:54:16 / 个人分类:QTP

摘要:产生期望的随机数来选取到动态的下拉菜单的值。
关键字:随机数;GetROProperty
        有网友在论坛上提出问题,在使用QTP中如何随机选取动态的下拉菜单。在此笔者总结了一些测试经验,利用51testing的登录界面(http://bbs.51testing.com/logging.php?action=login)作为测试页面进行讲解。
        首先我们拿登录页面中的  安全提问  这个下拉菜单作为测试对象。
         

        我们可以先录制一段选取下拉菜单的脚本。
        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: QTP

 

评分:0

我来说两句

我的栏目

日历

« 2024-03-23  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 7438
  • 日志数: 15
  • 建立时间: 2008-01-19
  • 更新时间: 2009-03-25

RSS订阅

Open Toolbar