技术开发 频道

透析QTP自动化测试框架SAFFRON

4.10选择列表中的一项
  在SAFFRON中,可以使用SelectFromList函数从下拉框列表(WebList对象)中选择指定的一项。SelectFromList的定义如下所示:
     ' Selects a specific value from a listbox, or combobox
     ' objname - name of the control -- use Object Spy if you don't know the name property
     ' text    - the item in the combobox to select
     Public Function SelectFromList (objname, text)
      localDesc = ""
      rv = ""
      rval = false
      If thirdlevel <> "" Then
       localDesc = GenerateDescription(level(2))
      Else
       localDesc = GenerateDescription(level(1))
      End If
    
      AutoSync() 
    
      localDesc = localdesc & GenerateObjectDescription("WebList", "name:=" & objname)
    
      Execute "cnt = " & localDesc & "GetROProperty(" & Quote("items count") & ")"
      For i = 1 to cnt
       Execute "rv = " & localDesc & "GetItem (" & i & ")"
       If rv = text Then
        rval = true
       End If
      Next
    
      If rval Then
       Execute localDesc & "Select " & Quote(text)
      End If
      If rval Then
       Report micPass, "WebList Selection", "The WebList item " & Quote(text) & " was selected."
      Else
       Report micFail, "WebList Selection", "The WebList item " & Quote(text) & " was NOT found."
      End If
    
      SelectFromList = rval
     End Function

  假设我们需要从如图所示的界面中的“Departure City”的下拉框中选择其中一项,则可使用SelectFromList函数来实现。

  测试脚本可以这样写:
     ' 选择航班起始城市为"San Francisco"
     SelectFromList  "depart","San Francisco"

4.11 关闭浏览器
  Web页面测试的最后一个步骤一般都是关闭浏览器,在SAFFRON中,也把这个过程封装成了一个名为“CloseBrowsers”的函数,该函数的定义如下:
     ' close all opened browsers
     Public Function CloseBrowsers
      If Browser("micclass:=Browser").Exist (0) Then
       Browser("micclass:=Browser").Close
      End If
      While Browser("micclass:=Browser", "index:=1").Exist (0)
       Browser("index:=1").Close
      Wend
      If Browser("micclass:=Browser").Exist (0) Then
       Browser("micclass:=Browser").Close
      End If
     End Function

  CloseBrowsers函数会把当前所有打开的浏览器都关闭,脚本中采用描述性编程的方式获取所有对象类型为“Browser”的测试对象,然后循环逐个关闭所有这种类型的测试对象。
 

0
相关文章