51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3719|回复: 18
打印 上一主题 下一主题

[求助] 求助QTP脚本回放输入框漏掉的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-8-12 19:42:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
page上有很多个webedit,和weblist等需要输入。并且每个值都是通过读取数据表输入的。
比如webedit("").set datatable("test",dtLocalSheet)
数据表中有10行,也就是输入提交10次。每次回放时都会有一个webedit漏掉,并且跳过的控件不确定。
不知道是不是回放速度过快???
希望大家帮忙解释哈~! thank
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-8-13 10:11:29 | 只看该作者
什么叫“会有一个webedit漏掉”?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-8-13 10:15:06 | 只看该作者
就是跳过去了 没回放这个控件的输入
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-8-13 10:20:44 | 只看该作者
贴张图看看吧
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2009-8-13 10:59:32 | 只看该作者
自己写个函数 在对编辑框输入值的时候进行检查对象是否存在 可以用RegFunction把自己的函数注册下 覆盖默认的SET方法 这样用起来会方便些
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-8-13 11:28:19 | 只看该作者
应该是回放时速度太快了导致的,加个wait试试吧
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2009-8-13 17:48:38 | 只看该作者

就像图中所示 很多输入框  回放确实很快,每次跳过的控件都不确定。 但是又不可能每个输入之前都wait。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2009-8-13 18:00:47 | 只看该作者
前提是:你的问题是不是这个原因导致的?
如果是的话,为什么不能每个控件前都wait ?你这才10个edit box,再多几个也无所谓。。。
要不你设置qtp的回放时间,但设置那个后所有脚本回放都慢了 还不如用这个
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2009-8-13 21:03:54 | 只看该作者
基本是可以确定,加wait就可以了
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2016-8-25 11:11
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    10#
    发表于 2009-8-13 21:24:58 | 只看该作者
    原帖由 lantianwei 于 2009-8-13 10:59 发表
    自己写个函数 在对编辑框输入值的时候进行检查对象是否存在 可以用RegFunction把自己的函数注册下 覆盖默认的SET方法 这样用起来会方便些


    给大家写个实例脚本吧
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2009-8-14 10:34:24 | 只看该作者
    对 等待版主 给个实例  期待
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2009-8-14 12:59:30 | 只看该作者
    下面是一个我减化后的一个例子:      
            function  Util_Object_ExistByTime(obj,iTimeOut)
                    Dim t
                    t=0
                    Util_Object_ExistByTime=true
                    While(obj.Exist(1)=false)
                            wait(1)
                            t = t+1
                            If t = iTimeOut Then
                                    Util_Object_ExistByTime=false
                                    Exit function
                            End If
                     Wend
            End function

            Function Util_Object_Set(obj,strValue)
                            Call Util_Object_SetByTime(obj,strValue,TIMEOUT)
            End Function

            Function Util_Object_SetByTime(obj,strValue,iTimeOut)
                    If Util_Object_ExistByTime(obj,iTimeOut) Then
                            On error resume next
                            obj.Set strValue
                             If  Err.Number<>0 Then
                                    reporter.ReportEvent micFail ,"SetError", "Error Number=" & Err.Number & ", Error Desc=" & Err.Description
                            end if
                            err.clear
                            On error goto 0
                    End If
            End Function
           
            ' Run below before test start
            ' Registe WebEdit User Defined Function
            RegisterUserFunc "WebEdit","SetText","Util_Object_Set",True
             'RegisterUserFunc "WebEdit","Set","Util_Object_Set",True 这个应该直接可以覆盖的 可以试下 我也好久没碰QTP 不记得了
            RegisterUserFunc "WebEdit","SetByTime","Util_Object_SetByTime",True
           
            ' Run below after test end
            ' Unregiste WebEdit User Defined Function
            UnRegisterUserFunc "WebEdit","SetText"
            UnRegisterUserFunc "WebEdit","SetByTime"

    [ 本帖最后由 lantianwei 于 2009-8-14 13:09 编辑 ]
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2020-8-11 08:18
  • 签到天数: 114 天

    连续签到: 1 天

    [LV.6]测试旅长

    13#
    发表于 2009-8-14 17:11:55 | 只看该作者
    原帖由 lpj1911 于 2009-8-12 19:42 发表
    page上有很多个webedit,和weblist等需要输入。并且每个值都是通过读取数据表输入的。
    比如webedit("").set datatable("test",dtLocalSheet)
    数据表中有10行,也就是输入提交10次。每次回放时都会有一个webedit漏掉,并且跳过的控件不确定。
    不知道是不是回放速度过快???
    希望大家帮忙解释哈~! thank


    要确认这个问题很简单,设下断点,输入webedit的地方跑单步看看会不会漏。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2009-8-14 21:04:28 | 只看该作者
    楼上正解,大部分问题都是靠调试解决地~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
     楼主| 发表于 2009-8-14 23:45:20 | 只看该作者
    恩 谢谢提议  下周去试试
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
     楼主| 发表于 2009-8-18 14:29:44 | 只看该作者
    在第一webedit前 插入了个wait后就没出现这样的问题了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2009-8-18 14:33:32 | 只看该作者

    求助

    我的QTP装完了启动不了,不知道是什么原因,帮帮我好嘛?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2009-8-19 16:29:38 | 只看该作者
    你可以先加:wait(5)试试
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2009-8-19 19:21:51 | 只看该作者

    回复 17# 的帖子

    重装呗,qtp安装简单地多,轻松搞定
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-9-22 23:29 , Processed in 0.121805 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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