51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2422|回复: 8
打印 上一主题 下一主题

[原创] 在录制时,WebList如何随机得到某一项?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-3-9 15:46:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
WebList如何随机得到某一项?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-3-9 15:50:56 | 只看该作者
说下思路,通过脚本实现
先取出WEBLIST的总项数,然后生成一个随机数0到总项数之间
最后用set赋值,set后可以是具体值,也可以是项数,这里就赋的值是随机生成的项数
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-3-9 15:55:18 | 只看该作者
严重同意!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-3-12 11:43:20 | 只看该作者
下面是我写的随机选取webList中的某一项的代码,但没有通过,报以下错“无效的过程调用或参数”
groupCodeLenth= Browser("test").Page("test").Frame("mainFrame").WebList("sgrouptitlecode").Object.length
Randomize
groupCodeNum=int(groupCodeLenth*Rnd)
msgBox"groupCodeNum= "&groupCodeNum
Browser("test").Page("test").Frame("mainFrame").WebList("sgrouptitlecode").Select  groupCodeNum

若我把下面的脚本改为如下,就可以通过,请问大家,上面的脚本出错在哪里?

i=2
Browser("test").Page("test").Frame("mainFrame").WebList("sgrouptitlecode").Select  i

[ 本帖最后由 rain_wind 于 2007-3-12 11:57 编辑 ]
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    5#
    发表于 2007-3-12 13:07:10 | 只看该作者
    rain_wind,你说的“无效的过程调用或参数” 是在哪一行呀? 是不是在最后一行?把最后一行改为下面的代码后再试试:
    Browser("test").Page("test").Frame("mainFrame").WebList("sgrouptitlecode").Select( groupCodeNum)
    如果不行,请看QTP里的有关WebList的帮助或示例:

    Browser("Mercury Tours").Page("Find Flights_2").WebList("arrive").Select "#4"
    Browser("Mercury Tours").Page("Find Flights").WebList("depart").Select "London"
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2007-3-12 14:40:34 | 只看该作者
    就是在最后一行报错,
    我把最后一行改为下面的形式,也报“无效的过程调用或参数”的错误。
    Browser("test").Page("test").Frame("mainFrame").WebList("sgrouptitlecode").Select (groupCodeNum)

    我也看了帮助,我把脚本改成下面的形式,也不正确
    Browser("test").Page("test").Frame("mainFrame").WebList("sgrouptitlecode").Select "#groupCodeNum"
    Browser("test").Page("test").Frame("mainFrame").WebList("sgrouptitlecode").Select #groupCodeNum

    问题怪就怪在
    groupCodeNum=1
    msgBox"groupCodeNum= "&groupCodeNum
    Browser("test").Page("test").Frame("mainFrame").WebList("sgrouptitlecode").Select groupCodeNum 执行可以通过

    可为什么下面的脚本执行不通过,这两个脚本的不同之处就在于给groupCodeNum赋值的形式不一样而已,真不知问题出现在哪里
    Randomize
    groupCodeNum=int(groupCodeLenth*Rnd)
    msgBox"groupCodeNum= "&groupCodeNum
    Browser("test").Page("test").Frame("mainFrame").WebList("sgrouptitlecode").Select groupCodeNum
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2007-3-12 14:48:02 | 只看该作者
    msgBox"groupCodeNum= "&groupCodeNum跳出的信息是否正确
    VBSCRIPT里可以直接取随机整数
    N = RANDOMNUMBER(0,NUM)
    N为0到NUM之间的整数
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2007-3-12 15:21:47 | 只看该作者
    msgBox"groupCodeNum= "&groupCodeNum跳出的信息是正确的

    呵呵...终于解决了,正确应该是:
    Browser("test").Page("test").Frame("mainFrame").WebList("sgrouptitlecode").Select "#" &groupCodeNum
    根据帮助object.Select Item里的有关“Item”解释 。“Item”要么是下拉框中的值,如: "中国";要么就是下拉框中的序号,用:"#1"表示。我们平时写成 object.Select 1,其实系统是把1看成string型,帮我们翻译成object.Select "#1"。也就是object.Select 后面接的是string类型

    下面的脚本错就错在,执行完第2句脚本后,变量"groupCodeNum"已被赋予整型。
    Randomize
    groupCodeNum=int(groupCodeLenth*Rnd)
    msgBox"groupCodeNum= "&groupCodeNum
    Browser("test").Page("test").Frame("mainFrame").WebList("sgrouptitlecode").Select groupCodeNum

    随机取webList中的任意项的正确脚本如下:
    groupCodeLenth= Browser("test").Page("test").Frame("mainFrame").WebList("sgrouptitlecode").Object.length
    Randomize
    groupCodeNum=int(groupCodeLenth*Rnd)
    msgBox"groupCodeNum= "&groupCodeNum
    if(groupCodeNum>=0) then
    Browser("test").Page("test").Frame("mainFrame").WebList("sgrouptitlecode").Select  "#" & groupCodeNum
    end if
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2007-3-16 14:20:39 | 只看该作者
    好脚本,顶上去
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-26 16:59 , Processed in 0.074325 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表