51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3921|回复: 15
打印 上一主题 下一主题

[求助] 这样的步骤该如何设置延迟?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-5-14 23:30:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
鼠标点击一个下拉菜单框,选择一个类型就完成操作,语句是这样的:
Window("C:\Documents and Settings\Admi").Dialog("PM 设置").WinComboBox("文件类型:").Select "杂志(文本与图片)"现在就是想在Select "杂志(文本与图片)"前面加一个延迟,因为"杂志(文本与图片)"这个选项是在下拉菜单中的,如果速度快了,可能回放失败,所以想在弹出下拉菜单时等2S,该怎么改语句啊?我试这把这个操作分成2步也没办法,高手指点一下(在上一步加延迟没用啊)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-5-15 11:41:43 | 只看该作者
暂时也没有想到更好的办法
如果实在不行就在option里面把运行速度改为按录制时的速度,录制时选择慢点看看
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-5-15 13:30:24 | 只看该作者
哦,非常感谢
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-5-17 07:35:06 | 只看该作者
用waitprotery
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2009-5-17 20:20:30 | 只看该作者
一个步骤里有2个动作,我想在这2个动作之间加延迟,但是waitprotery和WAIT似乎都是用在2个步骤之间的,可能我理解的不对,waitprotery怎么用到一个步骤里呢?Window("C:\Documents and Settings\Admi").Dialog("PM 设置").WinComboBox("文件类型:").“如何延迟?”Select "杂志(文本与图片)"
回复 支持 反对

使用道具 举报

  • TA的每日心情
    难过
    2015-9-21 13:50
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    6#
    发表于 2009-5-18 10:17:24 | 只看该作者
    能问一下,你这样做的目的是什么么?
    是因为下拉框的选项比较多,点击下拉框后,需要一定的时间来加载么?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2015-9-21 13:50
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    7#
    发表于 2009-5-18 10:19:23 | 只看该作者
    如果是这样的话:是不考虑下,如果下拉框的内容全部加载完,WinComboBox("文件类型:")对象的属性有没有变化呢?

    如果有变化,那么我们是不是可以用waitProtery的方法来做呢?

    just try~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2009-5-22 17:54:31 | 只看该作者
    对啊!是因为下拉框的选项比较多,点击下拉框后,需要一定的时间来加载。不加延迟,有时候回放就会选 不到正确的选项。
    其实这个操作很简单,就是把一个文件存储时,选择存储目的地。如:C盘D盘E盘等,就是那个下拉菜单。但是当所有内容全部加载完,对象属性没什么变化啊。
    qtp录制时,如果只点击那个下拉菜单一下,没有脚本生成,只有选择下拉菜单中一项时,才会生成一行代码。我想在这一步中如何设置延迟,就是在Select "杂志(文本与图片)"前面。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2009-5-22 18:28:27 | 只看该作者

    思路,没验证。

    RegisterUserFunc "WinComboBox", "waitwait", "waitwaitwait"
    Public Function waitwaitwait(testObj, timeout)
      wait(timeout)
      Set waitwaitwait = testObj
    End Function

    语法:
    Window("C:\Documents and Settings\Admi").Dialog("PM 设置").WinComboBox("文件类型:").waitwait(2).Select "杂志(文本与图片)"现在就是想在Select "杂志(文本与图片)"
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2009-5-22 18:32:33 | 只看该作者
    如果可以记得给我发个消息
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2009-5-22 19:26:17 | 只看该作者
    用VBS的sleep函数吧。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2009-5-22 23:08:24 | 只看该作者
    点击没有生成脚本可以直接加一句CLICK啊
    然后再select
    Window("C:\Documents and Settings\Admi").Dialog("PM 设置").WinComboBox("文件类型:").Click
    Window("C:\Documents and Settings\Admi").Dialog("PM 设置").WinComboBox("文件类型:").select "杂志"

    还有搞不懂为什么你说“不加延迟,有时候回放就会选 不到正确的选项” 你item都确定了 难道报找不到对象?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
     楼主| 发表于 2009-5-23 20:37:38 | 只看该作者

    回复 10# 的帖子

    非常感谢你啊!!!
    你的方法是可行的,确实达到延迟的效果了,如果有分的话我就全送给你了。
    我的水平还比较菜,还得要再好好研究一下你写得脚本,好羡慕像你这样的高手
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
     楼主| 发表于 2009-5-23 20:56:04 | 只看该作者

    回复 12# 的帖子

    你说的这种方法我开始时就试过了,执行Click会打开下拉菜单选项,但是执行下一行脚本时,它不是再Click打开的下拉菜单选项基础上选择目标,而是重新点击打开下拉菜单选项在选择,所以这样是不可行的。这个动作是:点击("文件类型:")就直接在下拉菜单选项中点击选择保存位置,虽然这个过程点了2下鼠标,但关键是QTP在只记录了第2个点击动作。(LOW LEVEL录制也是一样的)我想再在第一次点击("文件类型:")时稍微停一下,等下拉菜单选项完全加载完,在选择。
    鉴于本人机子配置不争气,程序下拉菜单很长,回放时有时有些卡,所以不加延迟有时选不到正确的选项。比如我选的是e盘,它可能是第10个选项,回放时卡一下的话有可能就选到第一个C盘上了,就这样。
    还是感谢你的回复
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2015-9-21 13:50
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    15#
    发表于 2009-5-25 16:48:26 | 只看该作者
    原帖由 intothestorm 于 2009-5-22 18:28 发表
    RegisterUserFunc "WinComboBox", "waitwait", "waitwaitwait"
    Public Function waitwaitwait(testObj, timeout)
      wait(timeout)
      Set waitwaitwait = testObj
    End Function

    语法:
    Window("C:\Documents  ...


    这是方法的重载...?
    这种方法跟在
    Window("C:\Documents and Settings\Admi").Dialog("PM 设置").WinComboBox("文件类型:").select "杂志"
    的前面加wait(XXX)时间有什么区别呢?

    [ 本帖最后由 fei.ge 于 2009-5-25 16:49 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2009-5-29 22:08:46 | 只看该作者
    首先理解select这个操作如何完成的,
    Window("C:\Documents and Settings\Admi").Dialog("PM 设置").WinComboBox("文件类型:").Select "杂志(文本与图片)"
    select其实就是一种赋值方式,和set没有太本质的区别,
    唯一区别就是,可能需要等待这个列表中的内容加载完成.赋值才能有效进行.
    所以你如果在这个操作前,给于一定等待时间,就可以了.
    如:
    wait 2
    Window("C:\Documents and Settings\Admi").Dialog("PM 设置").WinComboBox("文件类型:").Select "杂志(文本与图片)"
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-13 20:08 , Processed in 0.075572 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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