guirongb 2004-12-6 10:39
Robot 对于delphi的控件的识别?
Robot对于Delphi的自定义控件,如:图中显示的类似于DataGrid的控件只能识别到
GenericObject Click, "Class=TwwDBGrid;ClassIndex=2", "Coords=202,58"
我想要得到各详细的控件属性,有什么好办法么?
比如,每一行的文本属性.
但是,我只能得到这些属性:
"Width","967.00000"
"Height","121.00000"
"Focus","True"
"Visible","True"
"Enabled","True"
"Left","28.00000"
"Top","83.00000"
"Text",""
是不是它是作为一整个控件的??不能一行行的识别文本的???这样我就死心了.
另外, 怎么样才能算是启动了Delphi Enabler? 是不是在 Tools->Extension Manager ->Delphi 上面打勾就行了???
不明白阿:,(,请高手指点明路.
guirongb 2004-12-6 10:41
另外,关于第三方控件的识别问题,我看过了
[url]http://bbs.51testing.com/viewthread.php?tid=1468&fpage=1[/url]
这篇帖子了,很模糊,基本上没得到什么帮助,请求高人更详细的解释...
guirongb 2004-12-6 11:45
没人回答????继续郁闷
pcl2004_27 2004-12-6 16:55
识别控件,需要相应的enabler,你现在测试的程序是delphi开发的应用软件,那么就要加载相应的delphi enabler!
extension manager里边加入了delphi enabler,但是这个还是不能识别出delphi开发中用到的第三方控件或则其他控件!其实这里选择只是个打开使用真正的delphi enabler的开关,真正的delphi其实是一个sqasrvr.pas的单元文件,这个单元文件是识别控件的核心。
ratitonal 2003里边的test enabler安装选项中包含delphi enabler,但是它需要你本机上安装delphi,才会把delphi enabler安装到你的机器上。否则不会出现。
假如安装成功后,会在开始菜单中rational菜单下,rational test菜单下出现个delphi enabler(具体什么名字忘记了)的菜单项,通过它可以调用一个执行文件。
执行文件的功能就是把sqasrvr.pas自动放到工程文件的头。
delphi 工程文件只有加载了这个delphi enabler(核心 sqasrvr.pas)才会让robot识别,当然前提是你的extension manager中delphi选择了。
guirongb 2004-12-7 08:55
pcl2004_27斑竹真是太感谢你了,不过,我还有一些疑问
我已经在没有Delphi的环境下安装好了Rational系统,那么现在要安装Delphi enabler是不是需要卸载Rational,安装Delphi,然后再安装rational呢?或者我现在安装Delphi,然后安装Rational Test Enabler就行了?(工程浩大阿,我懒)
再次拜谢功力深厚,大侠风范的pcl2004_27斑竹!谢谢
guirongb 2004-12-7 11:48
偶在偶可怜的机器上安装了Delphi7 ,然后再次安装 Rational Test Enabler,但是没有出现Delphi Enabler的选项,仔细看了 Test Enabler的 介绍....
A freely distributable add-on to Rational Robot that installs the components you need to enable ObjectTesting on a developer or tester system. It enables testing of ActiveX, Java, and Visual Basic 4 without installing the full Rational Robot product.
好像没有Delphi....
是不是要卸载了 Rational的整个产品才行???
搞大了,搞大了
sesamehch 2004-12-7 12:02
不用卸载Rational就可以
Delphi7好像不支持,要Delphi5
pcl2004_27 2004-12-7 12:05
其实我上边已经说得很清楚了,核心文件是sqasrvr.pas。
你只要有他就可以了,直接在delphi中用
我已经把这个enabler重新编译了,可以支持到delphi7
因为robot delphi enabler支持到delphi6,所以rational 会在安装的时候检查是否安装了delphi6以下的版本包括6,如果是delphi6以上的版本同样不会出现这个安装选项
pcl2004_27 2004-12-7 12:07
to guirongb:
其实不用那么麻烦,一般情况下都是现安装delphi后,安装rational,但是你如果有哪个sqasrvr.pas,就可以直接使用,不用再安装rational test enabler
guirongb 2004-12-7 13:15
pcl2004_27大虾:
这个文件大不大阿?能不能把这个文件发给我阿?
还有它是不是像头文件一样调用的阿?
就像 '$include "Common.sbh" ??
还有我在
Rational® Testing Products
Release Notes
Release 2003.06.00
看到
Rational Robot: General and Functional Testing
New and Changed Features
Delphi 6 Support
Rational Robot now supports Delphi 6, which includes enhancements to object recognition. (Users of any currently supported version of Delphi should carefully review the Guidelines and Restrictions section of this document.)
是不是Rational 2003 已经支持Delphi6 了?
guirongb 2004-12-7 13:51
我的Mail是
[email]guirongb@163.com[/email]
[email]guirongb@hotmail.com[/email]
alfra 2004-12-7 19:20
?
我也在不明白中。。。sqasrvr.pas,在delphi安装文件里面吗??
sesamehch 2004-12-8 08:42
安装Rational Test Enablers的Rational Test Delphi Enabler选项后,就会在Delphi下面多了一个Rational Test Delphi Project Converter工具,并且在Delphi系统根目录下的lib文件夹里生成多一个sqasrvr.pas文件。
你使用那个转换工具的话,它会在你指定的工程里面添加对sqasrvr.pas的引用,从而帮助Robot识别Delphi控件。
如果你有别人的sqasrvr.pas文件的话,把它直接添加到你的工程里直接使用也可以。
guirongb 2004-12-8 08:55
;o .听了楼上的大虾解释,我更加糊涂了,到底是先安装Enabler 还是 Delphi? 呵呵,先有鸡,还是先有蛋?
guirongb 2004-12-8 13:35
顶一下,等待sqasrvr.pas中。。。。。哪位大虾发一个?
sesamehch 2004-12-8 14:21
当然是先安装Delphi了。
z517testing 2004-12-8 15:02
1.先安装了delphi5
2.再安装Rational
3.以上安装成功之后在程序----delphi5中有delphi enabler这项,接下来怎样配置!谢谢!
guirongb 2004-12-9 10:13
pcl2004_27大虾:
能不能大发慈悲发个sqasrvr.pas 给我阿?
MailTo:
[email]guirongb@163.com[/email]
ee鱼 2004-12-13 08:55
我现在也有同样的问题,我们的产品是Delphi6的,前两天试了试用Robot,识别的不好啊!!!
[email]ezhangyiling@163.com[/email]
pcl2004_27 2004-12-13 10:25
我已经发送,请guirongb, ee鱼两位朋友接收!
wookt 2004-12-13 15:02
版主,给我发一个把,我急需wookt@163.com
guirongb 2004-12-14 10:35
pcl2004_27大虾:
晕,偶没有收到啊.再麻烦发一下??
[email]guirongb@163.com[/email]
[email]guirongb@hotmail.com[/email]
ee鱼 2004-12-15 14:32
我也没收到阿:,(
pcl2004_27 2004-12-15 15:53
Delphi Enabler
我这里的发邮件有问题,放到这里你们直接下
z517testing 2004-12-15 16:59
1.先安装了delphi5
2.再安装Rational
3.以上安装成功之后在程序----delphi5中有delphi enabler这项,接下来怎样配置!谢谢!
4.接下来叫开发人员打开被测试程序的源码,在主窗体是引用sqasrvr.pas这个单元,之后重新编译。
5.开始菜单中rational菜单下,rational test菜单下出现个Rational Test Delphi Project Converter的菜单项,通过它可以调用一个执行文件。
一切就OK!请指教!
z517testing 2004-12-15 17:02
注意:只把sqasrvr.pas 文发给开发员是不行的!最好是安装Rational Test Enablers这个包,这样开发人员引用是就不会出错!:$:$
[[i] Last edited by z517testing on 2004-12-15 at 17:04 [/i]]
z517testing 2004-12-15 17:06
[quote]Originally posted by [i]z517testing[/i] at 2004-12-15 05:02 PM:
注意:只把sqasrvr.pas 文发给开发员是不行的!最好是安装Rational Test Enablers这个包,这样开发人员引用是就不会出错!:$:$
[[i] Last edited by z517testing on 2004-12-15 at 17:04 [/i]] [/quote]
pcl2004_27 2004-12-15 20:00
谢谢楼上的建议
但是我想知道你的第五步
5.开始菜单中rational菜单下,rational test菜单下出现个Rational Test Delphi Project Converter的菜单项,通过它可以调用一个执行文件
这里调用的一个执行文件说的是什么?
sesamehch 2004-12-16 09:28
To:z517testing
你说:4.接下来叫开发人员打开被测试程序的源码,在主窗体是引用sqasrvr.pas这个单元,之后重新编译。
请问在主窗体引用sqasrvr.pas单元有什么用?应该在工程项目中加入这个单元就行了!
你说:5.开始菜单中rational菜单下,rational test菜单下出现个Rational Test Delphi Project Converter的菜单项,通过它可以调用一个执行文件。
在rational test菜单下会出现个Rational Test Delphi Project Converter的菜单项吗?是在Delphi菜单下才会出现吧!而且这个Converter的功能也就是将sqasrvr.pas单元加入到工程项目中
你说:注意:只把sqasrvr.pas 文发给开发员是不行的!最好是安装Rational Test Enablers这个包,这样开发人员引用是就不会出错!
我既是测试人员又是开发人员,我还对sqasrvr.pas 进行了扩展。但我用sqasrvr.pas 这么久了一点问题都没有啊,我想知道你指的出错是会出现什么错?
我在上面的帖子中已经说过了:
安装Rational Test Enablers的Rational Test Delphi Enabler选项后,就会在Delphi下面多了一个Rational Test Delphi Project Converter工具,并且在Delphi系统根目录下的lib文件夹里生成多一个sqasrvr.pas文件。
你使用那个转换工具的话,它会在你指定的工程里面添加对sqasrvr.pas的引用,从而帮助Robot识别Delphi控件。
如果你有别人的sqasrvr.pas文件的话,把它直接添加到你的工程里直接使用也可以。
我觉得我上面已经说得很清楚了吧!
z517testing 2004-12-16 09:31
谢谢,指教。
第五步:实现的功能与第四步的功能是一样。只是引用sqasrvr.pas单元的方法不同。
(我们也可以通过第五步点击《Convert》打开源程序再加入sqasrvr.pas)
所以正确的方法如下:
1.先安装了delphi5
2.再安装Rational
3.以上安装成功之后在程序----delphi5中有Rational Test Delphi Project Converter这项,接下来怎样配置!
4.接下来叫开发人员打开被测试程序的源码,在主窗体是引用sqasrvr.pas这个单元,之后重新编译。或从开始菜单中Delphi5菜单下的Rational Test Delphi Project Converter的菜单项进入引用sqasrvr.pas。
[[i] Last edited by z517testing on 2004-12-16 at 09:32 [/i]]
z517testing 2004-12-16 09:39
To:sesamehch
注意:只把sqasrvr.pas 文发给开发员是不行的!最好是安装Rational Test Enablers这个包,这样开发人员引用是就不会出错!如果只把sqasrvr.pas 文发给开发人员,那么开发人员在引用时会找不到sqasrvr.dcu文件,所以最好安装Rational Test Enablers这个包。
sesamehch讲得很对,谢谢指导。;)
[[i] Last edited by z517testing on 2004-12-16 at 09:46 [/i]]
sesamehch 2004-12-16 09:46
指导不敢当,共同探讨还是可以的。
你说“在主窗体是引用sqasrvr.pas这个单元”是很容易误导别人的,在窗体里是没有必要引用sqasrvr.pas单元的,只要把这个单元添加到工程里就行了。
guirongb 2004-12-16 09:47
太好啦,太好拉,终于画上圆满的句号,感谢PCL等老大的热心帮助。
z517testing 2004-12-16 09:48
没错,用词不当!
sesamehch 2004-12-16 09:55
To:sesamehch
注意:只把sqasrvr.pas 文发给开发员是不行的!最好是安装Rational Test Enablers这个包,这样开发人员引用是就不会出错!如果只把sqasrvr.pas 文发给开发人员,那么开发人员在引用时会找不到sqasrvr.dcu文件,所以最好安装Rational Test Enablers这个包。
sqasrvr.pas 都有了还找什么sqasrvr.dcu,在添加了sqasrvr.pas 单元再编译后就会生成sqasrvr.dcu了。
ee鱼 2004-12-16 10:22
各位高人,你们讲了这么多,受教了。可是...............
我装了Delphi6,Rational Test Enablers这个包也装了,之后内?怎么用阿?
1、怎样在指定的工程里面添加对sqasrvr.pas的引用?请指教一下怎么操作可以么?还是安了Rational Test Enablers后就不用管了,robot会自动引用?
2、让开发人员引用后再编译是不可能的,我们产品是业务建模平台,只能在robot里面做手脚了。
sesamehch 2004-12-16 10:34
To:ee鱼
让开发人员引用后再编译是不可能的
那样的话就没有了,用不了sqasrvr.pas了,用这个一定要开发人员引用后再编译的
sharpwood 2004-12-21 11:16
我用Delphi 7编译sqasrvr.pas这个文件,不能通过,提示 ole2.cue没有找到。
用Delphi 2005 编译更惨,好多错误,难道只能用6以下的版本吗?
sesamehch 2004-12-21 12:59
Delphi系统目录下的Lib文件夹下的Delphi2文件夹下有ole2.dcu这个文件,你引用就行了。
sharpwood 2004-12-21 14:47
我引用了还是不行,提示一堆错误,
[Warning] sqasrvr.pas(104): W1006 Unit 'OleAuto' is deprecated
[Warning] sqasrvr.pas(157): W1000 Symbol 'AUTOMATED' is deprecated
[Warning] sqasrvr.pas(183): W1000 Symbol 'AUTOMATED' is deprecated
[Warning] sqasrvr.pas(196): W1000 Symbol 'AUTOMATED' is deprecated
[Warning] sqasrvr.pas(207): W1000 Symbol 'AUTOMATED' is deprecated
[Warning] sqasrvr.pas(223): W1000 Symbol 'AUTOMATED' is deprecated
[Warning] sqasrvr.pas(236): W1000 Symbol 'AUTOMATED' is deprecated
[Warning] sqasrvr.pas(248): W1000 Symbol 'AUTOMATED' is deprecated
[Warning] sqasrvr.pas(257): W1000 Symbol 'AUTOMATED' is deprecated
[Warning] sqasrvr.pas(266): W1000 Symbol 'AUTOMATED' is deprecated
[Warning] sqasrvr.pas(272): W1000 Symbol 'AUTOMATED' is deprecated
[Error] sqasrvr.pas(569): E2003 Undeclared identifier: 'VarArrayCreate'
[Error] sqasrvr.pas(605): E2003 Undeclared identifier: 'VarAsType'
[Error] sqasrvr.pas(610): E2003 Undeclared identifier: 'VarToStr'
[Error] sqasrvr.pas(610): E2250 There is no overloaded version of 'SetStrProp' that can be called with these arguments
[Error] sqasrvr.pas(615): E2250 There is no overloaded version of 'SetStrProp' that can be called with these arguments
[Error] sqasrvr.pas(794): E2003 Undeclared identifier: 'VarType'
[Warning] sqasrvr.pas(794): W1023 Comparing signed and unsigned types - widened both operands
[Error] sqasrvr.pas(799): E2003 Undeclared identifier: 'VarIsEmpty'
[Warning] sqasrvr.pas(799): W1023 Comparing signed and unsigned types - widened both operands
[Error] sqasrvr.pas(799): E2015 Operator not applicable to this operand type
[Error] sqasrvr.pas(799): E2015 Operator not applicable to this operand type
[Error] sqasrvr.pas(807): E2003 Undeclared identifier: 'NULL'
[Error] sqasrvr.pas(826): E2003 Undeclared identifier: 'VarArrayCreate'
[Error] sqasrvr.pas(897): E2003 Undeclared identifier: 'VarAsType'
[Error] sqasrvr.pas(965): E2003 Undeclared identifier: 'VarArrayCreate'
[Error] sqasrvr.pas(982): E2003 Undeclared identifier: 'UnAssigned'
[Error] sqasrvr.pas(1060): E2003 Undeclared identifier: 'VarArrayCreate'
[Error] sqasrvr.pas(1157): E2003 Undeclared identifier: 'VarIsArray'
[Error] sqasrvr.pas(1158): E2003 Undeclared identifier: 'VarArrayHighBound'
[Error] sqasrvr.pas(1159): E2003 Undeclared identifier: 'VarArrayCreate'
[Error] sqasrvr.pas(1187): E2003 Undeclared identifier: 'VarArrayCreate'
[Error] sqasrvr.pas(1253): E2003 Undeclared identifier: 'VarIsArray'
[Error] sqasrvr.pas(1254): E2003 Undeclared identifier: 'VarArrayHighBound'
[Error] sqasrvr.pas(1255): E2003 Undeclared identifier: 'VarArrayCreate'
[Error] sqasrvr.pas(1279): E2003 Undeclared identifier: 'VarArrayCreate'
[Error] sqasrvr.pas(1313): E2003 Undeclared identifier: 'VarIsArray'
[Error] sqasrvr.pas(1314): E2003 Undeclared identifier: 'VarArrayHighBound'
[Error] sqasrvr.pas(1315): E2003 Undeclared identifier: 'VarArrayCreate'
[Error] sqasrvr.pas(1338): E2003 Undeclared identifier: 'VarArrayCreate'
[Fatal Error] stat.dpr(11): F2063 Could not compile used unit '..\STAT\sqasrvr.pas'
这是怎么回事?