思步网

标题: TestComplete之Name Mapping [打印本页]

作者: Beyond_great    时间: 2013-4-20 14:01
标题: TestComplete之Name Mapping
刚开始学习使用TC的童鞋通常都会碰到这样一个问题:录制好的脚本,回放时失败,究其原因都是因为某个对象或属性不能识别导致的。一般这样的问题,大多都跟Name Mapping有关。所以要想打好TC基础,掌握Name Mapping是关键的一步。

使用Name Mapping的原因
虽然TC中所使用的对象名称能帮你唯一识别系统中的某个对象,但会有许多不便之处:
1)依赖于对象属性的对象名会经常变化。例如,窗口和控件的识别属性(类名和标题)会随着应用构建的切换而改变。在回放之前,你也许需要用新的对象名替换老的,才能保证回放成功。
2)大多数情况下,对象名称冗长且易读性差。设想你看到一个控件的名称是这样的:Sys.Process('notepad').Window('#32770', 'Font', 1).Window('ComboBox', '', 3).Window('Edit', '', 1),想必你已经开始晕了。
为了解决这类问题,TC提供了Name Mapping技术。通过Name Mapping选项,你可以给对象定制名称。定制的名称作为MappedName属性的值来显示。下图是一个简单的定制过程:
选中需要mapping的对象,右键并单击Map Object..

在Mapped Name栏里填写定制的名称,该对象的默认识别属性是WndClass->IME, WndCaption->Default IME, 你也可以在左边窗口中选择能唯一识别该对象的属性,防止出现有多个相同对象时而识别不出来的情况。

定制完成后,MappedName属性所对应的值如下图所示:


Name Mapping自动化
相比某些工具,TC非常人性化,给用户提供自动Mapped object names的选项(Tools-Options->Engines->Name Mapping->Automatically update name mapping items|Map object names mapping automatically),且该选项默认是选中状态。这样做,就不需要用户自己每次录制时,还要手工映射对象。下面说下哪些操作可以自动映射对象:
1)在录制过程中,会为关联的进程,窗口,控件等自动创建定制名称
2)在keyword test 操作中,如果你正在截取屏幕对象(onscreen objects),也会自动映射。如下图:

3)或者创建检查点的时候,也会自动映射。

访问Mapped Objects
NameMapping对象为所有的映射设置提供了程序接口。Aliase对象仅仅提供对name mapping items的访问。
NameMapping.SysItem.MyProcess.MyWindow.MyControl
Aliases.MyProcess.MyControl


关于Aliases
由于操作系统会包含很多相同属性值的对象,搜索整个对象树是非常耗时的。TC会要求你在映射对象时,先映射它的父亲对象,从Sys对象开始,这样会使脚本运行更快。
然而,如果把父亲对象也映射的话,会使整个访问路径很长,例如:
NameMapping.Sys.Explorer1.IEFrame.Shell_DocObject_View1.Internet_Explorer_Server.PageObj
TC通过别名(Aliases)来解决问题。别名就是映射名称的另外一个名字。别名可以重新组成另外一颗树,可以缩短映射路径。例如:Aliases.Explorer1.PageObj。下图是Sys和Aliases所在的TC界面,通过NameMapping选项进行定位:


关于相同对象的问题
在用TC录制被测对象时,有时会碰到多个相同对象的情况。虽然TC会自动帮你映射识别,但所识别的默认属性并不能完全唯一标识该对象,换句话说,TC自动帮你识别的属性是这些相同对象的共同属性。所以在回放时,TC会搞不清楚具体是哪个对象,回放失败也就不足为奇了。解决这类问题,需要child object来识别,properties在此情况下可以退出舞台。举个简单的例子:

在做安装程序(该程序使用Installshield进行打包)的操作时,Installshield向导启动后,Object Browser对象中会有多个MSIEXEC进程对象,如下图所示:

为了能进行下一步操作,必须找到正确的MSIEXEC。这时就需要通过它的子对象wnMisDialogCloseClass来识别。如下图所示:





作者: 风清云闲    时间: 2013-4-20 14:57
很好,这些资料值得收藏。
作者: Beyond_great    时间: 2013-4-22 09:01
风清云闲 发表于 2013-4-20 14:57
很好,这些资料值得收藏。

也希望各位如果有好的分享,也积极发帖哦。大家共同进步。
作者: Cutlifen    时间: 2013-4-26 19:01
众里寻他千百度,蓦然回首在这里!
作者: 朔风    时间: 2013-12-3 10:27
很有见地的探讨,先收藏着~
作者: 自由如风    时间: 2013-12-12 10:59
还不错哦,如果再能多分享一些就perfect了!
作者: シ普罗旺斯    时间: 2014-4-13 18:52
好帖是需要鼓励的~
作者: 桃子和阿狸    时间: 2014-4-22 18:46
好帖是需要鼓励的~
作者: 迩説_硪愛迩    时间: 2014-7-12 16:45
有空一起交流一下。
作者: 笑小刀    时间: 2014-7-15 12:08
看了LZ的帖子,我只想说一句很好很强大!
作者: 超越梦想、    时间: 2014-8-5 10:36
还不错哦,如果再能多分享一些就perfect了!
作者: 两人的回忆    时间: 2014-8-15 20:12
看帖要回,回帖才健康,在踩踩,楼主辛苦了!
作者: 呐傷.已黯淡    时间: 2014-8-19 17:16
还不错哦,如果再能多分享一些就perfect了!
作者: 孙益申    时间: 2014-8-24 09:36
不错 支持一个了
作者: ☆浅听★低吟    时间: 2014-9-1 20:11
还不错哦,如果再能多分享一些就perfect了!
作者: 我想死    时间: 2014-9-6 13:36
还不错哦,如果再能多分享一些就perfect了!
作者: 烟鬼。oO    时间: 2014-9-6 14:38
路过的帮顶
作者: 南来风    时间: 2014-9-7 22:40
看了LZ的帖子,我只想说一句很好很强大!
作者: 虹儿    时间: 2014-9-12 13:22
我是个凑数的。。。
作者: 蓝色香水瓶    时间: 2014-9-29 15:34
看起来不错
作者: 屿蓝深海    时间: 2014-10-25 18:21
还不错哦,如果再能多分享一些就perfect了!
作者: 月光丶    时间: 2014-10-27 08:35
不错 支持一个了
作者: 涐亦不弃。    时间: 2014-11-11 19:22
这么强,支持楼主,佩服
作者: ≈烟波流传    时间: 2015-1-30 11:05
very good.
作者: 别低头    时间: 2015-3-9 15:40
有空一起交流一下。
作者: 都怪时    时间: 2015-5-29 18:04
打酱油的人拉,顺便赚点金币
作者: 虚拟世界    时间: 2015-6-27 09:39
非常好,顶一下占位编辑
作者: 三重门。    时间: 2015-8-4 09:49
以我的经验来看,楼主的想法是可以执行的~
作者: 那位红颜    时间: 2015-9-15 16:04
打酱油的人拉,顺便赚点金币
作者: 不做帝王妾    时间: 2015-9-29 12:38
路过 帮顶 嘿嘿
作者: 畏光    时间: 2015-11-10 09:06
向楼主学习
作者: 李珊    时间: 2015-12-30 13:38
前排支持下了哦~
作者: 您真装i    时间: 2016-3-15 21:08
看了LZ的帖子,我只想说一句很好很强大!
作者: 风之引力    时间: 2016-5-6 09:16
看了LZ的帖子,我只想说一句很好很强大!
作者: ミ曲线﹏    时间: 2016-8-1 14:07
不错 支持一个了
作者: ︶烟花散尽    时间: 2016-10-11 08:46
路过的帮顶
作者: 岚荼盛    时间: 2016-11-8 20:16
看帖要回,回帖才健康,在踩踩,楼主辛苦了!
作者: 似曾相逢在前生    时间: 2016-12-9 14:30
看起来不错
作者: 我们都来自地球    时间: 2016-12-9 16:10
学习下我只是路过,不发表意见……
作者: 灬花落    时间: 2017-1-13 11:07
没人回帖。。。我来个吧!
作者: 冷眸ゞ    时间: 2017-5-20 12:20
确实不错,顶先
作者: 岁月飘逝╰    时间: 2017-7-13 21:07
非常好,顶一下占位编辑
作者: 我不是壞女孩    时间: 2017-8-20 12:30
这么强,支持楼主,佩服
作者: 哀大莫过于心死    时间: 2017-10-17 18:45
非常好,顶一下占位编辑
作者: 女汉子万岁~    时间: 2017-10-20 21:11
看帖要回,回帖才健康,在踩踩,楼主辛苦了!
作者: 森迷@    时间: 2018-1-29 20:07
看了LZ的帖子,我只想说一句很好很强大!
作者: 画子入戏.    时间: 2018-6-12 22:35
打酱油的人拉,顺便赚点金币
作者: 叛逆、、、    时间: 2018-7-2 12:23
看帖要回,回帖才健康,在踩踩,楼主辛苦了!
作者: 班尼路    时间: 2018-10-16 17:12
确实不错,顶先
作者: 感情洁癖者i    时间: 2019-1-1 10:52
不错 支持一个了
作者: 顾痣    时间: 2019-2-27 17:26
路过 帮顶 嘿嘿
作者: 掐死时间    时间: 2019-3-12 08:38
前排支持下了哦~
作者: 蓝风    时间: 2019-3-12 12:57
看了LZ的帖子,我只想说一句很好很强大!
作者: 爱...    时间: 2019-5-11 19:31
路过 帮顶 嘿嘿
作者: 清泊    时间: 2019-6-2 08:47
有空一起交流一下。
作者: 、唱忐忑    时间: 2019-6-14 16:29
鼎力支持!!
作者: 我命本喜    时间: 2019-6-17 22:23
非常好,顶一下占位编辑
作者: 旧城人凉    时间: 2019-6-23 12:38
学习下我只是路过,不发表意见……
作者: 海内比邻    时间: 2019-8-18 19:04
向楼主学习
作者: 够钟!    时间: 2019-9-3 07:52
鼎力支持!!
作者: 瑹歌    时间: 2019-9-28 08:34
没人回帖。。。我来个吧!
作者: 性格有点左    时间: 2019-10-17 08:58
路过的帮顶
作者: 采女孩的大蘑菇    时间: 2020-3-3 14:09
确实不错,顶先
作者: 没有你的爱    时间: 2020-4-29 14:09
very good.
作者: 执迷不悔    时间: 2020-6-1 09:14
确实不错,顶先
作者: 唱片    时间: 2020-6-10 15:03
非常好,顶一下占位编辑
作者: 鸢卿漓殇    时间: 2020-7-15 15:41
打酱油的人拉,顺便赚点金币
作者: 温暖忧伤    时间: 2021-1-15 14:05
很有借鉴意义,先收藏了,谢谢楼主。
作者: BABY衣    时间: 2021-4-4 07:03
其实,很多情况下都是这样的,习惯就好。
作者: 人亦已歌    时间: 2021-4-30 22:22
好帖是需要鼓励的~
作者: 后排男生〃    时间: 2021-5-25 13:14
我是个凑数的。。。
作者: 魅╰美。    时间: 2021-6-22 18:12
不错 支持一个了
作者: 安然    时间: 2021-7-29 21:29
向楼主学习




欢迎光临 思步网 (http://www.step365.com/) Powered by Discuz! X3.2