跟UI自动化测试有关的技术

发表于:2009-3-16 14:49

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

 作者:YuFun    来源:cnblogs

  大家都知道,针对UI的自动化技术一般要支持下列的东西:

  1. 识别窗口

  能够识别尽量多的窗口种类,支持尽量多的UI技术。比如Win32、WinForm、WPF以及WebPage(这个比较特殊,确切的说不能叫控件)的控件类型

  2. 操作窗口

  对标准类型的控件方法的支持,比如按下按钮,在Listview中选择Item等

  3. 验证结果

  实质就是能够拿到控件的状态以及控件相关的信息

  4. 错误恢复

  这个其实属于自动化测试框架的问题,能从错误的状态恢复,并继续执行。当然写Testcaes的时候,也要保证Testcase的独立性

  5. 同步

  同步在UI的自动化测试中最复杂的部分了,这个地方的工作决定了自动化脚本能否稳定的运行在在各种不同平台,不同配置的测试机上

  虽然测试工具有很多,比如WinRunner、QuickTest等,我比较熟悉的只是Silktest,所以我说的很多东西都会跟Silktest来比较

  我们抛开各种各样的工具本身,来看UI自动化的本质,它所用到的技术无非是下面三种:

  1. Windows API

  相关的API,FindWindow, EnumWindow,GetWindowRect, GetWindowText, SendMessage等

  2. MSAA

  MSAA是微软针对视力有障碍的人所提供的一个基于COM的API接口,开发人员可以利用这个技术来开发类似屏幕放大,屏幕阅读,以及语音控制等。现在很多自动化的工具除了利用window api以外,大部分也支持MSAA技术

  相关Link:

  http://msdn2.microsoft.com/en-us/library/ms971350.aspx

  http://en.wikipedia.org/wiki/Microsoft_Active_Accessibility

  3. UIAutomation

  测试在各个软件公司中的地位日趋上升,而且微软自己在对测试的重视程度以及利用自动化测试方面也一直走在各个公司前面。随着WPF技术的发布,以往的Window API以及MSAA技术,对WPF控件的操作能力急剧下降,甚至无法操作WPF控件,而微软也为了增加对自动化测试的支持,发布了MSAA的升级版,并针对自动化测试进行了重新的设计,集成在.Net Framework3.0中发布,这个升级版就是UIAutomation的类库。

  相关链接:

  http://en.wikipedia.org/wiki/Microsoft_UI_Automation

  http://msdn2.microsoft.com/en-us/library/ms747327.aspx

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号