【工作经历:阿里巴巴搜索技术研发中心QA ,百度新产品测试部QA】 【领域:测试分析,自动化测试,性能测试,安全测试 】 【个人定位:高级测试工程师+培训师+领域产品专家】

反编译maui

上一篇 / 下一篇  2008-07-25 20:34:09 / 个人分类:自动化测试

maui是微软的一套测试框架。我们的项目使用的是基于它之上的一个框架。很多最终的操作还是要靠maui实现。今天突然想看看他的原理,就开始了我的反编译之旅。

幸好maui是不加密的。解密没有任何困难。代码也很清晰。
从它的对象初始化开始跟踪它的对象识别体系。
从它的操作功能跟踪他的对象操纵机制。

需要留意的是window的识别,甚至是msaa都是根据api来获得的。window和msaa是使用的不同的api。
这表明这两个对象是基于不同的机制。

最终终于跟到了最后,所有的功能都是根据系统api和windows的消息机制来模拟的。web控件的识别和操作是基于mshtml的。

平时调试程序的时候多有不变。模拟鼠标和键盘的操作,自然也会对调试者形成干扰。大部分情况还是使用日志进行分析。
感觉如果加入一个驱动处理层就可以了。

比如调试者的计算机为客户端,被操纵的计算机为服务端。客户端将命令发送到服务端的特定的管道。
比如文件,数据库,网络socket。服务端通过一个处于驱动处理层的程序,将所有的命令翻译为api和消息进行执行。这样就可以一台计算机上控制多台计算机进行case执行。

总共加班了6个小时,终于有了初步的认识。
对于以后解决问题,会有一些帮助。





TAG: 自动化测试

 

评分:0

我来说两句

Open Toolbar