CN113176922B - 一种通用的界面元素自动探测系统 - Google Patents

一种通用的界面元素自动探测系统 Download PDF

Info

Publication number
CN113176922B
CN113176922B CN202110478702.0A CN202110478702A CN113176922B CN 113176922 B CN113176922 B CN 113176922B CN 202110478702 A CN202110478702 A CN 202110478702A CN 113176922 B CN113176922 B CN 113176922B
Authority
CN
China
Prior art keywords
recording
selector
information
intelligent
recording technology
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110478702.0A
Other languages
English (en)
Other versions
CN113176922A (zh
Inventor
刘春刚
李海强
孙名峰
陆晨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Yunda Information Technology Co ltd
Original Assignee
Shanghai Yunda Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Yunda Information Technology Co ltd filed Critical Shanghai Yunda Information Technology Co ltd
Priority to CN202110478702.0A priority Critical patent/CN113176922B/zh
Publication of CN113176922A publication Critical patent/CN113176922A/zh
Application granted granted Critical
Publication of CN113176922B publication Critical patent/CN113176922B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开了一种通用的界面元素自动探测系统,所述的通用的界面元素自动探测系统包含可扩展的元素选择器schema、智能录制器和元素探测器,Schema定义了一个树形结构,智能录制器是一个集成的元素录制单元,智能录制器是一个集成的元素录制单元。本系统中元素选择器Schema定义可扩展,适配各种类型的应用自动化技术;智能录制技术,自动选择录制技术录制不同的应用;具有很好的验证体验,验证过程按照节点有序进行,失败后可以轻松定位到节点层级;针对不同类型的应用,不同的自动化技术都可以显示控件树,包括不可见元素和重叠元素,并且支持产生定位选择器。

Description

一种通用的界面元素自动探测系统
技术领域
本发明提供一种通用的界面元素自动探测系统,具体涉及各个平台的自动化技术领域。
背景技术
RPA(Robotic Process Automation),即机器人流程自动化。它是替代人工的一种工作方式,用于解放人力于重复冗杂和有规则的工作流中。实现机器人流程自动化指的是非侵入式的自动化,即采用不同的识别技术来定位目标元素,而非注入代码的形式。
准确定位目标元素是所有RPA产品的核心技术。当前几乎所有RPA产品都通过选择器(Selector)描述目标元素的特征,然后根据这些特征定位目标元素,并在目标元素上完成点击、输入文本等鼠标键盘自动化操作。
不同类型的应用有不同的自动化技术和框架,比如Windows桌面应用有UIA/MSAA,Web应用根据浏览器类型有不同的自动化技术,Java程序有JAB,安卓有Air test/Appium,iOS有WDA/Appium等。并且不同的自动化技术对于元素的查找方式以及对元素的控制各不相同。对于元素的定位,也有多种方式,利用上述的自动化技术获取UI控件树信息,利用控件属性特征集合来唯一定位目标元素;利用图像识别定位目标区域;利用ComputerVision,OCR文本识别的方式来定位目标区域等等。RPA产品中对于元素的录制,定位和编辑体验至关重要,在实际场景中,会有如下问题导致录制定位失败或者定位到错误的控件上:
1)不可见元素,但其实在界面树中确实存在;
2)虽然可见,但是和其他元素位置重合或者被遮挡,自动录制的时候无法指定到期望的控件元素上。
虽然市场上已经有相应的产品来实现各个平台的自动化,但他们的方案却各不相同,体验也不一样,这里汇总一下它们需要改进的地方:
1)选择定义不够清晰,难以阅读;
2)自动化框架支持并不完善,还不能随意切换自动化技术;
3)选择器编辑功能不够丰富,而且内容不方便迁移;
4)不支持图像识别或者录制时候在图像识别和元素识别之前切换不够智能。
发明内容
本发明的目的就是为了解决以上问题,提供一种通用的界面元素自动探测系统,以自动识别不同类型的应用,多种自动化技术的元素自动探测技术,能够智能切换自动化技术,展示详细的控件树,根据用户选择的控件元素自动产生Selector。
为实现上述目的,本发明一种通用的界面元素自动探测系统包含:可扩展的元素选择器schema、智能录制器和元素探测器,Schema定义了一个树形结构,智能录制器是一个集成的元素录制单元,智能录制器是一个集成的元素录制单元。
元素选择器schema第一层ApplicationMetaDataType包含应用当前进程相关信息,进程名ProcessName,进程运行参数Parameters,程序文件路径FilePathChildControls包含目标元素各层级定位信息,包含窗口信息,父节点信息和自身信息;
优选的,所述的智能录制器集成了UIA、MSAA、WEB、JAB多种录制技术,根据进程信息,主窗口ClassName属性信息智能选择选择合适的录制技术,在录制过程中,实时显示当前屏幕相关信息,该录制单元定义了一系列统一的接口,当需要新增录制技术,只要实现了相关接口即可集成进去。
优选的,所述的元素探测器将识别到的元素转为可保存、可传输的选择器内容,元素探测器左侧有一个进程树面板,展示了系统桌面上可见与不可见的界面元素,每个元素支持右键生成对应的选择器内容。
优选的,所述的智能录制器工作时分为智能模式和手动模式,智能录制时首先根据当前鼠标的坐标获取到当前的进程信息,然后根据进程获取适配该进程的录制技术,继而进入该录制技术的相关实现方法,获取到目标选择器返回给客户端;手动模式即需要指定当前的录制技术,用户通过快捷键F4进行切换录制技术,然后直接调用该录制技术对应的实现方法达到录制效果。
本一种通用的界面元素自动探测系统中各个术语解释:UIA:全称Microsoft UIAutomation,微软的用户界面自动化库;
MSAA:Microsoft Activity Accessibility,一种应用编程接口,以支持有视听障碍用户的辅助技术;
JAB:JAVA Access Bridge,一种在微软Windows DLL中暴露JAVA可访问性接口的技术;
Airtest:网易的自动化框架技术,可以对android和iOS进行自动化操作;
SAP:systems applications and products in data processing,一种企业管理解决方案,这里指的对该系统进行自动化的技术;
XPath:XPath是一门在XML文档中查找信息的语言。
与现有技术相比,本发明的有益效果是:1、元素选择器Schema定义可扩展,适配各种类型的应用自动化技术;
2、智能录制技术,自动选择录制技术录制不同的应用;
3、具有很好的验证体验,验证过程按照节点有序进行,失败后可以轻松定位到节点层级;
4、针对不同类型的应用,不同的自动化技术都可以显示控件树,包括不可见元素和重叠元素,并且支持产生定位选择器。
附图说明
图1为本发明实施例录制中屏幕信息视图;
图2为本发明实施例中探测器窗口图;
图3为本发明实施例中智能录制器的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例提供一种技术方案:一种通用的界面元素自动探测系统其中所选的元素选择器是完整的选择器(Selector)是一个合法的XML文本,其根节点为Application,可以包含属性AutomationType(自动化技术)、ProcessName(进程名字)、FilePath(进程全名)、Version(选择器版本)以及ChildControls(子项)。其中ChildControls是一个ControlMetaData类型的节点,ControlMetaData节点也包含属性ChildControls可以用来嵌套。示例如下:
其中智能录制器包含以下步骤:录制交互;
开启录制之后,屏幕会进入录制状态如图1所示,随着鼠标的移动,录制器会根据坐标位置会识别到控件的区域并高亮。
元素录制:鼠标左击/右击之后将返回识别到的录制对象。如果指定的是文本,则弹出文本输入窗口,点击确定之后方可保存该录制对象;如果指定的是下拉框,则弹出识别到的弹筐里的内容列表供用户选择,然后保存该录制对象。
图像识别录制:按住Ctrl键不松手,然后用鼠标左键圈出区域,即可完成一次图象识别录制,如果不支持,将弹窗提示“当前操作不支持图像识别操作”;
切换录制技术:在录制状态的任意时刻,按下F4可以在所有支持的录制技术中进行切换;
暂停录制:在录制状态的任意按下F2,将出现倒计时5秒,在这5秒期间,电脑可以正常操作,5秒结束后可恢复录制状态;
结束录制:ESC退出录制模式;
其中,所述的元素探测器窗口设计如图2所示,该窗口集成元素的指定、验证以及选择器的编辑操作,选择器本身是一个合法XML文本,为了方便编辑,探测器将其转化为一个节点信息占一行的简单模式。右侧属性面板对属性进行快捷编辑,同时支持双击节点内容对整个选择器进行富文本编辑。
探测器产生定位选择器,并且可编辑,支持按照层级验证。
本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
需要说明的是,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合,本说明书系统实施例,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元提示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (2)

1.一种通用的界面元素自动探测系统,其特征在于:所述的通用的界面元素自动探测系统包含可扩展的元素选择器schema、智能录制器和元素探测器,Schema定义了一个树形结构,智能录制器是一个集成的元素录制单元,智能录制器是一个集成的元素录制单元;
所述的元素选择器schema第一层ApplicationMetaDataType包含应用当前进程相关信息,进程名ProcessName,进程运行参数Parameters,程序文件路径FilePathChildControls包含目标元素各层级定位信息,包含窗口信息,父节点信息和自身信息;
所述的智能录制器集成了UIA、MSAA、WEB、JAB多种录制技术,根据进程信息,主窗口ClassName属性信息智能选择选择合适的录制技术,在录制过程中,实时显示当前屏幕相关信息,该录制单元定义了一系列统一的接口,当需要新增录制技术,只要实现了相关接口即可集成进去;
所述的元素探测器将识别到的元素转为可保存、可传输的选择器内容,元素探测器左侧有一个进程树面板,展示了系统桌面上可见与不可见的界面元素,每个元素支持右键生成对应的选择器内容。
2.根据权利要求1所述的一种通用的界面元素自动探测系统,其特征在于:所述的智能录制器工作时分为智能模式和手动模式,智能录制时首先根据当前鼠标的坐标获取到当前的进程信息,然后根据进程获取适配该进程的录制技术,继而进入该录制技术的相关实现方法,获取到目标选择器返回给客户端;手动模式即需要指定当前的录制技术,用户通过快捷键F4进行切换录制技术,然后直接调用该录制技术对应的实现方法达到录制效果。
CN202110478702.0A 2021-04-30 2021-04-30 一种通用的界面元素自动探测系统 Active CN113176922B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110478702.0A CN113176922B (zh) 2021-04-30 2021-04-30 一种通用的界面元素自动探测系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110478702.0A CN113176922B (zh) 2021-04-30 2021-04-30 一种通用的界面元素自动探测系统

Publications (2)

Publication Number Publication Date
CN113176922A CN113176922A (zh) 2021-07-27
CN113176922B true CN113176922B (zh) 2024-05-24

Family

ID=76925590

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110478702.0A Active CN113176922B (zh) 2021-04-30 2021-04-30 一种通用的界面元素自动探测系统

Country Status (1)

Country Link
CN (1) CN113176922B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113934487B (zh) * 2021-09-18 2024-01-23 达而观数据(成都)有限公司 一种用户界面元素定位方法、系统、计算机设备和存储介质
CN114090155B (zh) * 2021-11-17 2024-08-20 中国建设银行股份有限公司 机器人流程自动化界面元素定位方法、装置和存储介质
CN114428575A (zh) * 2022-01-24 2022-05-03 京北方信息技术股份有限公司 一种界面元素探测识别方法、装置、存储介质及电子设备
CN114691265A (zh) * 2022-03-07 2022-07-01 达而观信息科技(上海)有限公司 一种软件界面结构化元素的批量抓取方法
CN114637662B (zh) * 2022-05-13 2022-08-26 杭州未斯科技有限公司 一种rpa流程自动化录制控制方法及系统

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224296A (zh) * 2014-06-19 2016-01-06 上海快测网络信息技术有限公司 基于独立第三方的Web服务Qos属性评价系统及其评价方法
CN107122281A (zh) * 2017-03-17 2017-09-01 百度在线网络技术(北京)有限公司 移动应用加载监控方法和系统
CN108737884A (zh) * 2018-05-31 2018-11-02 腾讯科技(深圳)有限公司 一种内容录制方法及其设备、存储介质、电子设备
CN108762837A (zh) * 2018-05-21 2018-11-06 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及终端
CN109684054A (zh) * 2018-11-07 2019-04-26 北京慧流科技有限公司 信息处理方法及装置、电子设备及存储器
CN110515846A (zh) * 2019-08-20 2019-11-29 上海云扩信息科技有限公司 一种关于用户体验测试的数据自动化处理分析系统、方法
CN111436213A (zh) * 2018-11-13 2020-07-21 谷歌有限责任公司 基于情感分析选择视觉元素的系统和方法
CN111694484A (zh) * 2017-05-16 2020-09-22 苹果公司 用于在用户界面之间导航的设备、方法和图形用户界面
CN111736837A (zh) * 2020-08-25 2020-10-02 银联商务股份有限公司 网页操作的还原方法、装置、设备、可读存储介质及系统
CN111966580A (zh) * 2020-07-24 2020-11-20 厦门快商通科技股份有限公司 基于人工智能的自动化测试方法、装置、设备和存储介质
US10908950B1 (en) * 2018-04-20 2021-02-02 Automation Anywhere, Inc. Robotic process automation system with queue orchestration and task prioritization
CN112464623A (zh) * 2020-11-24 2021-03-09 金蝶软件(中国)有限公司 Rpa流程文件生成方法、装置、计算机设备和存储介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224296A (zh) * 2014-06-19 2016-01-06 上海快测网络信息技术有限公司 基于独立第三方的Web服务Qos属性评价系统及其评价方法
CN107122281A (zh) * 2017-03-17 2017-09-01 百度在线网络技术(北京)有限公司 移动应用加载监控方法和系统
CN111694484A (zh) * 2017-05-16 2020-09-22 苹果公司 用于在用户界面之间导航的设备、方法和图形用户界面
US10908950B1 (en) * 2018-04-20 2021-02-02 Automation Anywhere, Inc. Robotic process automation system with queue orchestration and task prioritization
CN108762837A (zh) * 2018-05-21 2018-11-06 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及终端
CN108737884A (zh) * 2018-05-31 2018-11-02 腾讯科技(深圳)有限公司 一种内容录制方法及其设备、存储介质、电子设备
CN109684054A (zh) * 2018-11-07 2019-04-26 北京慧流科技有限公司 信息处理方法及装置、电子设备及存储器
CN111436213A (zh) * 2018-11-13 2020-07-21 谷歌有限责任公司 基于情感分析选择视觉元素的系统和方法
CN110515846A (zh) * 2019-08-20 2019-11-29 上海云扩信息科技有限公司 一种关于用户体验测试的数据自动化处理分析系统、方法
CN111966580A (zh) * 2020-07-24 2020-11-20 厦门快商通科技股份有限公司 基于人工智能的自动化测试方法、装置、设备和存储介质
CN111736837A (zh) * 2020-08-25 2020-10-02 银联商务股份有限公司 网页操作的还原方法、装置、设备、可读存储介质及系统
CN112464623A (zh) * 2020-11-24 2021-03-09 金蝶软件(中国)有限公司 Rpa流程文件生成方法、装置、计算机设备和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"基于Android的智能家居监测系统设计";龚婉婉;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》;20160515;C038-414 *
"基于SQLite数据库的智能粮情监测Android客户端设计";刘阳;《中国优秀硕士学位论文全文数据库信息科技辑》;20140815;I138-968 *

Also Published As

Publication number Publication date
CN113176922A (zh) 2021-07-27

Similar Documents

Publication Publication Date Title
CN113176922B (zh) 一种通用的界面元素自动探测系统
US8935147B2 (en) Runtime data language selection in object instance
US6226652B1 (en) Method and system for automatically detecting collision and selecting updated versions of a set of files
KR101323011B1 (ko) 데이터베이스 애플리케이션에 선택 가능 기능 컨트롤을디스플레이하기 위한 명령 사용자 인터페이스
EP2564325B1 (en) Temporary formatting and charting of selected data
US6278450B1 (en) System and method for customizing controls on a toolbar
US9383903B2 (en) Systems and methods for providing programmable macros
US7925985B2 (en) Methods and apparatus for process thumbnail view
US7426703B2 (en) Hierarchical navigation layers for wizards
US9424068B2 (en) Automatic batching of GUI-based tasks
US7739612B2 (en) Blended editing of literal and non-literal values
US20040070612A1 (en) System and method for making user interface elements known to an application and user
US20040201627A1 (en) Method and apparatus for analyzing machine control sequences
US20090199133A1 (en) Generating a destination list utilizing usage data
CN105373522A (zh) 基于手势的图表上的数据筛选
US20190095085A1 (en) Page construction method, terminal, computer readable storage medium, and page construction device
US20050071784A1 (en) Successively displaying panels in a computer user interface
CN101710274A (zh) 应用软件帮助信息生成方法及系统
Gao et al. Assistgui: Task-oriented desktop graphical user interface automation
US20230072084A1 (en) User action generated process discovery
US20070027909A1 (en) Methods and apparatus for comparison of projects
TW200406692A (en) Semiconductor test data analysis system
US20120174027A1 (en) Displaying A Series Of Reports Within A Single User Interface
CN113535046B (zh) 一种文本组件编辑方法、装置、设备和可读介质
CN113254315B (zh) 埋点信息的上报方法、埋点方法、装置、介质、电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant