51Testing软件测试论坛

标题: 求助QTP脚本回放输入框漏掉的问题 [打印本页]

作者: lpj1911    时间: 2009-8-12 19:42
标题: 求助QTP脚本回放输入框漏掉的问题
page上有很多个webedit,和weblist等需要输入。并且每个值都是通过读取数据表输入的。
比如webedit("").set datatable("test",dtLocalSheet)
数据表中有10行,也就是输入提交10次。每次回放时都会有一个webedit漏掉,并且跳过的控件不确定。
不知道是不是回放速度过快???
希望大家帮忙解释哈~! thank
作者: supermichael    时间: 2009-8-13 10:11
什么叫“会有一个webedit漏掉”?
作者: lpj1911    时间: 2009-8-13 10:15
就是跳过去了 没回放这个控件的输入
作者: supermichael    时间: 2009-8-13 10:20
贴张图看看吧
作者: lantianwei    时间: 2009-8-13 10:59
自己写个函数 在对编辑框输入值的时候进行检查对象是否存在 可以用RegFunction把自己的函数注册下 覆盖默认的SET方法 这样用起来会方便些
作者: ls_721521    时间: 2009-8-13 11:28
应该是回放时速度太快了导致的,加个wait试试吧
作者: lpj1911    时间: 2009-8-13 17:48

就像图中所示 很多输入框  回放确实很快,每次跳过的控件都不确定。 但是又不可能每个输入之前都wait。
作者: ls_721521    时间: 2009-8-13 18:00
前提是:你的问题是不是这个原因导致的?
如果是的话,为什么不能每个控件前都wait ?你这才10个edit box,再多几个也无所谓。。。
要不你设置qtp的回放时间,但设置那个后所有脚本回放都慢了 还不如用这个
作者: chooseyou123    时间: 2009-8-13 21:03
基本是可以确定,加wait就可以了
作者: liujinkui    时间: 2009-8-13 21:24
原帖由 lantianwei 于 2009-8-13 10:59 发表
自己写个函数 在对编辑框输入值的时候进行检查对象是否存在 可以用RegFunction把自己的函数注册下 覆盖默认的SET方法 这样用起来会方便些


给大家写个实例脚本吧
作者: lpj1911    时间: 2009-8-14 10:34
对 等待版主 给个实例  期待
作者: lantianwei    时间: 2009-8-14 12:59
下面是一个我减化后的一个例子:      
        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 编辑 ]
作者: puchonghui    时间: 2009-8-14 17:11
原帖由 lpj1911 于 2009-8-12 19:42 发表
page上有很多个webedit,和weblist等需要输入。并且每个值都是通过读取数据表输入的。
比如webedit("").set datatable("test",dtLocalSheet)
数据表中有10行,也就是输入提交10次。每次回放时都会有一个webedit漏掉,并且跳过的控件不确定。
不知道是不是回放速度过快???
希望大家帮忙解释哈~! thank


要确认这个问题很简单,设下断点,输入webedit的地方跑单步看看会不会漏。。。
作者: dabeixiong    时间: 2009-8-14 21:04
楼上正解,大部分问题都是靠调试解决地~
作者: lpj1911    时间: 2009-8-14 23:45
恩 谢谢提议  下周去试试
作者: lpj1911    时间: 2009-8-18 14:29
在第一webedit前 插入了个wait后就没出现这样的问题了
作者: maxinruitest    时间: 2009-8-18 14:33
标题: 求助
我的QTP装完了启动不了,不知道是什么原因,帮帮我好嘛?
作者: 蓝色迷走    时间: 2009-8-19 16:29
你可以先加:wait(5)试试
作者: sy070904    时间: 2009-8-19 19:21
标题: 回复 17# 的帖子
重装呗,qtp安装简单地多,轻松搞定




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2