QTP9.2页面刷新问题求助
对web页面测试时,需要经常刷新充值页面。设计了一个函数,在调用时,采用refresh和模拟F5两种方法,但是会出现页面假死情况,脚本停顿,直到失败。如果在卡住时,手工F5,则可继续。说明浏览器是没有假死的,程序页面卡住。环境是winxpsp3+qtp9.2+ie6.0。请各位帮忙看下有否更好的刷新方式。Public Function Func_Refresh(Bill_Num)Set WShell = CreateObject("Wscript.shell")
WShell.sendkeys "{F5}"
Set WShell = nothing
Wait(1)
Str_information = Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").GetROProperty("value")
If Str_information <> "" Then
Browser("micClass:=Brower").Refresh
End If
If Not Browser("micClass:=Brower").Page("micClass:=Page").Frame("Frame").WebEdit("菜单查询").Exist(1) Then
Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").Click
Set WShell = CreateObject("Wscript.shell")
WShell.sendkeys "{F5}"
Set WShell = nothing
End If
Wait(2)
If Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").Exist(2) Then
Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").Set Bill_Num
WShell.sendkeys "{Enter}"
Set WShell = nothing
Else
Browser("micClass:=Brower").Refresh
End If
i=0
Do While Not Browser("micClass:=Brower").Page("micClass:=Page").Frame("Frame").WebEdit("菜单查询").Exist(1)
i=i+1
If Not Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").Exist(1) Then
Browser("micClass:=Brower").Refresh
Else
Browser("micClass:=Brower").Sync
Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").Click
Set WShell = CreateObject("Wscript.shell")
WShell.sendkeys "{F5}"
Set WShell = nothing
End If
If Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").Exist(5) Then
Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").Set Bill_Num
Set WShell = CreateObject("Wscript.shell")
WShell.sendkeys "{Enter}"
Set WShell = nothing
Bill_Num = Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").GetROProperty("value")
If Bill_Num<>"" Then
Exit Do
End If
End If
If i=10 Then
Exit Do
End If
Loop
If Window("InternetExplorer脚本错误").Exist(2) Then
While Window("InternetExplorer脚本错误").Exist(1)
Window("InternetExplorer脚本错误").Close
Wend
End If
Func_CloseInformation
End Function
我遇到卡住的原因基本都是由于操作对象不存在。你在卡住的地方暂停一下qtp看那些操作前的对象是否存在,比如Browser("micClass:=Brower").refresh的Browser("micClass:=Brower")对象是否存在。如果不存在,那就应该是等待时间没有设置好
页:
[1]