原帖由 jolley 于 2008-2-19 12:17 发表
我在玩WinRunner的时候,发现了这样的问题:
1 什么控件被WinRunner认为是可以识别的?
在WinRunner里面提到的toolbar,button,edit,icon,list,menu,scroll,table,object, window, general等这些控件是可以被识别的 ...
原帖由 lantianwei 于 2008-2-19 21:51 发表
识别机制
Winrunner本身有一套自己的标准对象库,比如在物理描述中的class属性值就是标准对象,当在进行录制或对对象进行学习的时候Winrunner首先得到被测对象的属性,然后将这些属性与标准对象的属性进行对比,如果匹配就将被测对像转换成标准对象,否则转换成object对象,也就是非标准对象。
2.回放机制
讲最简单的,也就是根据句柄操作对象(一般写插件我们只要用这种方式就可以了).写一个录制函数的逆函数,也就是回放函数,给它传递一个句柄,然后调用DLL中对应的函数,对指定的对象发消息或做其他什么操作,以实现和录制时一样的操作.
原帖由 jolley 于 2008-2-20 10:16 发表
谢谢蓝天伟前辈,给这些好的解释。
我对你说的两个机制,在游戏里面想到了一些问题,希望你帮忙解答一下,以确保我完全理解你的意思:
1 如果要扩充WinRunner的标准对象库,那么是不是注意知会WinRunner被扩展对 ...
对于自动化测试接口, 在Windows系统上, 一般做法就是自定义一套消息. 自动化测试程序, 通过消息, 以及内存文件映射等机制与被测程序通信.
从函数层面来说, 被测试程序至少要提供一个"object GetValue的方法, 通过这个方法, 获取控件相应信息.
还要可以拦截事件, 比如你可以向被测程序的某个事件加一个回调函数, 这样就某个事件(比如按钮按下), 你就能得到通知.
另外, 如果不是纯粹模拟鼠标键盘, 还必须考虑bool SetValue等方法, 通过这个, 你可以直接设置控件属性.
从底层来说, 就是自定义windows消息, 怎么处理, 怎么进程通信, 这个可以有很多做法.
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) | Powered by Discuz! X3.2 |