




已阅读5页,还剩64页未读, 继续免费阅读
(机械制造及其自动化专业论文)基于界面对象识别的制造业软件交互式集成技术.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 i 摘摘 要要 制造业信息化软件为实现通用化,往往被设计成需要用户进行多次、反复的基本操 作来完成综合性的功能,效率低下且容易出错;软件信息孤岛问题突出,导致软件集成 需求不断增加,但由于软件设计或商业原因,许多软件缺乏二次开发接口而难以集成, 目前对集成的研究主要着眼于集成理论和体系架构的研究,对底层的交互集成研究不 足。因此,迫切需要一种良好的手段来解决上述繁杂操作和软件交互集成手段缺乏的问 题。 开目自动化平台已在一定程度上解决了上述问题, 但它对部分非标准软件无法进行 操控,应用范围有限。本文对开目自动化平台进行了应用与功能扩充,形成用户界面自 动化操控平台(uiaop) 。根据实际需求给出了单一软件、系统集成、平台集成三种应 用模式,进而根据人工操控图形界面(gui)和字符界面(cui)软件的流程,完成平 台需求分析、 功能模块划分、 功能映射与体系架构设计, 给出了各模块的具体实现方案。 对 gui 软件, 界面对象的识别与操控是关键。 本文采用基于规则的精确识别和模糊 识别两类方法,详细给出了识别规则,重点讨论了模糊识别方法中基于对象截图的位图 匹配和基于 api 拦截的文字匹配两种方式,这两种方式充分模拟人眼的功能,是平台能 操控任何软件界面的基础,是对自动化平台适用范围的极大扩展;对识别性能的优化采 用对象缓冲数据库,通过缓存已识别的对象,可减少对象重新识别的次数,能一定程度 上解决自动化平台识别速度过慢的问题;对 gui 软件的操控采用基于 windows 底层消 息和鼠标键盘模拟的混合方式, 可对任何界面对象进行操控; cui 软件的操控是 uiaop 平台的全新功能, 其关键是 cui 软件的命令调用与状态检测, 本文通过进程参数调用进 行命令发送, 设计并实现了双管道重定向防死锁技术来进行状态检测, 达到对 cui 软件 的操控目的。 最后, 应用 uiaop 平台, 实现了 “subversion 版本管理软件与开目 pdm” 和 “test track pro与开目信息化平台” 的直接集成。 通过这两个非常规集成的实例, 验证了uiaop 平台用于软件集成和软件操控的合理性和有效性。 关键词:关键词:交互集成,界面自动化,对象识别与操控,性能优化,命令调用,状态检测 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 ii abstract in order to be multipurpose, the manufacturing information software is usually designed as a system which needs a lot of multiple, repeating basic operations from users to accomplish a complex function, thus results in inefficient and error-prone; the problem of information island becomes serious, which causes the increasing needs for software integration, but, due to the problems of software design and some business issues, most of the software systems lack of secondary development interface, thus can not meet the need of software integration. by far, the research on integration has been mainly focusing on the theory and architecture, and the research on the bottom interactive integration is still not excellent. therefore, an effective method is needed urgently to solve the problems such as tedious actions and interactive integration. kaimu automation platform has solved those problems mentioned before to some extent, but it can not manipulate the non-standard software, thus results in a limited scope of application. this thesis develops a user interface automation operation platform (uiaop), which expands the function and scope of application of automation platform. firstly, three application modes called single software, system integration and platform integration are given. and then according to the process of humans operating graphical user interface (gui) and character user interface (cui) software, the requirement analysis, functional module partition, function mapping and design of architecture are proposed. finally, the formula of realization for each module is discussed. for gui software, the identification and manipulation of ui object is the key point. rule-based direct identification and reference identification are used in order to identify gui object and the rules of identification are proposed in detailed way, while focusing on the reference identification methods of bitmap matching based on bitmap screenshot and text matching based on api interception, these two methods fully simulate the function of the human eyes and are the basis that platform can manipulate any software. objects buffer database technology is used for the optimization of identification performance, through caching the object that has been identified, the number of times of re-identification can be reduced, thus improves the identification speed of gui interface objects. the mixed-mode method based on windows messages and simulation of mouse and keyboard is used for gui interface operation, which can manipulate any gui software. manipulation of cui software is a completely new function of uiaop, for which the command call and state detection are the key points. this thesis uses process parameter call and dual-pipeline redirection with deadlock prevention state detection technologies to manipulate cui software. finally, by using uiaop platform, the integration projects called “subversion version 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 iii management software with kmpdm” and “test track pro with km information platform” are achieved. these two examples of nontraditional integration validate the rationality and effectiveness of using uiaop platform to carry out software integration and software manipulation. kew words: interactive integration, ui automation, object identification and manipulation, performance optimization, command call, state detection 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在 文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。 本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 本论文属于 (请在以上方框内打“” ) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 保密,在 年解密后适用本授权书。 不保密。 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 1 1 绪论绪论 1.1 企业应用系统集成综述企业应用系统集成综述 1.1.1 企业集成需求的产生企业集成需求的产生 随着全球经济的一体化进程,企业逐步转向小批量、多品种、高反应速度的生产模 式,生产过程也开始围绕产品全生命周期相关信息而进行,包括市场调研、搜集用户需 求、企业战略规划、产品设计、制造、包装、销售、售后服务直至废品回收。同时,由 于共同利益的需要,企业之间还可能组成一个临时的、松散的联盟,即虚拟企业。 企业要在快速变化的市场环境中赢得生存机会,除需要正确的企业战略外,还需要 一套灵活的生产、管理、信息体系,能根据市场变化快速适应,加快市场响应速度。计 算机软、硬件技术的快速发展给企业带来了机遇,cad、capp、cam、crm、pdm、 erp 等信息系统的引入1,在一段时间内快速地提高了企业各部门的工作效率和企业经 济效益2。但这些系统过于专注于某单一领域的问题,缺乏统一的数据模型,不同领域 之间数据交换困难,随着系统数量的增多,问题越来越严重;另一方面,这些应用系统 主要是根据企业原运作过程开发,专注于单一领域,企业的运作仍处于线性状态,企业 活动执行顺序没有任何革新变化,不能柔性地随着业务流程的变化而变化,不支持并行 的协同设计3,更不可能支持企业间的协作和临时联盟。企业系统集成为解决上述问题 提供了解决方案4,其本质是将各个分散的企业及其应用系统粘合到一起,在充分考虑 已有系统重用、柔性地支持业务流程变化、虚拟企业集成以及新系统引入的便利性的一 种折中的办法。 企业系统集成是从系统的观点出发, 以信息技术为手段来提高企业内多个组成部分 之间的协同效率和协同效果的理论、方法和技术。它涵盖了围绕企业整个价值链的策略 匹配、 业务开发与规划、 业务体系到信息系统/技术的一致性映射和企业集成化运行四大 过程5。 一方面现代制造业的需求是企业系统集成产生和应用的动力, 另一方面计算机硬件 技术、计算机网络、数据库技术的发展又为系统集成提供了基础,软件工程技术(包括 体系架构, 如 c/s、 b/s 模式) 、 组件技术 (如 com 技术) 6、 分布式基础框架 (如 dcom、 corba、j2ee、web service)7-10、数据交换标准(如 edi、xml、step、pdml) 为系统集成的各方面提供了技术,系统理论、企业管理、企业信息化理论、企业信息化 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 2 解决方案为系统集成提供了理论指导。从这个意义上说来,企业集成是需求和技术双轮 驱动的结果。如图 1.1 所示。 市场需求拉动 技术的推动 传统企 业 信息化 集成企 业 图 1.1 企业集成的驱动 1.1.2 企业集成的内容企业集成的内容 企业系统集成按照集成的层次深度来划分,可以分为信息集成、过程集成、知识集 成、组织和人员集成11。其中组织和人员集成是其他集成的基础,需要随着集成程度的 不同而动态地调整,使得企业系统中的组织结构、人员、信息系统和资源始终处于一个 一致协调的环境。信息集成、过程集成、知识集成也代表了企业信息集成的发展过程。 如图 1.2 所示。 信息集成 过程集成 知识集成 集成度 时间 组织和人员的集成 图 1.2 企业集成内容 信息集成:本质是数据的集成。企业原先引入的各应用系统数据模型不尽相同,分 别代表着产品生命周期各阶段的信息, 造成产品信息分散、 数据重复、 一致性维护困难。 信息系统集成在明确集成范围基础上,分析产品信息数据及其联系,抽取出一个公共的 便于扩充的数据模型,通过数据集成技术支持各类不同的信息系统之间数据高效、安全 的共享。信息集成成功解决了企业中信息孤岛、数据重复录入、数据冗余、一致性维护 困难的问题5。 过程集成:过程集成进一步满足企业业务流程的需求。通过各种集成中间件来支持 各企业应用系统之间的协同过程,消除过程中各种冗余和非增值的子过程,以及由人为 因素和资源问题等造成的影响过程效率的一切障碍,使企业过程总体达到最优 12。过 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 3 程集成将企业各种功能,把人、资源资金和应用合理地组织在一起,获得最佳的运行效 益。企业集成体现在信息系统之间不仅仅牵涉到数据的高效传递共享,而且体现在系统 之间可以相互调用对方的功能、过程函数等,实现功能层次上的集成。 知识集成: 知识是一种自然现象13, 是已经被认识的信息以及信息之间联系的描述。 企业知识包括市场调研知识、企业决策知识、设计知识、工艺知识、销售知识等,这些 知识有些以电子或纸质文档的形式保存,或存在于工作人员头脑中。知识集成就是将这 些知识管理起来,把不同层次的知识与知识、知识与过程、知识与人整合起来,在企业 内部高效地共享,通过知识集成,提高组织的核心竞争力14。知识集成主要研究的内容 有,知识获取、表达、存储、知识发现、数据挖掘以及基于本体的知识集成等15 ,16。 1.1.3 企业集成的模式企业集成的模式 所谓模式,是针对一系列经常出现的问题所给出的已经被证明为有效的解决方案, 如建筑工地的桥梁、门、阳台等可以称为模式,软件体系架构 c/s 结构、b/s 结构也可 以称为模式。企业集成涉及的具体问题是有限的,通过过去集成经验的积累,给出了常 见的集成模式。 1)数据集成的模式 数据联邦:通过一个虚拟数据库连接多个同构或异构数据源,屏蔽各数据源差异, 建立一个统一的数据信息模型,各应用系统直接和虚拟数据库交互信息,虚拟数据库管 理在交互过程中需要获取或存储的数据。 数据复制:通过一个数据复制中间件连接各应用系统的数据库,负责数据在不同数 据库间的传输复制,包括数据提取、数据映射、数据存储、传输控制等。 适配器模式:各应用系统通过提供二次开发接口或其他形式的手段来开发适配器, 和各系统的数据交互通过适配器来完成。 数据集成模式的三种模式如图 1.3 所示。 db1db2 虚拟数据库 应用a应用b db1db2 应用a应用b 数据一致性服务 db1mom 应用a应用b 适配器 a) 数据联邦b) 数据复制c) 适配器 图 1.3 数据集成三种模式 2)过程集成的模式 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 4 过程集成一方面强调连通,包括硬件连通、数据共享、可互操作,另一方面强调过 程优化,提高效率。它具有以下几种模式: 适配器模式:该种模式由客户端、适配器和服务器应用端构成。一般服务器应用系 统是一个遗留系统,适配器将它的接口构造成适合客户端访问的形式,客户端直接和适 配器交互即可。 信使集成模式:该种模式使用消息中间件来连接各种系统,具体的交互过程由系统 自己实现,各系统之间的耦合性很低。该模式使用形式多样,除支持同步、异步、一对 一、一对多、多对一和多对多集成外,还支持消息订阅和发布方式,集成的柔性和灵活 性都大大增加。 面板集成模式:类似于适配器形式,集成面板封装了至少两个服务端应用,将服务 端的应用及逻辑转换成面向客户端应用的简单的接口,客户端直接和集成面板交互,不 用了解服务器端的应用系统和具体实现逻辑。 代理集成模式:将应用逻辑从具体应用系统中分离出来,和集成面板模式比较,它 淡化了服务器和客户端的概念,和信使方式比较,它增加了应用逻辑部分。 过程集成的模式如图 1.4 所示。 集成交互 模型 客户端 应用a 客户端 应用b 集成适 配器 服务器 端应用 应用a应用b集成 信使 a) 适配器集成模式b) 信使集成模式 客户端应用a客户端应用b 服务器 端应用 集成面板 应用a应用b 应用c应用d 应用a应用b 应用c应用d 集成 代理 c) 集成面板模式c) 集成代理模式 图 1.4 过程集成模式 3)平台集成模式 企业集成平台能降低企业集成难度和风险,缩短开发周期,降低集成成本,提高企 业运行效率,同时具备良好的可扩展性,提供多种共性工具和二次开发工具,为安全、 高效地集成运行已有系统, 方便引入新系统, 柔性地支持业务流程变化提供强有力支持, 基于集成平台的集成是目前企业集成的主要形式。 目前,应用系统的开发一般采用分层的方法,包括系统表示层、业务逻辑层和数据 层等。集成平台同样可以采用这种分层集成的方式,根据集成层次的不同,有以下集成 模式。 前端集成模式:即表示层的集成,将各应用系统的功能予以组合封装成跨越多个事 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 5 务的服务,提供给客户端系统使用。 后端集成模式: 即数据层的集成, 利用专门工具维护底层数据源之间数据的一致性。 混合集成模式:包括前面两种集成模式。混合集成模式如图 1.5 所示。 pc机 用户 无线终端 internet网络 无线网络 企业防火墙 企业门户 应用a 集成 应用c 应用b 合作伙伴门户 internet网络 业务数据库 数据仓库 数据集市数据集市 图 1.5 平台混合集成模式 1.2 课题的来源、目的及意义课题的来源、目的及意义 1.2.1 课题的来源课题的来源 本课题主要通过引入通用界面自动化操控平台(uiaop)来解决制造业软件集成和 实际工作中遇到的诸多问题。研究内容主要来源于国家科技支撑计划轻纺设备电子设 计、生产软件系统(2006baf01a44)、国家 863 计划:面向电站锅炉行业的可定制 plm 系统(2007aa040605)以及开目集成平台自身发展的需要。 制造业实际工作中存在大量重复、 单调的操作, 依靠人工完成浪费时间且容易出错; 软件交互集成手段单一,仅依靠二次开发接口集成范围非常有限。uiaop 平台基于自 动化平台技术,是对信息化软件进行拟人化操控的一个软件平台,能有效解决上述两类 问题。一方面它可以代替人对信息化软件进行频繁单调的操控,从而提高生产率、降低 人工成本并减少出错率;另一方面,uiaop 平台还可以作为信息化软件的集成中介, 用于集成缺乏二次开发接口的软件,丰富了软件交互集成的手段,极大地拓展了软件集 成的范围。 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 6 1.2.2 课题的目的及意义课题的目的及意义 目前有许多关于企业信息系统集成和虚拟企业集成的理论和框架, 如企业集成建模 方法和工具17、企业集成整体解决方案、分布式访问框架、基于 soa 的集成等,这些 理论给出了企业实施信息化的基本指南和原则, 框架则针对各种集成问题给出了具体的 解决方案并给出了集成企业的软件架构。目前关于集成的研究多集中于理论与框架研 究,而对一个底层的交互集成却极少提及。目前,交互集成手段单一,基本均依赖于软 件二次开发接口。 首先, 某些软件并不提供二次开发接口, 比如著名的缺陷管理工具 test track pro;其次,有些系统二次开发接口不完全,仅通过二次开发接口无法实现完整的 交互集成;最后部分软件厂商由于商业原因不愿意提供强大的二次开发接口。无论集成 的理论和框架有多么先进,一个系统要集成到已有框架(平台)中,最终总会落脚到框 架怎样和已有系统交互上,系统与框架(平台) 、系统与系统的交互是集成的基础。如 果缺乏这些基础的交互技术, 集成理论与框架再先进,也不过是空中楼阁, 交互集成手段 的缺乏导致企业集成发展缓慢18。 软件测试中测试人员经常遇到的一种情况,对于同一个软件界面的测试,一组同样 的测试流程,有成千上百组数据等待测试,在没有工具的情况下,测试人员只能重复成 千上百次同样的动作,工作量大且容易出错;制造企业实际工作中,批量的图纸转换是 经常遇到的,比如将开目 cad 图纸(.kmg)转换成 autocad 图纸(.dwg)格式,如果采 用第三方软件分析图纸格式即复杂又容易出错,最好的方法是利用开目 cad 提供的转换 工具,即打开一张.kmg 图纸,然后另存为.dwg 格式,开目 cad 没有提供批量转换功能, 因此,在没有工具的情况下,只能反复重复这一系列动作。 开目自动化平台将软件测试研究内容的界面控制技术部分进行总结和拓展, 形成了 一个可自动操控软件界面的自动化平台,但其应用范围有限,速度较慢。本课题在开目 自动化平台的基础上,对其进行应用范围和功能范围的扩展,形成一个可操控任何软件 界面的、流程可定制的、性能更佳的软件平台:界面自动化操控平台(uiaop) ,以计 算机程序代替人来对软件界面进行的操作。 针对目前制造行业集成和实际工作中出现的 一些问题,uiaop 平台在支持自动化平台已有的单一软件和系统集成两种模式的基础 上,还支持第三种集成模式,即平台集成应用模式,更加全面地解决了企业系统集成困 难、软件操作重复枯燥容易出错等问题。基于该平台,理论上可以集成和操作任何应用 系统,只要它具有人机接口,即存在字符化或图形化人机界面。uiaop 作为开目公司 网络集成平台的补充平台,将极大的拓展信息软件的集成范围,缩短集成项目周期,降 低集成成本;另一方面,它还可以单独使用作为一个自动操作软件的机器人,以完成需 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 7 要重复进行的工作, 将宝贵的人力资源从枯燥的操作中解放出来, 降低企业成本; 同时, 由于 uiaop 平台本身是软件测试领域的界面控制技术的拓展,其研究成果对软件测试 领域的研究也具有较大的借鉴意义。 1.3 国内外研究现状国内外研究现状 1.3.1 企业集成研究现状企业集成研究现状 企业信息化经历了业务信息化、信息系统集成、一体化三个阶段。业务信息化阶段 在企业各个部门逐渐引入信息化系统,达到局部信息化、提高效率的目的,这是一种纵 向层次的效率提升;信息系统集成阶段开始关注围绕企业价值链的各部分互联、数据交 换和互操作,开始进行信息系统的集成,这是一种横向的效率提升;一体化阶段是集成 的最高形式,企业进入精益管理阶段后,不能再容忍集成造成的低效率,开始从上而下 考虑企业整体信息化的问题,在该阶段,企业只有一个涵盖了企业的所有业务过程并支 持业务过程变化和扩充的信息系统20。 企业集成是企业业务信息化进行到一定阶段的产物。 企业集成的成熟状态依次为点 对点集成、结构化集成、过程集成、协同业务集成四个阶段21。随着 web 应用技术的发 展,提出了面向服务的集成(soa)思想,企业或服务提供商将应用系统封装成服务, 用 wsdl 加以描述并在 uddi 注册中心注册,需要服务的客户首先查询 uddi 的服务 获得服务地址和用接口,然后根据地址进行服务连接,最后通过 soap 协议进行对象绑 定,索取服务22。由于基于集成平台的集成具有成本低、周期短、低耦合、柔性化、可 扩充性好、支持重用等特点,基于集成平台的集成、集成平台本身、集成平台的标准成 为目前研究的热点。 国外已经出现了一系列商业化的集成平台: tibco公司的active enterprise 3.0为企业 用户提供端到端的信息系统集成方案,支持应用或服务热插拔、业务建模等;mercator 公司的 enterprise broker、web browse 分别用于企业内集成、b2b 电子交易系统的前后 端连接,commerce broker 则用于将前两者组合起来,管理合作伙伴间的业务消息流; ibm 公司 mq services wwokflow 能提供包含企业内和企业间的综合解决方案; webmethods公司的webmethods enterprise可面向技术型用户提供b2bi解决方案; vitria technology 公司的 businessware 主要面向技术型用户, 采用以过程为核心的方式实现系 统集成。 国内一些高校和软件厂商立足于国情,对软件集成的研究也取得了较好的成绩,也 有一些商业化的集成平台和集成整体解决方案,但基本限于中小型企业用户。开目公司 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 8 提供的网络集成平台以开目 pdm 为核心,全面集成 cax,erp 以及其他应用系统,提 供可视化建模工具,提供强大的项目管理功能,它基于消息中间件和代理技术23,提供 强大的二次开发工具,系统易于升级和维护24-27。 1.3.2 界面自动化技术现状界面自动化技术现状 软件测试是指为了发现程序错误而执行程序的过程。 界面自动化技术是软件测试技 术的一个分支,主要关注软件界面的自动化操控,以达到人机交互或软件集成的目的, 它的形成主要是伴随软件界面测试技术发展起来的28 ,29, 目前, 国内外学者对软件测试 技术的研究已经取得了较好的成绩,主要集中在测试脚本的自动生成30-33、gui 界面控 件的识别、测试用例自动生成、测试过程优化等。 早期的软件一般是使用宏汇编或面向过程的语言编写, 其测试主要是关注输入输出 模型,有黑盒测试和白盒测试两种方法。随着面向对象语言的兴起,测试方法发生较大 变化,除了关注输入输出模型之外,还更关心对象的动作序列。基于模型测试技术的出 现为面向对象软件的测试提供了思路,该测试方法的特点是:根据待测系统模型产生测 试用例, 分析测试结果34。 随着图形化界面软件的出现, gui 测试技术显得越来越重要, gui 测试的操作对象是软件界面,测试内容是隐藏在界面后的软件功能,gui 测试主要 基于界面自动化操控技术。 国外对软件测试的研究始于上世纪 60 年代35,目前已经有了一大批较为成功的软 件测试工具投入市场。 mercury 公司推出的 winrunner,主要关注功能性测试,以脚本 的形式记录下一系列操作,可反复播放,quick test pro 关注功能测试和回归测试,是一 款先进的自动化测试解决方案,用于创建功能和回归测试,它自动捕获、验证和重放用 户的交互行为。德国 froglogic 公司的 squish 系列产品可同时支持 gui 和 web 程序的 自动化测试。 国内也对软件 gui 测试做了大量研究,文献36对软件 gui 测试自动化进行详细论 述,包括测试原理、流程、规范和测试脚本等;文献37给出了一种基于有色 petri 网模 型的 gui 对象建模方法, 基于该方法提出一种用例自动生成技术, 能有效提高测试效率 和质量;文献38提出一种变量有限状态机(vfsm)的形式化模型,通过引入一组变量,可 以使用较少的状态来模拟复杂的 gui。但到目前为之,国内还没有商业化的软件测试平 台。 软件测试中涵盖的 gui 测试自动化发展尚存在诸多不足,如测试脚本不能自动生 成、脚本不能跟踪界面变化、待测软件界面状态记录困难等39。因此,需要对 gui 测 试自动化技术进行拓展研究,使其系统化、平台化,以满足企业信息化软件集成和软件 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 9 自动操控的需要。 1.4 本文目标及研究内容本文目标及研究内容 1.4.1 预计目标预计目标 本文通过对软件 gui 测试技术的界面自动化部分进行研究并扩充, 使其系统化、 平 台化、可靠化、界面形式多样化,操控流程可定制化,从而形成基于界面自动化操控的 uiaop 平台,减轻实际工作中软件操作人员的负担,降低出错率,同时扩充系统集成 的交互手段,解决企业集成中集成手段单一的问题。一方面,uiaop 平采用多项关键 技术,充分模拟人眼、人手,理论上可以代替人操控任意界面的信息化软件,降低了企 业成本、提高了效率;另一方面,在软件集成过程中,可以利用 uiaop 平台作为中介 进行集成(详见 2.2 节 系统集成应用模式) ,也可以将 uiaop 平台作为开目网络集成 平台的代理, 以将缺乏二次开发接口的软件集成到网络集成平台中 (详见 2.3 节 平台集 成应用模式) 。 1.4.2 研究内容研究内容 本文回顾了企业集成现状,分析了企业集成中交互集成手段单一,集成范围有限的 问题,给出了企业实际运行中某些软件操作频繁单调,容易出错的情况。开目自动化平 台已在部分程度上解决了上述问题,但其适用范围有限。本文对开目自动化平台进行了 应用和功能扩展,形成了 uiaop 平台。接下来的工作包括: 1)开目自动化平台支持单一软件和系统集成两种应用模式。单一软件应用模式中, 自动化平台可代替人对软件进行自动化操控;而系统集成应用模式中,自动化平台可作 为集成中介,进行软件间的交互集成。uiaop 平台在自动化平台基础上,提出了“平 台集成”应用模式,uiaop 平台作为集成代理,负责网络集成平台和待集成软件之间 的双向通信。本文对三种应用模式的运行结构、解决的问题和可行性都进行了探讨,重 点讨论了平台集成应用模式中基于 com 可连接对象的双向通信方案、 通信架构和实现。 2)常见的 windows 下的软件有图形界面(gui)和字符型界面(cui)两种,自 动化平台仅能操控 gui 软件,而 uiaop 平台能同时操控这两种软件,cui 软件操控模 块的引入是 uiaop 平台对自动化平台重大的功能扩展,势必导致自动化平台体系架构 发生较大变化。本文首先提取人工操控 gui 和 cui 界面软件的基本流程,然后进行流 程分析、边界划分和功能映射,在考虑自动化平台模块重用的基础上,对 uiaop 平台 进行了功能模块划分和体系架构设计。 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 10 3)自动化平台通常采用基于规则和句柄的常规方式进行 gui 对象识别,适用范围 有限。 本文在介绍自动化平台 gui 对象识别规则的基础上, 通过引入图像和文字匹配两 种对象识别方式,旨在更大程度上模拟人眼功能,以使得 uiaop 平台可以操控任何软 件界面。在第 4 章中详细讨论了这两种方式的实现,包括位图结构、位图分割和匹配的 关键技术及其实现、api 拦截原理、实现及文字匹配的关键技术及实现,针对自动化平 台中 gui 界面对象识别速度较慢的情况,提出了基于对象缓存数据库的性能优化方案, 重点讨论了对象记录替换策略以及 uiaop 平台选择的替换策略及其实现; 4)详细讨论了 uiaop 平台对自动化平台的功能扩展:cui 软件操控部分。根据 cui 软件的人工操作规律,提出基于进程参数调用的方式进行 cui 软件命令调用,采用 双管道重定向状态检测技术检测程序执行状态,采用“试读读取”策略解决了双管道 技术来带的死锁问题; 5)应用 uiaop 平台,实现了 “subversion 版本管理软件与开目 pdm 的集成”和 “test track pro 与开目信息化平台的集成” , 验证了 uiaop 平台用于软件交互集成和软 件操控的合理性和有效性。 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 11 2 uiaop 应用模式及其分析应用模式及其分析 自动化平台支持信息软件的自动化操控和以自动化平台作为中介而实施的交互集 成,即 2.1 节的单一软件应用模式和 2.2 节的系统集成应用模式。在自动化平台基础上, uiaop 平台提出了第三种应用模式,即平台集成应用模式,该模式将 uiaop 平台作为 网络集成平台的集成代理,能将缺乏二次开发接口的软件集成到网络集成平台中,极大 地扩展了网络集成平台的集成范围。 2.1 单一软件应用模式单一软件应用模式 2.1.1 运行结构运行结构 软件 gui 测试自动化原理是将用户对待测软件 ui 的操作流程记录并生成脚本,然 后根据一定规则对脚本文件进行修改, 即可重复原操作流程, 达到测试自动化的目的40。 gui 自动化测试比较强调测试脚本的自动生成和 gui 状态覆盖率 41,而 uiaop 平台 则更侧重于对软件界面的操控方式和策略。 单一软件应用模式,是指利用 uiaop 平台对一个本地应用软件(包括 gui 和 cui 软件)进行操作控制,按照一定的操作流程和,完成特定功能的过程。单一软件应用模 式运行结构如图 2.1 所示。用户和 uiaop 平台作为命令控制中心,对软件发出命令并 获取其状态,分析下一步动作,如此反复,直到操作完成。对 cui 软件,键入命令、读 取并分析结果,反复进行;对 gui 软件,首先应识别图形界面对象,然后再进行操作, 而执行状态的检测需通过某些界面对象的外在表现间接获取,结果判定比较困难。 用户 图形界面图形界面图形界面图形界面 确定取消 username 用户名 * 密码 c: windows system32 cmd.exec: windows system32 cmd.exec: windows system32 cmd.exec: windows system32 cmd.exe microsoft windows xp version 5.1 (c) copyright 1985-2001 microsoft c: documents and settings wujing uiaop平台uiaop平台uiaop平台uiaop平台 操作、命 令、输入 状态信息 操作、命 令、输入 状态信息 图 2.1 单一软件应用模式运行结构 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 12 2.1.2 针对的问题针对的问题 uiaop 平台单一软件应用模式针对单一应用软件的界面进行操控。该模式一方面 可以加强软件 gui 测试自动化界面流程控制, 另一方面, 制造业实际工作中有大量的手 工重复的工作流程,效率低下,可将这些流程固定下来,交给 uiaop 平台来完成,无 需人工值守。 2.1.3 可行性分析可行性分析 应用软件必须向用户提供足够多的、方便的交互手段来完成用户期望的工作,这些 交互手段应该是简单且容易掌握的。 较多 gui 软件提供二次开发以扩充系统的功能, 但 是由于商业或技术原因,利用二次开发能完成的功能远少于用户通过操作获得的功能; 而对 cui 软件, 其本身使用过程就是在调用其命令接口, 命令接口类似于二次开发提供 的 api 函数,因此,可以认为 cui 软件二次开发功能和用户操作获得的功能是相同的, 如图 2.2 所示。对 gui 软件,界面才是和用户打交道的关键42,uiaop 平台提供多种 技术手段模拟人眼从界面上捕捉控件对象信息,包括位置信息、状态信息、文字信息、 图像信息等,通过消息或鼠标键盘模拟来操作控件对象;对 cui 软件,uiaop 平台直 接调用程序命令,基于管道重定向技术获取结果状态信息。平台通过预先定义的规则, 对操作结果进行分析,决定下一步动作,整个过程和人工操控软件一样。因此,利用 uiaop 平台来操作控制软件代替人完成单调重复的工作是完全可行的。 人工操作能 获得的功能 = uiaop平台能 获得的功能 = 二次开 发功能 人工操作能 获得的功能 =uiaop平台能 获得的功能 二次开发提 供的功能 a) 图形界面 b) 字符界面 图 2.2 二次开发功能与软件功能的关系 2.2 系统集成应用模式系统集成应用模式 2.2.1 运行结构运行结构 企业集成的需求是伴随业务信息化进入到一个特定阶段而产生的。 集成的目的一方 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 13 面是要把企业中分散的信息系统连接起来,消除信息孤岛,减少数据录入和数据冗余, 另一方面还要使企业信息系统能根据企业的业务流程集成起来,形成有机的、相互协调 的系统,使得企业能够从整体上发挥最大的效益。基于平台的企业信息系统集成是目前 研究的热点,平台为集成提供了底层的通信服务、支持不同层次的集成、提供二次开发 及平台管理工具。可利用 uiaop 平台进行软件集成,如图 2.3 所示。uiaop 平台在集 成中充当中介作用,通过界面控制/状态检测/命令调用/状态读取四种手段来将待集成软 件连接起来,通过预先定义的操作逻辑依次完成各软件的操控, uiaop 提供的操作流 程语言 (operation process language) opl 语言支持对操作流程的定制与建模43(详 见 3.3.5 节) ,集成的灵活性和可扩充性非常强。 状态读取 命令调用 状态检测 界面操控 uiaop平台平台 = 底层通信 信息集成 过程集成 知识集成 界面集成 = 二次开发 管理工具 cad (autocad kmcad ug pro/e) capp (kmcapp intelcapp) pdm (kmpdm intelpdm 天河pdm) subversion等 开源cui软件 界面操控 界面操控 状态检测 状态检测 互 联 逻 辑 图 2.3 系统集成应用模式运行结构 2.2.2 针对的问题针对的问题 当前集成的难点不在于集成平台不够成熟或体系架构不够先进,而在于其基础:软 件间的交互严重依赖于二次开发接口。当前的很多软件都缺乏二次开发接口,对这些软 件的集成非常困难。另一方面,有些软件二次开发的环境配置非常困难,用界面操作很 简单的一个功能如果使用二次开发完成,可能要花费大量时间在环境配置和代码编写 上。如果集成的软件很多,那么程序员的负担是不可想象的。uiaop 平台可拟人化操 控 windows 系统上运行的大多数 cui 和 gui 软件, 通过简单的 opl 语言即可进行流程 定制,程序员只需掌握 opl 语言,即可集成 windows 系统上运行的大多数应用软件。 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 14 在时间和精力有限的情况下,对那些二次开发比较复杂或不可完成的集成需求,可采用 uiaop 平台来完成。 2.2.3 可行性分析可行性分析 业务信息化阶段,工作人员需要把一个软件系统的数据通过一定的手段(复制、粘 贴等) 转移到另一个系统里, 可能需要在两个以上的系统间同时进行工作, 即界面交互。 这些工作枯燥单调、浪费时间且容易出错。因此,集成的概念被提出来。uiaop 平台 利用高度的拟人化操作来完成软件间的集成,通过将操作流程转化成 opl 脚本,由 uiaop 平台解释执行来控制多个应用程序。在应用程序看来,来自操作人员和 uiaop 平台的操作几乎完全相同,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 诺如病毒相关知识培训课件
- 2025年度(参考)房地产合作开发投资合同签订框架协议
- 语言文字规范化培训知识课件
- 红酒护肤知识培训班课程课件
- 2025某单位门卫聘用合同
- 语文教学知识培训心得课件
- 合同审批管理标准操作模板
- 技术文档撰写规范及提交模板
- 农产品跨境销售贸易合同条款
- 红楼梦第59回课件
- 2025-2026秋安全主题班会教育记录(22周):第1周秋季开学安全第一课
- 2025-2026学年粤人版(2024)初中地理八年级上册教学计划及进度表
- 牧护关镇街道小学2025-2026学年第一学期工作计划
- 2025年《医疗器械监督管理条例》培训考核试卷附答案
- 2025-2030矿山机械跨境电商新模式拓展及品牌出海战略报告
- 养老金融科普知识培训课件
- 慢性咳嗽大讲堂课件
- 暂住人员管理办法
- 护理查对不良事件案例分析
- 化验室精细化管理
- 洗衣服劳动与技术课件
评论
0/150
提交评论