QTP中的WebTable中的GetRowWithCellText方法改进
上一篇 /
下一篇 2010-06-01 16:43:46
/ 个人分类:QTP
QTP中自带的GetRowWithCellText方法是用来返回表格中出现的第一个匹配字符串值的行的方法。很明显,这个方法只能寻找到第一个结果,而如果表格中有多个匹配的行,这个方法就行不通了。
好在这个方法中有几个OPTIONAL的参数
GetRowWithCellText(Text, [Column], [StartFromRow])
很重要的是第三个参数,StartFromRow。这个参数的存在使得我们可以自己写一个函数,比如叫做GetAllRowsWithCellText,用来返回所有匹配的行。
方法的主要思路是这样,当寻找到第一个匹配的时,继续寻找,并把StartFromRow设为当前行的下一行,直到最后一行。最后返回一个DICTIONARY值,可以通过键值对它访问。
其中还碰到一个问题,就是怎样忽略第二个可选参数,方法是直接给个0就好了,不过引用类型估计要用EMPTY。
代码如下:
- Function GetAllRowsWithCellText(webTable, text)
- Dim rowcount,row,startrow,j,allrows
- rowcount = webTable.RowCount
- Set allrows = CreateObject("Scripting.Dictionary")
- row = -1
- startrow=0
- j = 0
- Do Until startrow=rowcount+1
- row = webTable.GetRowWithCellText(text,0,startrow)
- If row =-1 Then
- Exit Do
- else
- allrows.Add j,row
- j = j+1
- startrow = row +1
- End If
- Loop
- Set GetAllRowsWithCellText = allrows
- End Function
收藏
举报
TAG: