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

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

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

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

分享:

  UIA的优势

  UIA的优势非常明显,主要包括以下几点:

  1. 适应不同类型的UI程序,包括Win32、WinForm、 WPF和Silverlight。由于WPF和Silverlight中的子窗口和控件并不是传统的HWND,所以Win32 API和MSAA无能为力。而UIA可以直接支持这两种程序。

  2. 兼容传统的Win32和MSAA模式。 前面提到过,UIA技术的内部实现可以多样化。这一点在下一篇文章中会详细讨论。 UIA通过一项叫做UIA<->MSAA的桥技术, 针对传统程序,可以在内部实现中借用MSAA的接口和直接调用Win32 API。这样不需要对控件或者程序的既有实现做任何改动,就可以直接适用于UIA的新模式。

  3. 新引入的TreeWalker、UIA Event、Pattern、 Property模式易于使用,贴合自动化测试。这些模式高度抽象了各种UI自动化测试的需求,同时又不和传统模式相冲突。比如执行点击按钮操作,传统方法要么模拟鼠标键盘操作,要么发送Windows Message,而Message还分为WM_COMMAND或者WM_BUTTONDOWN。 而通过UIA Pattern,统一归类于Invoke接口,这个接口对于测试者来说就统一了。无论是Win32、 WPF还是Silverlight按钮,都可以通过统一接口执行,从而把具体实现隔离开。同时, 调用者若希望继续沿用键盘鼠标模拟,仍旧可以通过SendKey加上UIA获取坐标的方法实现。而UIA Event和对UI元素支持条件化区域化搜索,更是极大简化了测试人员的工作。

53/5<12345>
价值398元的测试课程免费赠送,填问卷领取吧!

精彩评论

  • junxijava
    2010-1-28 18:09:35

    最近利用了UIAutomation,结合开源的Selenium RC with C# 完成项目的自动化测试,感觉UIAutomation还是不错的!

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号