• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

QTP测试报表table内容的思路

发布: 2008-6-12 17:11 | 作者: 网络转载 | 来源: CSDN | 查看: 245次 | 进入软件测试论坛讨论

领测软件测试网 使用QTP对报表中的webtable内容进行正确性验证。

基本思路是:

一:使用getcelldata(i,j)的方法遍历webtable把表格内容存入一个数组中,一般为二维数组

二:使用数据库连接组件ADODB连接后台数据库,使用数据结果集对象保存select查询结果,也是一个二维数组

三:此时区分是否需要验证排列顺序,如果需要,直接对两个二维数组进行一对一遍历比较

四:不需要验证排列顺序,或者顺序无法控制的情况下,我们需要对显示内容和查询预期内容进行比较,这时候牵涉到两个结果集的数据顺序问题,如果采用单对多遍历的情况,效率会十分低。

这时候我们换一种思路考虑,既然是验证内容,那我们就可以把二维数组的验证转换成排序一维数组比较,实现方式是,采用join方法将二维数组的每一行转换成一个字符串(内容没有变化,只加入拼接符),两个二维数组进行相同转换,成为两个一维的字符串数组。

然后使用快速排序法对两个一维数组进行一次排序,同样的机制下,如果原本内容相同,那么排序出的内容也应该相同。然后直接进行一维数组一对一比较。

下面是vbs的快速排序代码,合适数字和字符串数组:

Public Function QSort(ByRef ReArr, ByVal head, ByVal tail)

'ReArr 是待排序数组, head和tail是该数组的最小下标和最大下标
Dim lef, rig
Dim pivot

If head < tail Then
lef=head
rig=tail
pivot=ReArr(lef)
While (lef <> rig)

While (lef < rig and ReArr(rig) >= pivot)
rig = rig-1
Wend
If lef <rig Then
ReArr(lef) = ReArr(rig)
lef = lef+1
End If

While (lef < rig and ReArr(lef) <= pivot)
lef = lef+1
Wend
If lef <rig Then
ReArr(rig) = ReArr(lef)
rig = rig-1
End If

Wend

ReArr(lef) = pivot
call QSort(ReArr, head, lef-1)
call QSort(ReArr, lef+1, tail)

End If
End Function

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: qtp QTP 思路 table


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网