`
kuwoleft
  • 浏览: 1086323 次
文章分类
社区版块
存档分类
最新评论

Test Complete的Name Mapping技术

 
阅读更多

Test CompleteName Mapping技术

陈能技

2007-8-14

配置管理惹的祸

如果配置管理没有做好对代码的控制的话,可能会出现以下影响自动化测试的情况:程序员在修改程序的时候发现某个控件的命名不大好听,随手就改了个自认为更好的名字,结果是自动化测试脚本很多地方都用到了这个控件的名字,导致大部分脚本无法执行。

这是一个典型的配置管理没有做好的问题,按理在这个阶段程序基本稳定了,而且自动化测试脚本已经写了大部分,功能模块早就该控制起来了,但是由于配置管理“名存实亡”,只是简单的源代码存储管理,没有真正做到“控制”,程序员的对源代码的更改太随意,更改前没有评审,更改后也没及时通知相关人员,所以会出现上面说的问题。

把配置管理做好是解决上面问题的办法,同时,自动化测试方面也有一些技术可以利用起来,从而帮助解决类似问题。

Name Mapping 名称映射技术

TC(Test Complete)中,你可以给进程、窗体、控件和其它对象起个性化的名字,或者,换句话说,你可以把一个对象映射成另外一个名字。

首先,名称映射技术可以使你的脚本代码可读性更强,比如说,EditorWindowSys.Process(“Editor”).Window(“Editor”,”*”,-1)要简短并且更易读。

其次,使脚本和对象名称独立于对象属性,对象属性可能每次build的都不一样。例如,控件名可能会改,就像前面提到的问题一样。名称映射技术可以使你的脚本代码在这种情况下免于更改。

名称映射技术原理

当把一个对象的名称映射成一个个性化的名称的同时,会把用于辨别对象的属性和特定的值指定。例如,你可以把Process(“notepad”)映射成notepad,它的Name属性是notepad,UserNameChennengji。这些属性和他们的值都存储在相应的名称映射项中。TC就可以在记录和回放时使用这些属性来识别所映射的对象。

TC,通过NameMapping对象或Aliases对象来访问映射名称。

TC在脚本执行过程中碰到个性化的名称时,会访问Name Mapping引擎来搜索对象树,看是否存在与指定属性一致的对象,一旦找到,返回给TC的脚本引擎。

TC录制脚本时,TC会检查对象是否被名称映射了,如果是,则看是否能找到合适的名称映射项,TC把映射的名称或别名(而不是普通的对象名称)记录到脚本中。

名称映射和别名(Aliases

由于操作系统会包含很多相同属性值的对象,搜索整个对象树是一个很费时的过程。TC会要求你在映射对象时先映射它的父亲对象,从Sys对象开始,这样会使脚本运行更快。

然而,如果把父亲对象也映射的话,会使访问路径很长,例如:

NameMapping.Sys.Explorer1.IEFrame.Shell_DocObject_View1.Internet_Explorer_Server.PageObj

TC通过别名(Aliases)来解决这个问题。别名就是映射名称的另外一个名字。别名可以重新组织成另外一棵树,可以缩短映射路径,例如:Aliases.Explorer1.PageObj

分享到:
评论

相关推荐

    testcomplete752

    testcomplete752 7.5 版本的主要修改和增强如下: TestComplete 7.50 is a significant release with major new features: * New Flex Plugin for greatly improved Adobe Flex object recognition. (Flex ...

    BURNINTEST--硬件检测工具

    PassMark BurnInTest V5.3 ...All Rights Reserved ... Overview ======== Passmark's BurnInTest is a software tool that ...- Corrections to the mapping of paths with ".\". Release 5.3 build 1011 rev 2 WIN32 ...

    NameMappingMerge-开源

    允许合并两个名称映射(NameMapping.tcNM文件)的工具,从而扩展了TestComplete功能。

    MCTS Self-Paced Training Kit (Exam 70-642) Configuring Windows Server 2008 Network Infrastructure

    pre-assessment and post-assessment, and automated scoring and feedback Complete objective-by-objective review section, plus a handy exam-mapping grid Evaluation version of Windows Server 2008 15 ...

    UE(官方下载)

    Keymapping and custom hotkeys How to customize 键映射s and menu hotkeys Column Markers The benefit of a column maker is that it can help you to format your text/code, or in some cases to make it ...

    eac3to V3.17

    * fixed: "eac3to -test" displayed an outdated Nero download link * fixed: specifying a specific playlist still used default playlist's chapters v3.08 * fixed: reading physical disc speed was abysmal ...

    Bochs - The cross platform IA-32 (x86) emulator

    - converted the complete hdimage stuff to the new 'hdimage' plugin - new hdimage method get_capabilities() that can return special flags - vmware3, vmware4 and vvfat classes now return HDIMAGE_HAS_...

    python3.6.5参考手册 chm

    PEP 3155: Qualified name for classes and functions PEP 412: Key-Sharing Dictionary PEP 362: Function Signature Object PEP 421: Adding sys.implementation SimpleNamespace Using importlib as the ...

    DP83848CVV.pdf

    National_Semiconductor的一款网络芯片的技术手册。1.0 Pin Descriptions m 9 1.1 Serial Management Interface 9 1.2 MAC Data Interface .9 1.3 Clock Interface 11 1. 4 LED Interface 1.5 Reset and Power down ...

    微软内部资料-SQL性能优化2

    This allows a process to access any portion of the physical memory by mapping it into the applications window. When used in combination with Intel’s Physical Addressing Extensions (PAE) on Windows ...

Global site tag (gtag.js) - Google Analytics