51Testing软件测试论坛

标题: 请问如何能取到VB应用程序中,MSHFlexGrid的某个Cell的数据值 [打印本页]

作者: 牛肉粉丝汤    时间: 2005-4-30 13:57
标题: 请问如何能取到VB应用程序中,MSHFlexGrid的某个Cell的数据值
请教一个问题,我用QTP测试VB的程序,VB中有个控件可以显示数据表,叫做MSHFlexGrid,在用QTP录制的过程中,我无法取到MSHFlexGrid中某个Cell的值。:,(
在Web的table里面,偶可以用脚本:Browser("***" ).Page("***" ).WebTable("***" ).GetCellData(1,1) 的方法取到Table表中某个Cell的数据;那么请问大家用什么办法能够取到MSHFlexGrid中某个Cell的数据值啊?偶很郁闷的说

[ Last edited by 牛肉粉丝汤 on 2005-4-30 at 14:01 ]
作者: QA_BAY    时间: 2005-4-30 16:09
MSHFlexGrid在QTP里面找不到,你看一个他的属性!会不会多了一个WINDOWS_ID.
作者: 牛肉粉丝汤    时间: 2005-4-30 16:33
我这里能找到啊……
比如:VbWindow("frmMain").ActiveX("MSHFlexGrid").GetROProperty("Rows") 就能够取到MSHFlexGrid显示数据表的行数
可是就是取不到Cell的数据值,我没看到多WINDOWS_ID这个属性啊;

现在变通的方法就是选择Cell的位置,然后通过输出值(OutPut)来取到这个Cell的值,可是这样我不大方便在脚本里面取用这个Cell值来进行比对,想知道更好的方法的说……
作者: QA_BAY    时间: 2005-4-30 17:00
会不会你这个没有CellData的功能呢?
可以做检查点吗?就是很WEBTABLE那样!取整个表格
作者: 牛肉粉丝汤    时间: 2005-4-30 17:18
我取的就是整个MSHFlexGrid的,现在变通的方法就是选择Cell的位置,然后通过输出值(OutPut)来取到这个Cell的值,然后再在脚本里面调用DataTable("列名",表名)可以得到,这样脚本里面也能用……

那个像WEBTABLE那样!取整个表格的方法适用Web,但是VB不能用……还说QTP支持VB的,感觉这一点还是WR方便啊,但是WR的GUI Map维护又!@$!#@……

[ Last edited by 牛肉粉丝汤 on 2005-4-30 at 17:21 ]
作者: QA_BAY    时间: 2005-4-30 17:30
我现在还没有那样环境来测试!有也只能用WR来,所以如果那个觉得好用就用哪种.
我是用工具的人.不是工具用我!达到目的就行!
作者: loho1968    时间: 2006-5-28 22:35
顶,不知道楼主解决了没,我是只好使用文本检查点的方法来解决。
作者: xiaonan    时间: 2006-5-29 08:56
试试这种能取到吗?
Window("XXX").Dialog("XXX").WinListView("XXX").GetSubItem( 0, 1)
作者: loho1968    时间: 2006-5-29 09:45
QTP识别的对象就是MSFLEXGRID,能够直接使用上述的方式来处理吗?
作者: Horus_Ra    时间: 2006-5-29 10:08
很简单啊,用WebTable("***" ).Object.TextMatrix(1,1)之类的属性
其中TextMatrix就是WebTable的一个属性,你用Objectspy看一下~




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2