前言: 隨手打開 MEDC 2007的課程列表頁面 ,看到了一個課程的標題《使用Windows Mobile Test Framework進行 自動化測試 》,突然想起來新的 Windows Mobile 6 SDK 中似乎包含這個叫做什么Windows Mobile Test Framework的東東,于是乎打開WM6的安裝目錄下的
前言: 隨手打開
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的基礎上增添了許多針對移動設備特有的對象??梢哉J為它是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有了個初步的印象了吧?也許還很暈,赫赫。。。沒關系,在后面的章節中我將會陸續帶領大家走進去探個究竟。 :)