Test Complete的Name Mapping技术

AI时代开发者转型:从编码到AI协作架构师的技能重塑 人工智能技术正在深刻改变软件开发的基本范式。从技术原理来看,AI通过机器学习和深度学习算法,能够理解自然语言并生成高质量的代码。这种能力的技术价值在于大幅提升开发效率,降低编程门槛。在实际应用场景中,AI代码生成工具如GitHub Copilot已经能够完成40%的编码任务,而更先进的AI代理技术正在实现整个开发流程的自动化。随着AI生产力的指数级增长和自动化生产成本的下降,开发者需要从传统的代码实现者转向AI协作架构师,掌握提示词工程和系统设计等核心技能,以适应工作可选的未来技术生态。 阅读详情

Test Complete的Name Mapping技术

 

陈能技

2007-8-14

 

 

配置管理惹的祸

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

 

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

 

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

 

Name Mapping 名称映射技术

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

 

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

 

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

 

名称映射技术原理

当把一个对象的名称映射成一个个性化的名称的同时,会把用于辨别对象的属性和特定的值指定。例如,你可以把Process(“notepad”)映射成notepad,它的Name属性是notepad,而UserName是Chennengji。这些属性和他们的值都存储在相应的名称映射项中。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

 

 

 
用Python+PyTorch实现DQN无人机避障:从环境搭建到实战训练(附完整代码) 本文详细介绍了如何使用Python和PyTorch框架,基于深度强化学习中的DQN算法,实现一个无人机自主避障系统。内容涵盖从自定义环境搭建、DQN智能体核心算法实现,到完整的训练流程与超参数调优,并提供了可视化演示与进阶优化方向,为开发者提供了从理论到实践的完整指南。 阅读详情

相关推荐

西门子S7-200 SMART PLC控制伺服电机

以下是使用西门子S7-200 SMART PLC控制伺服电机的详细程序框架和配置说明,涵盖硬件接线、PLC配置和基本运动控制逻辑。具体实现需根据伺服电机型号(如松下、三菱、台达等)调整参数。通过以上步骤,可实现伺服电机的基础位置控制。实际应用需根据设备机械参数和伺服驱动器手册调整细节。建议在调试时逐步测试脉冲输出和方向信号是否正常。

CHUXUEZHE8210的博客 6424

爱上开源之golang入门至实战第四章-映射(Map)

出于对性能的考虑,对于大的 map或者会快速扩张的 map,即使不是非常明确具体的容量大小,也最好先根据初略的计算,大概的标明Map的大小。由于Map的value可以是任何类型的值,也包括nil,所以我们可以将一个nil对象作为value放入Map对象, 时候返回值也为nil,但是key是存在的;Go语言原生的Map非并发安全的, 在多并发的情况下,如果有写的操作,会出现Panic,提示concurrent map writes的错误。由于Map是无序的,迭代的过程不能保证返回次序,返回的顺序;...

481

如何浏览与下载全球免费的地图高分辨率(亚米级)的遥感影像?

前言 如果你想使用商业卫星的高分辨遥感影像,一般价格昂贵。我们可以使用地图平台上免费的高分辨率数据。目前数据源很多,比如说google earth、天地图、四维地球、必应地图等等。这些影像统一有一个共同点就是:RGB三波段;Web地图瓦片服务。这意味着我们可以通过瓦片服务下载影像,但下载的影像只有三个波段,分别是 一.引言 二、可使用高分辨率的地图数据源 1.Google Earth影像 2.Esri World Image 3.天地图 4.必...

锐多宝的地理空间 2万+

沙箱支付宝alipay-easysdk java 支付能力对接

1.配置沙箱密钥并获取沙箱账号密码 1)打开支付宝开放平台主页https://open.alipay.com/platform/home.htm并登陆 2)打开https://opendocs.alipay.com/open/291/105971下载密钥生成工具 3)生成密钥(应用私钥就是下面alipay.properties中的merchantPrivateKey) 4)打开https://openhome.alipay.com/platform/appDaily.htm?tab=info设置支付宝公钥

wl的博客 7817

FPGA篮球计分器:从需求分析到模块化实现的实战指南

本文详细介绍了FPGA篮球计分器的设计与实现,涵盖需求分析、模块化设计及实战调试。重点解析了24秒精确倒计时、12分钟比赛计时、比分统计和数码管显示等核心模块的Verilog实现,提供了按键消抖、状态机设计和BCD码处理等关键技术细节,帮助开发者掌握FPGA数字系统设计方法。

sql99的博客 217

信号处理中的滤波器的阶数和谐波的理解

最近在读paper的时候,遇到了一些以前遗忘的问题,先重新查找,记录在这里,以备不时之查看。 我相信一定有小伙伴跟我有过一样的疑惑,那就是我们在使用滤波器的时候,总是遇到滤波器的阶数这个概念参数,我们很多都是根据别的paper里的设置,设置自己的科研参数,其实并不是很理解其中的含义: 其实我们常用的阶数N的意思是: 滤波器的阶数,就是指过滤谐波的次数,一般来讲,同样的滤波器,其阶

Miracle.Zhao的博客 2万+

Java基础:Annotation

1、元注释和注释的不同 A、注释:用于为代码提供一个描述性的说明,不会编译到class文件中,只存在于源文件.java文件中 B、元注释:是能用运行的代码,用于修饰类、属性、方法等java元素,会编译到class文件中,能被程序读取 2、元注释最常见的作用 保存数据,替代xml XML: <student id="1" name="张三" ag...

king_LFY的博客 401

SAP HR模块配置假期日历和缺勤类型

SAP的HR模块。业务顾问在实施时一般会配置未来10年的假期日历,到期后再进行配置。同时,增加请假类型(缺勤信息类型)。记录这一过程。

福来阁86号技师的妖孽日常 5523

Spring 注解总结

@Component注解默认注入的bean的id属性值为类名首字符小写 也可以在注入的时候指定id值@Component() public class BeanAnnotation { public void say(){ System.out.println("SAY SOMETHING!"); } } BeanAnnotation annotation = (Be

Heqianqian的博客 475

Pyrosim进阶指南:从隧道火灾模拟到复杂通风策略分析

本文深入探讨Pyrosim在隧道火灾模拟与通风策略分析中的高级应用。从精确几何建模到火源参数设置,再到通风系统的量化分析,详细介绍了如何利用Pyrosim优化隧道安全设计。特别强调了临界风速验证、横向通风配置及结果可视化技巧,为工程师提供实用的进阶指南。

weixin_30644369的博客 137

PCL——KITTI数据集.bin文件转.pcd并可视化【2025最新版】

kitti数据集中的bin格式点云主要存储的字段为:`x`、`y`、`z`、`intensity`,对应于PCL中的PointXYZI。因此,只需将bin中的属性信息读取出来放入`PointXYZI`即可。本文给出简单易用的实现代码。博客长期更新,本文最近更新时间为:2025年1月11日。

点云侠的博客 3956

Spring 依赖注入之造轮术(下)

因为我们一般是Web开发,所以本文的环境是web环境。有jetty有servlet(自己实现)。git源码https://github.com/chenguangju/config/tree/master/my-spring我的逻辑是这样的,程序启动就去加载classpath下的某个配置文件,然后解析转换成BeanInfo对象,然后存入Map中,然后开始实例化,取出Map中的BeanInfo对象,...

cgj296645438的博客 416

无法加载文件:C:\Users\Lenovo\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本编程

当您遇到类似于"无法加载文件:C:\Users\Lenovo\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本编程"的错误消息时,请按照上述步骤来解决问题。当您尝试加载文件C:\Users\Lenovo\AppData\Roaming\npm\cnpm.ps1时,可能会遇到类似于"无法加载文件:C:\Users\Lenovo\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本编程"的错误消息。请注意,更改执行策略可能会带来一些安全风险。

PixelInk的博客 1920

TestComplete最新版本7.51

2009年底,AutomatedQA发布了7.5版本。是7.0版本的Maintenance发布版本。   Board:automatedqa.public.testcompleteSubject:ANN: TestComplete

软件质量优化 4030

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

技术面试英语口语全攻略:从自我介绍到项目解析

在技术面试中,英语口语能力是评估候选人综合素质的重要维度。从计算机系统基础概念到实际工程应用,面试官常通过英语问答考察候选人的技术理解深度与沟通能力。数据库设计、进程线程对比等计算机核心知识点的英文表述,以及STAR法则在项目经验描述中的应用,都是技术面试中的高频考点。掌握这些技术英语表达不仅能展现专业素养,更能帮助面试者清晰传达复杂的技术方案。特别是在涉及深度学习框架选择、模型调参等实际工程场景时,准确的术语使用和结构化表达尤为重要。通过系统化的术语积累和场景化训练,技术从业者可以显著提升面试英语应对能力

weixin_30268071的博客 370

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

CANN/HCCL源代码构建指南

This project supports building from source. Before compiling and running, set up the basic environment and download the source code by following the steps below. Ensure that the NPU driver, firmware,

gitblog_00039的博客 1099

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

自定义拖拽图层实战:用 react-dnd 的 DragLayer 打造零闪烁的拖拽反馈

react-dnd 的浏览器后端依赖 HTML5 原生拖放 API,而浏览器不允许在拖拽开始后修改拖拽预览的内容与行为。本文以仓库中 `02-drag-around/custom-drag-layer` 示例(对应文档 [custom-drag-layer.md](https://link.gitcode.com/i/38c64b4d862670e72dbeca7b9a721229))为核心,讲解

gitblog_00082的博客 701

CANN/hcomm HCCL-VM虚拟执行环境

HCCL-VM is a virtual execution environment for high-performance collective communication targeting Huawei Ascend NPU cards. This tool enables the development and functional verification of HCCL collec

gitblog_00459的博客 1092

Mythos技术解析:AI驱动的全自动漏洞挖掘与攻防闭环

漏洞挖掘正从人工逆向分析迈向AI原生自动化,其核心在于将代码语义、执行路径与真实利用原语深度耦合。Mythos通过多阶段推理调度、动态工具链编排和细粒度漏洞空间建模,实现了从静态识别到沙箱验证再到POC生成的端到端闭环。这种能力不再依赖传统符号执行或模糊测试的单一范式,而是构建了AST控制流图、符号执行状态投影与exploit primitive映射的三层表征体系,显著提升对语义等价但语法异构漏洞(如C/Rust跨语言逻辑缺陷)的检出率。在SWE-bench Pro与CyberGym等权威基准中大幅超越Op

culi4814的博客 489

Elasticsearch、Kibana从入门到精通

1.2准备docker环境。1.1 准备java环境。

xiha的博客 1018

AI技能系统架构设计:从原理到工程实践的全栈解决方案

AI技能系统是构建智能应用的核心架构概念,其原理基于模块化设计和组合式AI的思想。通过将复杂AI能力封装为可复用的技能单元,系统实现了技术价值的最大化——提升开发效率、保证系统可靠性、增强业务适应性。在应用场景上,技能系统广泛应用于数据分析、智能客服、自动化流程等领域。本文以技能注册中心、执行引擎和组合器为核心组件,深入探讨了技能系统的完整架构设计,并结合数据清洗、分析等具体技能实例,展示了如何通过Python实现高可用的技能工作流。针对AI Agent开发中的技能抽象和系统工程挑战,文章提供了从基础概念到

weixin_33701617的博客 464

CANN/GE:Ascend C自定义算子图集成示例

- Graph construction entry: `PyTorch + TorchAir` - Operator programming language: `Ascend C` - Compilation method: `Pre-compiled/Direct invocation` - Model sinking capability: `Not applicable` - Core

gitblog_00259的博客 517

Spring Boot整合流程引擎Flowable

对于业务建模,我们需要一种通用的语言来描绘,这样在沟通上和实现上会降低难度,就像中文、英文一样,BPMN2.0便是一种国际通用的建模语言,他能让自然人轻松阅读,更能被计算机所解析。协议中元素的主要分类为,事件-任务-连线-网关。一个流程必须包含一个事件(如:开始事件)和至少一个结束(事件)。其中网关的作用是流程流转逻辑的控制。任务则分很多类型,他们各司其职,所有节点均由连线联系起来。下面我就以每种类型的节点简单地概括一下其作用。网关。

qq_43372633的博客 1万+

CANN/asc-devkit Sigmoid高阶API示例

This example uses the Sigmoid high-level API to perform element-wise logistic Sigmoid computation on the input tensor. This API is commonly used in the output layer of binary classification tasks and

gitblog_00711的博客 763

CANN/asc-devkit TensorFlow内置算子示例

This example demonstrates how to map an Ascend C custom operator to a TensorFlow built-in operator based on the Add computation, and invoke it through TensorFlow. ## Supported Products and CANN Versi

gitblog_00712的博客 789
上一篇: Good Enough Testing(恰到好处的测试)
下一篇: Test Complete的性能记录方法
TIB
TIB
博客等级 码龄19年 2879粉丝 957原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值