april712 发表于 2011-8-30 16:51:59

求助,如果用RFT抓到无法识别的对象,想用find方法不知道属性

我们公司开发的一个产品里面使用的是自己编写的一个控件类,这个控件类与dbgrid相似,但是在RFT自动化测试中,这个grid无法获得,只能抓到他的上层。
然后我想使用find方法去获得这个grid,可是因为抓不到任何属性,不知道怎么使用动态的方法去获得这个对象。向大家求助,如何才能获得这种对象。

dreamever 发表于 2011-9-1 16:20:47

可以使用RFT的录制功能去录制一下那个控件的任意操作,然后去脚本资源管理视图中,就可以看到这个对象的一些基本属性了,这样,你就可以调用find方法了。
一般的,任何一个对象都会被映射为RFT的一个对象,即使不能被对象检查器识别的对象也一样

april712 发表于 2011-9-6 11:26:47

回复 2# dreamever

我试了用录制的方式,可是代码里面只有用上级对象点击一个相对坐标的代码,在Test Objects里面也只有splitPanUser()这一个对象啊
splitPaneUser().doubleClick(atPoint(110,31));

kou_dou 发表于 2011-9-7 15:53:19

那就是真的不支持。。。

dreamever 发表于 2011-9-16 13:40:17

如果是用.net开发的,那就安装一下.net framework,然后用录制的方式应该能获取到那个对象的属性.
,脚本无法获取到对象属性的原因,主要是机器上没有相应的GUI库(暂且这么叫)

todaysun99 发表于 2011-10-15 00:09:17

自定义的控件,这种事情常有发生。
1、开后门,开发的时候就考虑的可测试性。
2、相对坐标
3.。。。期待大侠补充

apollohappy 发表于 2012-2-9 22:20:28

最近我公司也遇到这个问题,抓取不到对象,例如某个text文本框,抓的都是坐标,真正的属性没有,期待解惑

george_wang 发表于 2012-11-14 17:05:27

找到grid父节点,然后遍历所有子节点及其属性

丝路 发表于 2013-4-16 16:01:16

最近我公司也遇到这个问题,抓取不到对象,例如某个text文本框,抓的都是坐标,真正的属性没有,期待解惑
apollohappy 发表于 2012-2-9 22:20 http://bbs.51testing.com/images/common/back.gif


抓父节点试一下。
如果依然抓不到,看一下界面的源文件.

jenny999 发表于 2013-5-14 14:48:48

可以尝试一下:对于定制的控件,先把整体控件抓取,再使用getMethods() 获取控件的所有方法及其签名,分析下使用哪些方法可以获取grid控件,然后用invoke方法调用。
页: [1]
查看完整版本: 求助,如果用RFT抓到无法识别的对象,想用find方法不知道属性