QQ在线服务: 风舞残阳风舞残阳 年满19岁年满19岁 小罗小罗 晴天晴天 心雨心雨 叮叮肉叮叮肉 小周小周 小童小童 小破孩小破孩 遥望当年遥望当年

用户导购指南

水货IBM笔记本电脑报价

行货IBM笔记本电脑报价

IBM服务器报价

IBM笔记本电脑配件报价

本周水货IBM笔记本电脑特价

IBM笔记本电脑驱动下载

水货IBM笔记本电脑验机流程

水货IBM笔记本电脑保修政策

IBM笔记本电脑FRU查询

IBM笔记本电脑常见问题

IBM笔记本电脑使用手册

笔记本电脑验机软件

论坛积分使用说明

水货IBM笔记本电脑异地购机流程

笔记本电脑购机经历及现场

贵宾申请入口

贵宾用户FTP入口

查看笔记本配置

水货APPLE苹果笔记本电脑报价

 
发新话题
打印

[win2003教程] Windows Mobile程序的自动化测试简介

Windows Mobile程序的自动化测试简介

  随手打开MEDC2007的课程列表页面,看到了一个课程的标题《使用WindowsMobileTestFramework进行自动化测试》,突然想起来新的WindowsMobile6SDK中似乎包含这个叫做什么WindowsMobileTestFramework的东东,于是乎打开WM6的安装目录下的ToolsWindowsMobileTestFrameworkWindowsMobileTestFramework.zip这个zip包瞅一瞅。
0 @7 R0 B/ X& F' \( V  真是不看不知道,一看吓一跳。。。微软居然把这个框架单独发布出来了。其实这套东西貌似在WindowsCE5的CEToolKit中就包含,不过现在貌似把它单独提出来进行推广了。那么,我也来写一个关于它的系列和大家来研究研究这套WindowsMobileTestFramework吧。
2 _4 q' \6 ^1 B  r7 x2 o. ]. V, G  一、微软WindowsMobileTestFramework简介3 p. K" m  K- p+ v5 A; H
  WindowsMobileTestFramework(以后简称为WMTF)是微软内部使用的一套WindowsCE/WindowsMobile上的自动化测试框架。使用这套框架,我们可以很方便的用它来模拟用户来对您的程序进行操作,来进行功能/UI/本地化等多种测试。
- q! v* ?1 r- O3 k- y8 ?# |  此框架的整体结构如下图所示:# e3 A1 }) |( y' j9 u# v( j
  5 `& B7 {; M5 N2 p! B
. A6 y7 B' D* H
% ?$ e# W; }3 m& k- q: A
  绿色部分为微软在这个WindowsMobileTestFramework中所提供的。7 M# I+ U; k3 l0 w) z9 i4 w
  橙色的UIAL,为我们需要使用微软在WindowsMobileTestFramework中的工具来自己生产且做少量修改工作的。
% @9 P2 G( I8 b  蓝色部分为需要我们大家自己来完成的部分。2 }1 N; S% L: b. f0 w5 e1 f% Z
  二、WindowsMobileTestFramework各层次介绍
1 ^( X9 I( C( l# H: Y, Y+ x  1)Utils.Net:
1 d. D: E3 Y# {6 o* ^: b7 j  B  这一层提供了很多在其他各个层次中经常需要用到的公共对象或者是一些在.NETFx中有而在.NETCF中被省略了的对象,例如进程/设备信息/内存/注册表等。7 U" x) j* d! W. o1 ?
  2)Logging:6 V5 V$ }4 |1 [7 r
  这一层顾名思义,当然是封装了日志记录的功能,用来记录测试中的过程和结果。当然,这套Logging机制非常不错,不但在这里可以用,您甚至可以把它用于开发过程中甚至是桌面程序开发中。
/ m! q+ d+ _2 ?% Y3 x  3)DATK:
8 v' a0 u! J0 l2 w3 N% u& L- N1 X/ n  DATK的全称是DeviceAutomationToolKit。它是一套影射了所有的WindowsCE上的标准控件的一套库。例如文本框,列表框,按钮等等。同时,在这一层还有一个主要的对象叫做WindowsFinder,它几乎可以说是DATK甚至是WMTF的核心部分。您可以通过它来制定条件(例如类型,文本,进程等等)来寻找到某一个控件,然后把这个控件绑定到一个DATK控件上,然后您的代码来操作这个DATK控件就可以实现对实际的控件的调用。这其实就是WindowsMobileTestFramework的核心部分。1 y. d1 ^+ s; Z7 Y
  4)MobilityToolKit:
' {  {8 Q" D7 v* r8 l& t6 L  以后我们将它简称为MTK。MTK里面主要在DATK的基础上增添了许多针对移动设备特有的对象。可以认为它是DATK的一个扩展。
: V: }; w- q3 ]4 n  5)UIAL:
* p3 y2 ^( o5 R0 U8 m2 ~+ @- J9 _* m  UIAL(UIAbstractionLayer),它是您要测试的应用程序的界面的一个影射。您必须为您的需要测试的每一个界面建立对应的UIAL层代码(借助微软提供的工具),这样才可以对程序进行测试。一个典型的UIAL层代码通常包含4部分。
' w& T+ W0 C, F& [# S# y2 J  A.对话框类:它是你要测试的那个对话框的一个影射,同时这个类里面也应该包含该界面上面所有控件地应的DATK控件。
& N# R8 k5 F" o! `- w) v  B.应用程序类:用来启动该对话框。! l4 B% U; z2 d5 G; q3 T
  C.IdnHolder类:用来查找对话框中的本地化资源文字。8 {( D7 X* \  k7 i# S
  D.自测试代码:赫赫。。。从这一层起,就需要做测试了。
' R4 s/ m$ L; c1 M  6)AreaLibraries:( Y0 Q  X" n, y0 Q
  在这一层我们通常来封装一些可以复用的步骤。举例来说,您的测试程序中需要打开某一个对话框,而这个步骤显然是可以复用的(也许为了测试不同的地方我们需要反复的打开这个对话框)。那么我们就可以把这个打开程序,然后再打开该对话框的步骤封装到AreaLibraries便于以后复用。- X- \  r" g! T1 g
  7)TestCases%26TestSuites:
! R" |+ s9 d! K6 W0 R' S) B/ q  这一层我们通常简称为Tests层,显然,在这一层我们用来编写我们的测试代码。和NUnit之类的很相似。使用Suite来把一些TestCases组织到一起。
: ]6 {. {1 S, r& o  最终,测试引擎Tux.NET将调用Tests层中的测试代码,按照您的测试脚本来测试程序。
(※本文搜集自:重庆未来科技 http://www.wlkj.net 重庆IBM笔记本电脑、重庆IBM水货笔记本电脑、重庆苹果笔记本电脑、重庆IBM服务器专卖)

TOP

发新话题