51Testing软件测试论坛

标题: 求助,如果用RFT抓到无法识别的对象,想用find方法不知道属性 [打印本页]

作者: april712    时间: 2011-8-30 16:51
标题: 求助,如果用RFT抓到无法识别的对象,想用find方法不知道属性
我们公司开发的一个产品里面使用的是自己编写的一个控件类,这个控件类与dbgrid相似,但是在RFT自动化测试中,这个grid无法获得,只能抓到他的上层。
然后我想使用find方法去获得这个grid,可是因为抓不到任何属性,不知道怎么使用动态的方法去获得这个对象。向大家求助,如何才能获得这种对象。
作者: dreamever    时间: 2011-9-1 16:20
可以使用RFT的录制功能去录制一下那个控件的任意操作,然后去脚本资源管理视图中,就可以看到这个对象的一些基本属性了,这样,你就可以调用find方法了。
一般的,任何一个对象都会被映射为RFT的一个对象,即使不能被对象检查器识别的对象也一样
作者: april712    时间: 2011-9-6 11:26
回复 2# dreamever

我试了用录制的方式,可是代码里面只有用上级对象点击一个相对坐标的代码,在Test Objects里面也只有splitPanUser()这一个对象啊
splitPaneUser().doubleClick(atPoint(110,31));
作者: kou_dou    时间: 2011-9-7 15:53
那就是真的不支持。。。
作者: dreamever    时间: 2011-9-16 13:40
如果是用.net开发的,那就安装一下.net framework,然后用录制的方式应该能获取到那个对象的属性.
,脚本无法获取到对象属性的原因,主要是机器上没有相应的GUI库(暂且这么叫)
作者: todaysun99    时间: 2011-10-15 00:09
自定义的控件,这种事情常有发生。
1、开后门,开发的时候就考虑的可测试性。
2、相对坐标
3.。。。期待大侠补充
作者: apollohappy    时间: 2012-2-9 22:20
最近我公司也遇到这个问题,抓取不到对象,例如某个text文本框,抓的都是坐标,真正的属性没有,期待解惑
作者: george_wang    时间: 2012-11-14 17:05
找到grid父节点,然后遍历所有子节点及其属性
作者: 丝路    时间: 2013-4-16 16:01
最近我公司也遇到这个问题,抓取不到对象,例如某个text文本框,抓的都是坐标,真正的属性没有,期待解惑
apollohappy 发表于 2012-2-9 22:20



抓父节点试一下。
如果依然抓不到,看一下界面的源文件.
作者: jenny999    时间: 2013-5-14 14:48
可以尝试一下:对于定制的控件,先把整体控件抓取,再使用getMethods() 获取控件的所有方法及其签名,分析下使用哪些方法可以获取grid控件,然后用invoke方法调用。




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