51Testing软件测试论坛

标题: wr 的插件开发问题 [打印本页]

作者: jolley    时间: 2008-2-1 15:44
标题: wr 的插件开发问题
在游戏中使用winRunner的对象识别,只获得了window对象窗口里面最基本的属性,最大化和最小化,恢复,关闭,等属性,而在识别资源对象(美工制作的东西,比如各种控件,以及各种窗口,和各种怪,甚至道具)上面做得很不够,在网络上面搜索了一下,无意中看到了winRunner插件的几个来源:MI 插件,第三方插件,为标准控件开发DLL.我在想,是不是可以采用第三种方法来增加对资源对象的识别率呢?因为现在我对不能识别的资源对象都采用虚拟化的做法,依赖于virtual object wizard,但是后来发现,游戏里面的控件,已经要识别的对象太多了,如果一个一个被做成虚拟化对象,那样的话,是很繁重的工作,并且也不能重用,特别是有使用方面的限制,因为在GUI频繁改动的时候,用这种做法是不可取的,而只能在研发趋向于比较稳定的后期才可以使用这种方法,但是这样用于识别对象的成本太大了。
有谁做过这方面的插件开发呀?一般是怎么样处理这些问题的?先谢谢大家了。
作者: dionysus    时间: 2008-2-3 22:28
第三方插件和DLL开发都有一定的难度,如果有公司具有如此的能力,基本都可以为自己开发一套简单适用的自动化工具了。
lz是否考虑过换用其他自动化工具看看?
作者: jolley    时间: 2008-2-10 15:26
斑竹大人,有没有什么推荐?之前的想法是将标准控件扩展一下,并且采用DLL开发来增加对非WinRunner标准控件的识别。现在看来有点麻烦了,这个想法是在我回家前提出的,不过我现在在假期,等回公司了,做个试验,再说了,不过一个候选的工具是QTP,但是我不知道是否可以达到我想要的目的。
请大家多给建议,谢谢。
作者: lantianwei    时间: 2008-2-11 14:14
原帖由 jolley 于 2008-2-10 15:26 发表
斑竹大人,有没有什么推荐?之前的想法是将标准控件扩展一下,并且采用DLL开发来增加对非WinRunner标准控件的识别。现在看来有点麻烦了,这个想法是在我回家前提出的,不过我现在在假期,等回公司了,做个试验,再说 ...

1.其实自己开发插件是很困难的事,WR不识别的对象你要自己来实现识别并操作更是困难,它已不是简单的发点消息就完事了,要涉及到消息钩之类的东西,如果没有比较扎实的C开发经验,做这项工作是非常困难的.
2.我更建议你用其他的方法来解决,比如用相对坐标什么的
3.如果你测试的对象是非WEB程序,那么我想QTP的支持也会非常可怜,个人觉得QTP在处理非标准对象这块还没有WR强.
作者: jolley    时间: 2008-2-17 09:52
1.其实自己开发插件是很困难的事,WR不识别的对象你要自己来实现识别并操作更是困难,它已不是简单的发点消息就完事了,要涉及到消息钩之类的东西,如果没有比较扎实的C开发经验,做这项工作是非常困难的.

我想知道更加详细的说明,有没有这方面的具体例子?
2.我更建议你用其他的方法来解决,比如用相对坐标什么的

采用相对坐标,你是以哪个参照系来做的,相对于哪个?
作者: lantianwei    时间: 2008-2-17 12:07
原帖由 jolley 于 2008-2-17 09:52 发表

我想知道更加详细的说明,有没有这方面的具体例子?

采用相对坐标,你是以哪个参照系来做的,相对于哪个?

1.你可以参看WR的高级帮助,有相关说明
2.不知道你的用WR识别的对象能不能识别到子对象,如果可以识别到,那么是可以做到的;如果不可以,只可以得到一个大的窗体对象,我觉得你可以考虑放弃了,因为如果你想通过写插件来实现对象的反编译然后识别,那将是非常困难的,而且在这方面国内外也没有什么资料可查.
作者: fengxueren    时间: 2008-2-18 10:24
如果你说的这些控件,可以通过spy++等第三方工具进行识别,那么就可以自己开发插件来做.

如果觉得自己做有难度,叫你们开发支持一下就行了.

但是如果spy++等无法识别这些控件,那就比较困难了. 可能需要了解具体的接口等了. 比如sieble就是这样
作者: lantianwei    时间: 2008-2-18 11:56
原帖由 fengxueren 于 2008-2-18 10:24 发表
如果你说的这些控件,可以通过spy++等第三方工具进行识别,那么就可以自己开发插件来做.

如果觉得自己做有难度,叫你们开发支持一下就行了.

但是如果spy++等无法识别这些控件,那就比较困难了. 可能需要了解具体的 ...

LZ参考fengxueren前辈的答复吧!
作者: jolley    时间: 2008-2-18 16:33
原帖由 fengxueren 于 2008-2-18 10:24 发表
如果你说的这些控件,可以通过spy++等第三方工具进行识别,那么就可以自己开发插件来做.

如果觉得自己做有难度,叫你们开发支持一下就行了.

我想说明的是:
1 我用spy++在QQ上面做了试验,发现可以在与好友聊天的对话框里面获得一些类和控件信息,另外我又在QQ的面板上,做了同样的试验,发现了一个问题,spy++在面板上面只能识别一个Tencent_QQBar和一个Dialog之类的东西,这里是不是说,spy++不识别面板上面的静态文字或者图片呢,以及下拉菜单等等控件呢?
类似地,在我关心的游戏里面,用spy++也获得了这样的结果:
caption:游戏名
class: WSWINDOW
style: 14CA0000
Rect: (154,53)-(960,678),806*625
游戏中其它控件或者类都不可能得到。
但是在QQ面板上面就识别不了全部的类或者控件,在2D网络游戏里面不能识别的话,能说明什么问题呢?
但是如果spy++等无法识别这些控件,那就比较困难了. 可能需要了解具体的接口等了. 比如sieble就是这样

大哥,我不是很清楚你提到的具体的接口, 是程序的接口,还是TSL对应的控件接口。另外还有sieble究竟是什么呢?不是很清楚的,能不能给我讲讲或者给一个具体的例子呀?




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