微软UI自动化测试的技术演变(上)

发表于:2010-1-28 16:07

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:熊力    来源:www.cnblogs.com/stbchina

  针对MSAA的工具也有很多,比如AccExplorer(图二)可以像Spy++一样对指定程序进行控件的树形浏览,检查MSAA属性等。

点击查看大图

图二: AccExplorer

  如果您是开发人员, 对于unmanaged UI程序的MSAA实现,参考MSDN中关于WM_GETOBJECT的说明返回IAccessible interface就可以了。对于managed程序, 实现方法更简单, 现成的例子可以参考:

  *  Control..::.ControlAccessibleObject Class

  *  How to create accessible controls by using Visual Basic .NET or Visual Basic 2005

  对于测试程序如何直接获取并使用IAccessible接口,并非本系列重点,所以并不提供更多介绍。在后面的文章中, 会介绍如何隐含使用IAccessible和MSAA。

  MSAA也有自身的缺点:

  1. 虽然说MSAA基于COM技术, 但IAccessible并不是一个COM标准接口。 比如使用者不需要调用CoInitialize即可使用,也无法通过QueryInterface进一步获取更多的自定义接口。这局限了MSAA所能提供的功能。

  2. IAccessible接口的定义有缺陷。里面不少方法是可有可无的,但是又缺少一些支持UI自动化的关键方法。 比如它提供了accSelect支持控件的选取,但是却没有类似accExpand这样的方法支持树状控件的展开等。

  关于MSAA和UI自动化的更多渊源,MSAA设计理念,现状和缺陷,可以参考微软早期的一篇名为What is UI Automation的文章。

推荐阅读:

微软UI自动化测试的技术演变(下)

33/3<123
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号