随手打开MEDC 2007的课程列表页面,看到了一个课程的标题《使用Windows Mobile Test Framework进行自动化测试》,突然想起来新的Windows Mobile 6 SDK中似乎包含这个叫做什么Windows Mobile Test Framework的东东,于是乎打开WM6的安装目录下的Tools\Windows Mobile Test Framework\Windows Mobile Test Framework.zip这个zip包瞅一瞅。
真是不看不知道,一看吓一跳。。。。。。微软居然把这个框架单独发布出来了。其实这套东西貌似在Windows CE 5的CE Tool Kit中就包含,不过现在貌似把它单独提出来进行推广了。那么,我也来写一个关于它的系列和大家来研究研究这套Windows Mobile Test Framework吧。
一、微软Windows Mobile Test Framework简介
Windows Mobile Test Framework(以后简称为WMTF)是微软内部使用的一套Windows CE/Windows Mobile上的自动化测试框架。使用这套框架,我们可以很方便的用它来模拟用户来对您的程序进行操作,来进行功能/UI/本地化等多种测试。
此框架的整体结构如下图所示:

绿色部分为微软在这个Windows Mobile Test Framework中所提供的。
橙色的UIAL,为我们需要使用微软在Windows Mobile Test Framework中的工具来自己生产且做少量修改工作的。
蓝色部分为需要我们大家自己来完成的部分。
二、Windows Mobile Test Framework各层次介绍
1) Utils.Net:
这一层提供了很多在其他各个层次中经常需要用到的公共对象或者是一些在.NET Fx中有而在.NET CF中被省略了的对象,例如进程/设备信息/内存/注册表等等等等。。。。。。
2) Logging:
这一层顾名思义,当然是封装了日志记录的功能,用来记录测试中的过程和结果。当然,这套Logging机制非常不错,不但在这里可以用,您甚至可以把它用于开发过程中甚至是桌面程序开发中。
3) DATK:
DATK 的全称是Device Automation ToolKit。它是一套影射了所有的Windows CE上的标准控件的一套类库。例如文本框,列表框,按钮等等。同时,在这一层还有一个主要的对象叫做WindowsFinder,它几乎可以说是DATK 甚至是WMTF的核心部分。您可以通过它来制定条件(例如类型,文本,进程等等)来寻找到某一个控件,然后把这个控件绑定到一个DATK控件上,然后您的代码来操作这个DATK 控件就可以实现对实际的控件的调用。这其实就是Windows Mobile Test Framework的核心部分。
4)Mobility ToolKit:
以后我们将它简称为MTK。MTK里面主要在DATK的基础上增添了许多针对移动设备特有的对象。可以认为它是DATK的一个扩展。
5)UIAL:
UIAL(UI Abstraction Layer),它是您要测试的应用程序的界面的一个影射。您必须为您的需要测试的每一个界面建立对应