求助QTP脚本回放输入框漏掉的问题
page上有很多个webedit,和weblist等需要输入。并且每个值都是通过读取数据表输入的。比如webedit("").set datatable("test",dtLocalSheet)
数据表中有10行,也就是输入提交10次。每次回放时都会有一个webedit漏掉,并且跳过的控件不确定。
不知道是不是回放速度过快???
希望大家帮忙解释哈~! thank 什么叫“会有一个webedit漏掉”? 就是跳过去了 没回放这个控件的输入 贴张图看看吧 自己写个函数 在对编辑框输入值的时候进行检查对象是否存在 可以用RegFunction把自己的函数注册下 覆盖默认的SET方法 这样用起来会方便些 应该是回放时速度太快了导致的,加个wait试试吧 http://www.51testing.com/images/base/photov.swf?site=http://www.51testing.com&itemid=143518&hash=bab17a2aaa026b2bae038e5a9025164e&remote=0
就像图中所示 很多输入框回放确实很快,每次跳过的控件都不确定。 但是又不可能每个输入之前都wait。 前提是:你的问题是不是这个原因导致的?
如果是的话,为什么不能每个控件前都wait ?你这才10个edit box,再多几个也无所谓。。。
要不你设置qtp的回放时间,但设置那个后所有脚本回放都慢了 还不如用这个 基本是可以确定,加wait就可以了 原帖由 lantianwei 于 2009-8-13 10:59 发表 http://bbs.51testing.com/images/common/back.gif
自己写个函数 在对编辑框输入值的时候进行检查对象是否存在 可以用RegFunction把自己的函数注册下 覆盖默认的SET方法 这样用起来会方便些
给大家写个实例脚本吧 对 等待版主 给个实例期待:) 下面是一个我减化后的一个例子:
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 编辑 ] 原帖由 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的地方跑单步看看会不会漏。。。 楼上正解,大部分问题都是靠调试解决地~ 恩 谢谢提议下周去试试 在第一webedit前 插入了个wait后就没出现这样的问题了
求助
我的QTP装完了启动不了,不知道是什么原因,帮帮我好嘛? 你可以先加:wait(5)试试回复 17# 的帖子
重装呗,qtp安装简单地多,轻松搞定
页:
[1]