我的回收站

技术文章、随笔、文摘及其它
posts - 91, comments - 610, trackbacks - 1, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理
前言:
  随手打开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),它是您要测试的应用程序的界面的一个影射。您必须为您的需要测试的每一个界面建立对应的UIAL层代码(借助微软提供的工具),这样才可以对程序进行测试。一个典型的UIAL层代码通常包含4部分。 
    A. 对话框类:它是你要测试的那个对话框的一个影射,同时这个类里面也应该包含该界面上面所有控件地应的DATK控件。
    B. 应用程序类:用来启动该对话框。
    C. IdnHolder类:用来查找对话框中的本地化资源文字。
    D. 自测试代码:赫赫。。。从这一层起,就需要做测试了。
6) Area Libraries:
   在这一层我们通常来封装一些可以复用的步骤。举例来说,您的测试程序中需要打开某一个对话框,而这个步骤显然是可以复用的(也许为了测试不同的地方我们需要反复的打开这个对话框)。那么我们就可以把这个打开程序,然后再打开该对话框的步骤封装到Area Libraries便于以后复用。
7)Test Cases & Test Suites:
   这一层我们通常简称为Tests层,显然,在这一层我们用来编写我们的测试代码。和NUnit之类的很相似。使用Suite来把一些Test Cases组织到一起。

最终,测试引擎Tux.NET将调用Tests层中的测试代码,按照您的测试脚本来测试程序。

好了,这里您大概也许对Windows Mobile Test Framework有了个初步的印象了吧?也许还很晕,赫赫。。。没关系,在后面的章节中我将会陆续带领大家走进去探个究竟。 :)

Feedback

#1楼    回复  引用    

2007-05-30 13:34 by lzh5350 [未注册用户]
奇怪啊,为什么我没在win6SDK TOOL文件夹里发现这个东东呢?

#2楼 [楼主]   回复  引用  查看    

2007-05-30 15:20 by 被遗弃的小指      
您是不是安装的最早放出的那个WM6 SDK?
试试看安装一下最新的5月1日更新过的WM6 SDK?

#3楼    回复  引用    

2007-05-30 16:09 by db661音乐站 [未注册用户]
走进去探个究竟

#4楼    回复  引用    

2007-05-30 16:09 by db661音乐站 [未注册用户]
试试看安装一下最新的5月1日更新过的WM6 SDK?

#5楼    回复  引用    

2007-05-30 20:54 by picasa [未注册用户]
博主辛苦啦

#6楼    回复  引用    

2007-07-27 15:33 by idzi [未注册用户]
早在VS2003的时候就用过Mobile开发过一个项目,但感觉跟VS2005的功能差了好多。博主的文章也让我受益非浅..加油博主.......期待后续

#7楼    回复  引用    

2008-03-07 17:58 by 的 [未注册用户]
我安装的是2007年5月7的包,可是那目录下也没有那东东啊

#8楼    回复  引用    

2008-05-15 17:30 by TWT [未注册用户]
兄弟,我在使用 windows mobile test framework 时

在使用cestrip 命令对执行程序取出 resoures strings

对于在.NET平台下开发的应用程序,用cestrip 命令却取不到程序的resoures strings

对于在其他平台下开发的程序,基本上都可以取到的.

你有什么高见?

#9楼    回复  引用    

2008-08-18 15:05 by WMTF [未注册用户]
恩,有同样的困惑....

还有,对于第三方的应用程序,我们如何来判断它是通过什么平台开发的?

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-05-30 15:57 编辑过


相关链接: