5、WebTable功能函数集合:
' ************************************************** Function Library ******************************** ' Registering both functions RegisterUserFunc "WebTable", "ObjectsByMicClass", "ObjectsByMicClass" RegisterUserFunc "WebTable", "ItemByKeyColumn", "ItemByKeyColumn" ' Function: ObjectsByMicClass ' Descrīption: 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 ōbjCollection = CreateObject("scrīpting.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 ōbjectsbyMicClass = objCollection End Function ' Function: ItemByKeyColumn ' Descrīption: Returns an item from a column, based on the value of a ' key column ' Return Value: Object ' Arguments: ' Obj - Test Object (WebTable) ' KeyColumnIndex - Index of the KeyColumn ' KeyColumnValue - Value to search for in the key column ' KeyItemIndex - Index of the value in the key column (if there is ' more than one). If 0, the first item will be used. ' TargetColumnIndex - Column from which to retrieve the target item ' micClass - The micClass of the target item ' TargetItemIndex - Index of the target item to retrieve (if there is ' more than one). If 0, the first item will be used. ' ------------------------------------------------------------------------------------------------------------------------------------ Function ItemByKeyColumn(Obj, KeyColumnIndex, KeyColumnValue, KeyItemIndex, TargetColumnIndex, micClass, TargetItemIndex) Table = Obj rowCount = Table.RowCount ' if TargetItemIndex was not specified, use 1 as deafult If TargetItemIndex < 1 Then TargetItemIndex = 1 End If ' if KeyColumnIndex was not specified, use 1 as default If KeyItemIndex < 1 Then KeyItemIndex = 1 End If ' look for KeyColumnValue in the key column to determine which ' row to retrieve the targe item from Row = 0 foundIndex = 0 While Row <= RowCount And foundIndex < KeyItemIndex Row = Row + 1 CellData = Table.GetCellData(Row, KeyColumnIndex) If CellData = KeyColumnValue Then foundIndex = foundIndex + 1 End If Wend If foundIndex < KeyItemIndex Then Exit Function End If ' Now that we know the row, retrieve the item (according to its micClass) ' from the target column. ChildItemsCount = Table.ChildItemCount(Row, TargetColumnIndex, micClass) If ChildItemsCount > =1 And ChildItemsCount >= TargetItemIndex Then Set GetItemByKeyColumn = Table.ChildItem(Row, TargetColumnIndex, micClass, TargetItemIndex-1) End If End Function ' ************************************ Examples that use these functions ******************************************************* ' Using the ItemByKeyColumn Function Set ōbj = Browser("Table with objects").Page("Itenerary: Mercury Tours").WebTable("Acapulco to Zurich").ItemByKeyColumn(1,"FLIGHT",2,3,"WebElement",1) msgbox obj.GetROProperty("innerhtml") ' Using the ObjectsByMicClass function Set collection = Browser("Browser").Page("Page").WebTable("Table").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 |
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/