sColumn_Name="Type/"
'declaring variables
Dim arrDCol(1000)
Dim arrDSortCol(1000)
Dim arrCol(1000)
Dim arrSortCol(1000)
If Browser("").Page("").WebTable("").Exist(5) Then
intRowcnt = Browser("").Page("").WebTable("").RowCount
intColcnt = Browser("").Page("").WebTable("").ColumnCount(1)
' adding and comparing table headers
Set ColList = CreateObject("System.Collections.ArrayList")
j=0
For j = 3 to intColcnt
Set objCmp = Browser("").Page("").WebTable("")
strCol= trim(objCmp.GetCellData(1,j))
if(instr(strCol,sColumn_Name)) then
sFinColumn_Name=sColumn_Name
sFinColNo=j
Exit FOR
end if
Next
‘clicking on table column header which you want to sort in ascending order
set oLink=Browser("").Page("").WebTable("").ChildItem(1,sFinColNo,"Link",0)
Browser("").Page("").Sync
Set AppDataList = CreateObject("System.Collections.ArrayList")
Set SortASCList = CreateObject("System.Collections.ArrayList")
Set SortDESCList = CreateObject("System.Collections.ArrayList")
i=0
If intRowcnt>1 Then
For i = 3 to intRowcnt
Set objCmp = Browser("").Page("").WebTable("")
AppDataList.Add trim(objCmp.GetCellData(i,sFinColNo))
AppDataList.remove("")
AppDataList.TrimToSize
SortASCList.Add trim(objCmp.GetCellData(i,sFinColNo))
SortASCList.remove("")
SortASCList.TrimToSize
Next
SortASCList.Sort
n = 0
For each se in AppDataList
arrCol(n) = se
n = n +1
Next
m = 0
For each ses in SortASCList
arrSortCol(m) = ses
m = m +1
Next
i=0
For i = 0 to n
If trim(arrCol(i)) <> trim(arrSortCol(i)) then
sortFlag = sortFlag+1
strMatch = strMatch&"Unsorted : "&arrCol(i)& "- Sorted in ascending order : "&arrSortCol(i)&";"
Else
strMatch = strMatch&"sorted : "&arrCol(i)& "- Sorted in ascending order : "&arrSortCol(i)&";"
End If
Next
If sortFlag>0 Then
Reporter.ReportEvent micFail, " Table data is not displayed in sorted order - Ascending","" &strMatch
Else
Reporter.ReportEvent micPass, " Table data is displayed in sorted order - Ascending ","" &strMatch
End If
'sortin in descending order
set oLink=Browser("").Page("").WebTable("").ChildItem(1,sFinColNo,"Link",0)
oLink.Click
Browser("").Page("").Sync
Set DESCList = CreateObject("System.Collections.ArrayList")
i=0
For i = 3 to intRowcnt
Set objCmp = Browser("").Page("").WebTable("")
DESCList.Add objCmp.GetCellData(i,sFinColNo)
DESCList.remove("")
DESCList.TrimToSize
SortDESCList.Add trim(objCmp.GetCellData(i,sFinColNo))
SortDESCList.remove("")
SortDESCList.TrimToSize
Next
n = 0
For each se in DESCList
arrDCol(n) = se
n = n +1
Next
SortDESCList.Sort
SortDESCList.Reverse
m = 0
For each ses in SortDESCList
arrDSortCol(m) = ses
m = m +1
Next
strMatch=""
sortFlag=0
i=0
For i = 0 to n
If trim(arrDCol(i)) <> trim(arrDSortCol(i)) then
sortFlag = sortFlag+1
strMatch = strMatch&"Unsorted : "&arrDCol(i)& "- Sorted in descending order : "&arrDSortCol(i)&";"
Else
strMatch = strMatch&"sorted : "&arrDCol(i)& "- Sorted in descending order : "&arrDSortCol(i)&";"
End If
Next
If sortFlag>0 Then
Reporter.ReportEvent micFail, " Table data is not displayed in sorted order - Descending","" &strMatch
Else
Reporter.ReportEvent micPass, " Table data is displayed in sorted order - Descending ","" &strMatch
End If
else
Reporter.ReportEvent micWarning, " No data available to sort",""
End If
else
Reporter.ReportEvent micWarning, " No table exists",""
End If
No comments:
Post a Comment