51Testing软件测试论坛

标题: QTP9.2页面刷新问题求助 [打印本页]

作者: bfckop    时间: 2012-8-22 11:30
标题: QTP9.2页面刷新问题求助
对web页面测试时,需要经常刷新充值页面。设计了一个函数,在调用时,采用refresh和模拟F5两种方法,但是会出现页面假死情况,脚本停顿,直到失败。如果在卡住时,手工F5,则可继续。说明浏览器是没有假死的,程序页面卡住。环境是winxpsp3+qtp9.2+ie6.0。请各位帮忙看下有否更好的刷新方式。
  1. Public Function Func_Refresh(Bill_Num)

  2.         Set WShell = CreateObject("Wscript.shell")
  3.         WShell.sendkeys "{F5}"  
  4.         Set WShell = nothing
  5.         Wait(1)
  6.         Str_information = Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").GetROProperty("value")
  7.         If Str_information <> "" Then
  8.                 Browser("micClass:=Brower").Refresh
  9.         End If
  10.         If Not Browser("micClass:=Brower").Page("micClass:=Page").Frame("Frame").WebEdit("菜单查询").Exist(1) Then
  11.                 Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").Click
  12.                 Set WShell = CreateObject("Wscript.shell")
  13.                 WShell.sendkeys "{F5}"
  14.                 Set WShell = nothing
  15.         End If
  16.         Wait(2)
  17.         If Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").Exist(2) Then
  18.                 Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").Set Bill_Num
  19.                 WShell.sendkeys "{Enter}"
  20.                 Set WShell = nothing
  21.         Else
  22.                 Browser("micClass:=Brower").Refresh
  23.         End If
  24.         i=0
  25.         Do While Not Browser("micClass:=Brower").Page("micClass:=Page").Frame("Frame").WebEdit("菜单查询").Exist(1)
  26.                 i=i+1
  27.                 If Not Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").Exist(1) Then
  28.                         Browser("micClass:=Brower").Refresh
  29.                 Else
  30.                         Browser("micClass:=Brower").Sync
  31.                         Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").Click
  32.                         Set WShell = CreateObject("Wscript.shell")
  33.                         WShell.sendkeys "{F5}"
  34.                         Set WShell = nothing        
  35.                 End If         
  36.                 If Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").Exist(5) Then
  37.                         Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").Set Bill_Num
  38.                         Set WShell = CreateObject("Wscript.shell")
  39.                         WShell.sendkeys "{Enter}"
  40.                         Set WShell = nothing
  41.                         Bill_Num = Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").GetROProperty("value")
  42.                         If Bill_Num<>"" Then
  43.                                 Exit Do
  44.                         End If
  45.                 End If
  46.                 If i=10 Then
  47.                         Exit Do
  48.                 End If
  49.         Loop

  50.         If Window("InternetExplorer脚本错误").Exist(2) Then
  51.                 While Window("InternetExplorer脚本错误").Exist(1)
  52.                         Window("InternetExplorer脚本错误").Close
  53.                 Wend
  54.         End If
  55.         Func_CloseInformation
  56. End Function
复制代码

作者: xjwldlover    时间: 2012-8-22 11:41
我遇到卡住的原因基本都是由于操作对象不存在。你在卡住的地方暂停一下qtp看那些操作前的对象是否存在,比如Browser("micClass:=Brower").refresh的Browser("micClass:=Brower")对象是否存在。如果不存在,那就应该是等待时间没有设置好




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