第一部分:前言
自动化测试或许是众多测试同行都在研究或准备研究的领域。结合自己的能力和公司的状况,选择合适的自动化工具、搭建正确而又高效的框架或许是个永远讨论不完的话题,正如应了那句话,没有最好,只有更好。
个人所在的公司当前开展的很多项目都是基于Win7和WPF开发的,之前想尝试用QTP对之进行录制和回放操作,不幸的是,需要额外的WPF插件支持;另外QTP的脚本语言是VBScript,虽然说是功能强大且容易上手,但是其逻辑严谨性还是不如诸多类C的高级语言。自身对QTP的掌握程度也只能算是入门级的,想到开发自动化程序前还要先深入学习QTP,感觉有点戴着枷锁跳舞。其实当前个人急切想掌握和学习的事情的自动化测试框架的知识,因为毕竟录制和编写过程化的自动化程序不是件难事,搭建出高效的框架才是核心,只有掌握了框架的东东,才能用之于四海而皆准。
在苦寻之中,UI Automation出现在了我面前。其有如下几个优点:
* 微软提供的新一代自动化framework,内嵌于.net framework,对WPF完全支持
* 编程语言采用C#
* MSDN提供非常详细的帮助文档,并有详细的代码示例
* 弹性非常优良,只提供窗口、控件等元素的识别、动作、属性等公共方法,至于上层的架构搭建完全由编程人员自行决定
第二部分:搭建框架
先来看一下最普通的自动化测试流程: