-1

我正在开发 Web 应用程序,使用带有 vbscript 的工具 testcomplete。pageTab = Sys.Process("iexplore").IEFrame(0).CommandBar.TabBand.TabButton("Tieto Client Manager").Enabled

  do while(pageTab <> True)
      Sys.Process("Explorer").Refresh 
      pageTab = Sys.Process("iexplore").IEFrame(0).CommandBar.TabBand.TabButton("Tieto Client Manager").Enabled
      Sys.Process("iexplore").IEFrame(0).CommandBar.TabBand.TabButton("Tieto Client Manager").Refresh
  loop


  pageBusyState = Sys.Process("iexplore" , 2).Page("*").Busy
    do while(pageBusyState <> False)
    pageBusyState = Sys.Process("iexplore" , 2).Page("*").Busy
  loop 

使用此代码,我可以等待新页面,但不能等待控件加载页面。

4

2 回答 2

0
  Timeout=False

  'Check IEXPLORE Process running on window 

  If Sys.Process("IEXPLORE").Exists  Then

    Set obj = Sys.Process("IEXPLORE").Page("*") 
    Set PageObj = Eval(obj.FullName)
    'Set Default Timeout
    intDefaultTimeout=1000
    'Do until Page Object readyState=4 or Timeout
    Do  
      Set PageObj= Sys.Process("IEXPLORE").Page("*")
      'Check for Timeout
      If aqConvert.StrToInt(DateDiff("n",intTimerStart,Now))>= aqConvert.StrToInt(intDefaultTimeout)  Then
        Timeout=True
      End If
    Loop Until PageObj.ReadyState = 4 Or Timeout=True   

  Else 

     'Check iexplore 2 Process running on window 

    If Sys.Process("iexplore",2).Exists Then
      Set obj = Sys.Process("iexplore",2).Page("*") 
      Set PageObj = Eval(obj.FullName)
      'Set Default Timeout
      intDefaultTimeout=Project.Variables.prjDefaultTimeout
      'Do until Page Object readyState=4(page loaded fully or request finished and response is ready) or Timeout      
      Do  
        Set PageObj= Sys.Process("iexplore",2).Page("*")
        If aqConvert.StrToInt(DateDiff("n",intTimerStart,Now))>= aqConvert.StrToInt(intDefaultTimeout)  Then
          Timeout=True
        End If
        'Check still the page is in busy mode or page loaded fully .
      Loop Until PageObj.ReadyState = 4  Or Timeout=True 
    End If   
  End If 

 'Calling Activate method to apply a property collection corresponding to a run mode   
  PageObj.Activate
于 2014-01-07T11:15:07.200 回答
0

等待动态页面准备就绪的最佳方法是等待该页面上的特定对象。例如,这可能是您需要在页面上处理的第一个对象。等待网页帮助主题中描述了这种方法以及其他几种方法。

于 2013-09-04T16:49:46.507 回答