51Testing软件测试论坛

标题: 关于第三方控件的识别问题,大家来讨论一下 [打印本页]

作者: ham301    时间: 2008-4-21 18:02
标题: 关于第三方控件的识别问题,大家来讨论一下
许多帖子上都讲到了第三方控件的识别问题,但感觉有点天马行空了.这里我提一个具体的应用吧,大家讨论一下.
我所在的公司用了El Tabelle MultiRow和El Tabelle Sheet两个列表控件, QTP不能识别,虚拟对象或是映射对象不大合适,总不能把集成了多种基础控件的列表控件指定为winlist吧.有没有哪个兄弟姐妹的公司用到了El Tabelle for .NET的控件,怎么在QTP中解决识别问题的?
    大家一起来讨论吧!


SwfWindow("==========").SwfObject("multiRowSheet1").Click 19,151
SwfWindow("==========").SwfObject("multiRowSheet1").Click 89,103
SwfWindow("==========").SwfObject("multiRowSheet1").Click 17,107
SwfWindow("==========").SwfObject("multiRowSheet1").Click 17,107
SwfWindow("==========").SwfButton("=======").Click
SwfWindow("==========").SwfWindow("==========").SwfObject("eltMRowPayment").Click 25,467
SwfWindow("==========").SwfWindow("==========").SwfObject("eltMRowPayment").Type  micReturn
SwfWindow("==========").SwfWindow("==========").SwfObject("eltMRowPayment").Click 356,494
SwfWindow("==========").SwfWindow("==========").SwfObject("eltMRowPayment").DblClick 353,493

[ 本帖最后由 ham301 于 2008-4-21 18:09 编辑 ]
作者: ham301    时间: 2008-4-21 23:17
自己给自己顶一下,大家来畅所欲言吧!
作者: lengz    时间: 2008-4-22 10:55
帮你顶,我也遇到了问题,第一次接触,一头雾水
作者: ham301    时间: 2008-4-22 18:16
没人遇到过这种问题吗?高手,指点迷津!
作者: tracy99999    时间: 2008-4-22 19:36
等待别人的回答,呵呵
作者: ham301    时间: 2008-4-23 11:22
  人呢?
作者: fox750    时间: 2008-4-23 11:44
El Tabelle MultiRow和El Tabelle Sheet是啥样子的东西?我也刚开始用,遇到最多的还是SwfTable
作者: ham301    时间: 2008-4-23 12:50
列表控件,你可以上网搜索一下.
作者: ham301    时间: 2008-8-28 12:05
我们公司现在用的是TestPartner,解决的办法是获取控件属性操作
Dim eltMRowMain As TGUIObject              '明細行部分
Dim MulRSheet As Object
Dim eltMRowMainSub As Object

Set eltMRowMain = GUIObject("Name=eltMRowMain ClassName=WindowsForms10.Window.8.app.0.202c666")
Set MulRSheet = eltMRowMain.Object

eltMRowMain.Attach
Set eltMRowMainSub = MulRSheet.Item(0, 0, 0)
MulRSheet.ActiveMRowIndex = 0       '设定活动行
MulRSheet.ActiveCellKey = eltMRowMainSub.Key    '设定活动cell
eltMRowMain.Type "23424"

Set eltMRowMainSub = MulRSheet.Item(0, 8, 0)
MulRSheet.ActiveMRowIndex = 0
MulRSheet.ActiveCellKey = eltMRowMainSub.Key
eltMRowMain.Type "12323"



我用相同的方法放到QTP上,就是不行.
但是,我设了断点调试的时候,一步一步的实行,却有可以.

Set eltMRowMain=SwfWindow("******").SwfObject("eltMRowMain")
Set MulRSheet=SwfWindow("******").SwfObject("eltMRowMain").Object

set eltMRowMainSub = MulRSheet.Item(0, 0, 0)
MulRSheet.ActiveMRowIndex = 0      
MulRSheet.ActiveCellKey = eltMRowMainSub.Key
eltMRowMain.Type "0101"

set eltMRowMainSub = MulRSheet.Item(0, 8, 0)
MulRSheet.ActiveMRowIndex = 0
MulRSheet.ActiveCellKey = eltMRowMainSub.Key
eltMRowMain.Type "11010"

有人知道吗,来讨论一下呢
作者: ham301    时间: 2008-8-28 13:01
大概找到原因了,可能是QTP执行的太快了.
添加两个调试的MSG ,就可以了.但是,用wait()方法不行.
所以,可不可以改变QTP的运行速度呢?这个,请回答呢

Set eltMRowMain=SwfWindow("******").SwfObject("eltMRowMain")
Set MulRSheet=SwfWindow("******").SwfObject("eltMRowMain").Object

MSGBOX("aaa")
set eltMRowMainSub = MulRSheet.Item(0, 0, 0)
MulRSheet.ActiveMRowIndex = 0      
MulRSheet.ActiveCellKey = eltMRowMainSub.Key
eltMRowMain.Type "0101"

MSGBOX("BBB")
set eltMRowMainSub = MulRSheet.Item(0, 8, 0)
MulRSheet.ActiveMRowIndex = 0
MulRSheet.ActiveCellKey = eltMRowMainSub.Key
eltMRowMain.Type "11010"
作者: ham301    时间: 2008-8-28 14:56
设置:
TOOL--OPTIONS-RUN tab --RUN MODE
把单步执行的时间调到1秒.
去掉MSG后,还是不行.
应该不是执行时间的问题.

到底啥原因呢




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