51Testing软件测试论坛
标题:
浅谈WR的录制机制
[打印本页]
作者:
lantianwei
时间:
2007-8-8 17:25
标题:
浅谈WR的录制机制
本人一直认为学任何东西都要学习他的本质,只有你了解了他的本质,你才能用好他。当然WR也不例外,只有了解了WR的本质,才能真正用好WR。以前你用WR可能要受到WR的种种限制,比如你点击一个OBJ对象,会出现坐标,这样很难维护。但当你真正理解了WR,你可以从底层写代码(比如抓句柄)来操作该对象,这样就不用再依赖坐标了。好像扯的太远了,但我只想说明一点:我们要去掌控工具,而不是被工具牵着鼻子走!
现在入正题,其实也很简单:
准备工作:
1.创建一个DLL文件,他用来接受WINDOWS发出的消息,并根据消息把脚本写入到WR中
2.使该DLL与对象产生关联,要不你怎么知道点了什么对象,该产生什么“录制脚本”呢
录制机制:
用户对对象(比如Button1)进行操作(比如Click)---对象根据对象的类型(比如是BUTTON)-----对象录制注册表(我这么称呼)---找到需要的DLL文件---根据消息(这里是WM_LBUTTONDBLCLK)产生录制脚本(这里是button_press("Button1");)
OK,结束了。
如果大家看了,有觉得我说的不对的,
请大家指正!
非常感谢!
[
本帖最后由 lantianwei 于 2007-8-8 17:40 编辑
]
作者:
fengxueren
时间:
2007-8-8 17:28
你的思路我觉得是对的,winrunner很多底层的函数,也都是通过底层的api来实现的
其实我们自己完全可以自己写函数,比如list函数,通过句柄,完全可以实现select等功能,还可以自己加上很多功能
^_^
作者:
lantianwei
时间:
2007-8-8 17:38
呵呵。。。楼上写过吗,我感觉很难的,而且要用到反编译算法,不容易啊,要不MI吃什么啊?!sdlkfj5
作者:
fengxueren
时间:
2007-8-8 17:41
我自己写过dll实现一些扩展的功能,可以实现操作一些winrunner不支持的控件
不过还是比较原始,我一般都是通过winrunner得到控件的handle,然后在dll中对这个控件做操作。
作者:
lantianwei
时间:
2007-8-8 17:52
看来楼上对WR用的还是满精通的,敬佩。以后多多交流!
作者:
dionysus
时间:
2007-8-8 21:59
我以前使用WR调用dll中的函数,实现wr难做的事情,用dll识别控件倒是没有做过,感觉那样已经接近自己编写自动化工具了啊,强人
作者:
lrx0219
时间:
2007-10-7 22:43
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2