前一段时间,项目组要求用自动化的方法去进行测试一个用WPF开发的项目。
本人学过一段时间QTP,被委派完成这个活动。
QTP功能还是给力的。但还是有些缺点,比如价钱比较贵,VBS的逻辑性比较差,WPF需要额外支持,部署困难,本身也有少量Bug。
这时候M$的UI Automation 出现在了我面前。其有如下几个优点:
- M$ Dotnet 3.0以上就可以支持,内嵌于.net framework ,对WPF 完全支持
- 编程语言采用C#,VB,
- MSDN 提供非常详细的帮助文档,并有详细的代码示例
- 弹性非常优良,只提供窗口、控件等元素的识别、动作、属性等公共方法,至于上层的架构搭建完全由编程人员自行决定
- 价钱比较便宜,下载Express就可以开发,还是免费的,(Windows还是要钱)。
- 部署还是比较方便的(Dotnet大多Windows上是都有了)。
当然还有些缺点:
1. 要开发测试程序。
2. 框架还没有被广泛接受。
3. 无法产生鼠标、键盘事件。(可以用Winapi)
不过UI Automation还是很给力的。
UI Automation Community Promise Specification
本文介绍了在面对WPF项目自动化测试需求时,如何利用UI Automation进行测试。UI Automation作为Microsoft提供的自动化测试框架,具备对WPF的全面支持、使用C#或VB编程、详细文档及示例、低廉成本和便捷部署等优势。虽然需要自行开发测试程序且普及度相对较低,但通过Winapi可以解决无法生成鼠标键盘事件的问题,总体上UI Automation是一种极具性价比的自动化测试解决方案。
1301





