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