`
isiqi
  • 浏览: 16079299 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

在QTP中随机取下拉菜单的值(转)--动态weblist

阅读更多

摘要:产生期望的随机数来选取到动态的下拉菜单的值。
关键字:随机数;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")

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics