扩展QTP的WebTable测试对象

来源:互联网 发布:mac自带的画图软件 编辑:程序博客网 时间:2024/06/06 03:14

 

WebTable是使用QTP进行WEB页面测试时经常碰到的测试对象,由于WebTable可以嵌套,因此通常需要ChildItem来获取嵌套的子元素

 

可以封装一些方法来扩展WebTable测试对象,简化测试脚本的实现,例如返回WebTable中包含的指定类型(MicClass)的测试对象。

 

以下脚本摘自QTPCodeSamplesPlus

 

' Function: ObjectsByMicClass

' Description: Returns a collection of objects all the objects in a

' WebTable that have the specified MicClass

' Return Value: A Collection of Objects

' Arguments:

' Obj - Test Object (WebTable)

' micClass - The micClass of the objects to retrieve

'-----------------------------------------------------------------------------------------------------------

Function ObjectsByMicClass(Obj, micClass)

    Set Table = Obj

    ' Create a collection object to hold the items

    Set objCollection = CreateObject("Scripting.Dictionary")

    ' Go over all the cells in the table, and look for objects with the specified micClass

    For row=1 to Table.RowCount

        ColumnCount=Table.ColumnCount(row)

        For col=1 to ColumnCount

            For ItemIndex=0 to Table.ChildItemCount(row, col, micClass)-1

                Set childItem=Nothing

                Set childItem = Table.ChildItem(row, col, micClass, ItemIndex)

                If Not childItem is Nothing Then

                     ' If the cell contains a micClass object, add it to the collection

                     ItemKey = objCollection.Count + 1

                     objCollection.Add ItemKey, childItem

                End if

            Next

        Next

    Next

    Set ObjectsbyMicClass = objCollection

End Function

RegisterUserFunc "WebTable","ObjectsByMicClass","ObjectsByMicClass"

 

 

使用ObjectsByMicClass的例子:

Set collection = Browser("Browser").Page("Web Tours").Frame("info").WebTable("Joseph Marshall 's Flight").ObjectsByMicClass("WebCheckBox")

For i=1 to collection.count

    If collection(i).GetROProperty("checked") Then

        collection(i).Set "OFF"

    Else

        collection(i).Set "ON"

    End If

Next

 

 

 

原创粉丝点击