lpj1911 发表于 2009-8-12 19:42:18

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

page上有很多个webedit,和weblist等需要输入。并且每个值都是通过读取数据表输入的。
比如webedit("").set datatable("test",dtLocalSheet)
数据表中有10行,也就是输入提交10次。每次回放时都会有一个webedit漏掉,并且跳过的控件不确定。
不知道是不是回放速度过快???
希望大家帮忙解释哈~! thank

supermichael 发表于 2009-8-13 10:11:29

什么叫“会有一个webedit漏掉”?

lpj1911 发表于 2009-8-13 10:15:06

就是跳过去了 没回放这个控件的输入

supermichael 发表于 2009-8-13 10:20:44

贴张图看看吧

lantianwei 发表于 2009-8-13 10:59:32

自己写个函数 在对编辑框输入值的时候进行检查对象是否存在 可以用RegFunction把自己的函数注册下 覆盖默认的SET方法 这样用起来会方便些

ls_721521 发表于 2009-8-13 11:28:19

应该是回放时速度太快了导致的,加个wait试试吧

lpj1911 发表于 2009-8-13 17:48:38

http://www.51testing.com/images/base/photov.swf?site=http://www.51testing.com&itemid=143518&hash=bab17a2aaa026b2bae038e5a9025164e&remote=0
就像图中所示 很多输入框回放确实很快,每次跳过的控件都不确定。 但是又不可能每个输入之前都wait。

ls_721521 发表于 2009-8-13 18:00:47

前提是:你的问题是不是这个原因导致的?
如果是的话,为什么不能每个控件前都wait ?你这才10个edit box,再多几个也无所谓。。。
要不你设置qtp的回放时间,但设置那个后所有脚本回放都慢了 还不如用这个

chooseyou123 发表于 2009-8-13 21:03:54

基本是可以确定,加wait就可以了

liujinkui 发表于 2009-8-13 21:24:58

原帖由 lantianwei 于 2009-8-13 10:59 发表 http://bbs.51testing.com/images/common/back.gif
自己写个函数 在对编辑框输入值的时候进行检查对象是否存在 可以用RegFunction把自己的函数注册下 覆盖默认的SET方法 这样用起来会方便些

给大家写个实例脚本吧

lpj1911 发表于 2009-8-14 10:34:24

对 等待版主 给个实例期待:)

lantianwei 发表于 2009-8-14 12:59:30

下面是一个我减化后的一个例子:      
      functionUtil_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
                       IfErr.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 编辑 ]

puchonghui 发表于 2009-8-14 17:11:55

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

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

dabeixiong 发表于 2009-8-14 21:04:28

楼上正解,大部分问题都是靠调试解决地~

lpj1911 发表于 2009-8-14 23:45:20

恩 谢谢提议下周去试试

lpj1911 发表于 2009-8-18 14:29:44

在第一webedit前 插入了个wait后就没出现这样的问题了

maxinruitest 发表于 2009-8-18 14:33:32

求助

我的QTP装完了启动不了,不知道是什么原因,帮帮我好嘛?

蓝色迷走 发表于 2009-8-19 16:29:38

你可以先加:wait(5)试试

sy070904 发表于 2009-8-19 19:21:51

回复 17# 的帖子

重装呗,qtp安装简单地多,轻松搞定
页: [1]
查看完整版本: 求助QTP脚本回放输入框漏掉的问题