CN102207857A - Gui元素识别方法、装置及系统 - Google Patents
Gui元素识别方法、装置及系统 Download PDFInfo
- Publication number
- CN102207857A CN102207857A CN2010101370154A CN201010137015A CN102207857A CN 102207857 A CN102207857 A CN 102207857A CN 2010101370154 A CN2010101370154 A CN 2010101370154A CN 201010137015 A CN201010137015 A CN 201010137015A CN 102207857 A CN102207857 A CN 102207857A
- Authority
- CN
- China
- Prior art keywords
- information
- gui
- gui element
- attribute
- extraneous
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution 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
本发明公开了一种图形用户界面(GUI)元素识别方法、装置及系统。根据本发明的一个方面,一种生成GUI元素识别信息的方法包括:显示GUI,该GUI包括目标GUI元素;对所显示的GUI进行分析,以获得目标GUI元素的属性信息;获得与目标GUI元素相关的、属性信息之外的额外信息;对所获得的属性信息和额外信息进行处理,生成该目标GUI元素的识别信息。
Description
技术领域
本申请涉及计算机应用领域,更为具体地,涉及一种能够更为准确地对图形用户界面(GUI)上的目标GUI元素进行识别的GUI元素识别方法、装置及系统。
背景技术
当前,在计算机应用中存在大量的图形用户界面(GUI)。基于这样和那样的目的,GUI元素识别成为一个重要的研究课题。但由于应用本身的复杂性和技术手段的落后,导致某些GUI元素很难被正确的识别,从而为社会生产实践带来了大量的问题。
例如,在现实应用中经常需要将一个非WEB应用即本地应用通过迁移技术迁移成基于WEB的应用,这其中就大量涉及对本地应用GUI元素的识别。因为必须要保证迁移前和迁移后两种应用在GUI元素上的一致性,否则无法完成迁移前后两个应用在视图和功能方面的一致性,如果不一致则有可能导致迁移失败,最终导致灾难性后果。
目前,通常利用GUI元素的属性信息来对GUI元素进行识别。这种属性信息例如GUI元素的XML描述,即GUI元素的XPath信息。对比文件1(CN101369249A)中公开了一种利用XPath方法来识别GUI元素的方法。以下,将参照附图1和2来描述这种XPath识别方法。
图1示出了一个示例本地应用的GUI 1000。参照图1,该GUI 1000包括GUI元素1001。当用户点击该GUI元素1001中的“OK”键时,将弹出GUI元素1002。例如,为了在实际操作中对GUI元素1002进行XPath识别,首先需要能够获知GUI元素1002的XPath信息。
为此,首先进行训练。在训练过程中,例如通过用户界面(UI)抓取单元,来获得本地应用当前GUI上的所有UI信息。在图1所示的例子中,获取有关GUI 1000的所有UI信息,并将其以XML格式存储。图2中示出了所存储的XML格式的有关GUI 1000的信息。然后,对这些信息进行分析,得到GUI元素1002的XPath信息,如图2中方框内的内容所示。之后,将关于GUI元素1002的XPath信息记录为:
“/element[@text=‘Form1’]/children/element[@text=‘Form2’]/children/element[@text=‘Return’]”。
于是,在运行阶段,首先由UI抓取单元来获取当前GUI的所有UI信息。这里,假设在运行时出现的GUI仍然为图1所示的GUI 1000。由于这里是以同一个GUI 1000来举例说明的,因此获得的UI信息同样如图2所示。然后,针对该UI信息中与某一GUI元素对应的信息项,例如图2所示的方框内的信息项,在所记录的XPath信息中搜索与之相匹配的项。在此,可以搜索到以上记录的GUI元素1002的XPath信息与方框内的信息相匹配,从而可以确定该方框内的信息所对应的GUI元素即为GUI元素1002。
当然,在训练阶段,可以针对多个目标元素来记录它们相应的XPath信息;然后在运行阶段对于当前GUI中的各GUI元素,根据所记录的XPath信息,来分别进行识别。
然而,利用XPath常常不能唯一识别某个GUI元素,特别是当针对多个GUI元素所记录的XPath信息存在相同项时。图3示出了另一示例应用。参照图3,在该应用中,当在GUI元素3001中未选中复选框而点击“OK”键(图中箭头“1”所示)时,将弹出GUI元素3002;点击该GUI元素3002中的“Return”键(图中箭头“2”所示),将返回复选框未选中状态的GUI元素3001。另一方面,当在GUI元素2001中选中复选框而点击“OK”键(图中箭头“3”所示)时,将弹出GUI元素3003;点击该GUI元素3003中的“Return”键(图中箭头“4”所示),将返回复选框选中状态的GUI元素3001′。
可以看出,GUI元素3002与3003两者并不相同。但是如果根据XPath方法,则两者均被描述为:
“/element[@text=‘Form1’]/children/element[@text=‘Form2’]/children/element[@text=‘Return’]”。
这样,根据XPath,就无法正确区分GUI元素3002与3003。
因此,需要一种改进的元素识别方法、装置和系统,来正确识别GUI元素。
发明内容
鉴于上述问题,本发明的目的之一在于提供一种增强的图形用户界面(GUI)元素识别方法、装置和系统,通过该识别方法、装置和系统,能够大大改进GUI元素识别的准确性,以便正确识别GUI元素。
根据本发明的一个方面,提供了一种生成GUI元素识别信息的方法,包括:显示GUI,该GUI包括目标GUI元素;对所显示的GUI进行分析,以获得目标GUI元素的属性信息;获得与目标GUI元素相关的、属性信息之外的额外信息;对所获得的属性信息和额外信息进行处理,生成该目标GUI元素的识别信息。
优选地,属性信息可以包括XPath信息,以及获得属性信息可以包括:获取GUI中的所有元素信息,所述信息形成为XML格式;对XML格式的元素信息进行分析,以获得目标GUI元素的XPath信息。
优选地,额外信息可以包括导致该目标GUI元素出现的历史事件信息,以及获得额外信息包括:记录导致该目标GUI元素出现的历史事件;以及对所述历史事件进行分析,以转换成目标GUI元素的出现条件,其中所述出现条件成为该目标GUI元素的历史事件信息。
优选地,额外信息可以包括系统状态信息。
根据本发明的另一方面,提供了一种根据GUI元素识别信息来识别待识别GUI元素的方法,所述GUI元素识别信息包括针对相应GUI元素的属性信息和属性信息之外的额外信息,该方法包括:显示GUI,该GUI包括待识别GUI元素;对所显示的GUI进行分析,以获得待识别GUI元素的属性信息;获得与待识别GUI元素相关的、属性信息之外的额外信息;以及在GUI元素识别信息中搜索如下信息项,该信息项包括的属性信息与所获取的待识别GUI元素的属性信息匹配,且该信息项包括的额外信息与待识别GUI元素相关的额外信息相匹配。
优选地,额外信息可以包括历史事件信息和/或系统状态信息。
根据本发明的另一方面,提供了一种GUI元素识别信息生成装置,包括:显示装置,用于显示GUI,该GUI包括目标GUI元素;属性信息获取单元,用于对所显示的GUI进行分析,以获得目标GUI元素的属性信息;额外信息获取单元,用于获得与目标GUI元素相关的、属性信息之外的额外信息;以及识别信息生成单元,用于对所获得的属性信息和额外信息进行处理,生成该目标GUI元素的识别信息。
优选地,属性信息可以包括XPath信息,以及属性信息获取单元可以包括:UI抓取单元,用于获取GUI中的所有元素信息,所述信息形成为XML格式;以及XPath信息生成单元,用于对UI抓取单元所获得的XML格式的元素信息进行分析,以获得目标GUI元素的XPath信息。
优选地,额外信息可以包括导致该目标GUI元素出现的历史事件信息,以及额外信息获取单元可以包括:事件记录单元,用于记录导致目标GUI元素出现的历史事件;目标GUI元素判断单元,用于判断GUI上是否出现目标GUI元素,并向事件记录单元发送判断结果;以及额外信息生成单元,用于根据事件记录单元针对目标GUI元素所记录的历史事件,来生成包括历史事件信息的额外信息。
根据本发明的又一方面,提供了一种GUI元素识别装置,包括:存储装置,用于存储GUI元素识别信息,所述GUI元素识别信息包括针对相应GUI元素的属性信息和属性信息之外的额外信息;显示装置,显示GUI,该GUI包括待识别GUI元素;属性信息获取单元,用于对所显示的GUI进行分析,以获得待识别GUI元素的属性信息;额外信息获取单元,用于获得与待识别GUI元素相关的、属性信息之外的额外信息;以及识别单元,根据属性信息获取单元获取的属性信息以及额外信息获取单元获取的额外信息,并根据存储装置中存储的GUI元素识别信息,来识别待识别GUI元素信息。
根据本发明的再一方面,提供了一种GUI元素识别系统,包括根据本发明的GUI元素识别信息生成装置以及根据本发明的GUI元素识别装置,其中存储装置存储由GUI元素识别信息生成装置所生成的GUI元素识别信息。
优选地,GUI元素识别信息生成装置中的属性信息获取单元与GUI元素识别装置中的属性信息获取单元可以由同一单元构成,以及GUI元素识别信息生成装置中的额外信息获取单元与GUI元素识别装置中的额外信息获取单元可以由同一单元构成。
根据本发明,在元素识别的时候由于额外信息的引入,克服了一些情况下单纯属性信息无法对某些GUI元素进行区别的缺陷,从而可以大大增强GUI元素识别的准确性。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其他目的、特征和有点将更为清楚,在附图中:
图1示出了根据现有技术的示例本地应用的GUI;
图2示出了图1所示的GUI中GUI元素的UI信息;
图3示出了根据现有技术的另一示例本地应用中GUI的转换示意图;
图4示出了根据本发明实施例的生成GUI元素识别信息的方法;
图5示出了根据本发明实施例的示例本地应用中GUI的转换示意图;
图6示出了根据本发明实施例的示例识别信息的示意图;
图7示出了根据本发明实施例的识别GUI元素的方法;
图8示出了根据本发明实施例的GUI元素识别信息生成装置的示意图;
图9示出了根据本发明实施例的XPath信息获取单元的结构示意图;
图10示出了根据本发明实施例的额外信息获取单元的结构示意图;以及
图11示出了根据本发明实施例的GUI元素识别装置。
具体实施方式
以下,通过附图中示出的具体实施例来描述本发明。但是应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
在附图中示出了作为示例的一些图形用户界面(GUI)形式。但是需要注意,这些GUI仅仅是示意性绘制的,实际中可能存在各种各样形式的GUI。另外,在附图中还示出了一些方法步骤和处理模块。但是,这些方法步骤/处理模块中的一些可以结合为单个步骤/模块,或者其中某一个步骤/模块能够拆分为若干子步骤/子模块。需要指出的是,可以通过硬件、软件、固件或其组合来实施这些方法步骤/处理模块。
根据本发明,利用相比于现有技术中的属性信息改进的增强识别信息,来对GUI元素进行识别。为此,本发明涉及如下两个方面:增强识别信息的生成(即,训练阶段),以及根据增强识别信息来对GUI元素进行识别(即,运行阶段)。以下,将参照附图来对这两方面分别予以描述。
这里需要指出的是,在以下的描述中,以“XPath信息”作为“属性信息”的例子,来进行描述。但是“属性信息”并不仅限于“XPath信息”,例如还可以包括GUI元素的XML之外的其他语言描述。例如像C、Basic、Python等任何编程语言或Text等格式的非编程方法描述的信息都可以作为属性信息。
图4示出了根据本发明一个实施例的生成GUI元素识别信息的方法。如图4所示,该方法在步骤S401中开始。接着,在步骤S402中,例如通过显示器等显示装置,来显示GUI,该GUI中包括目标GUI元素。以下,要针对该目标GUI元素来生成识别信息。
于是,分别在步骤S403中收集目标GUI元素的属性信息(例如,XPath信息),以及在步骤S404中收集与目标GUI元素相关的、属性信息之外的额外信息。在此,步骤S403和S404可以并行进行,也可以顺序进行。然后,在步骤S405中,对所收集到的针对目标GUI元素的属性信息和额外信息进行处理,并由此生成该目标GUI元素的增强识别信息。在此,例如可以将属性信息和额外信息进行组合,以形成增强识别信息。最后,该方法在S406结束。
以下将参照图5所示的示例,来详细说明步骤S403和S404。图5所示的示例对应于图3所示的示例。具体地,在GUI元素5001中复选框未选中的情况下点击“OK”键时,将弹出GUI元素5002(目标GUI元素1);而在GUI元素5001中复选框选中的情况下点击“OK”键时,将弹出GUI元素5003(目标GUI元素2)。参见以上针对图3的描述,可知这两个GUI元素5002和5003彼此并不相同。
在现有技术中,存在众多方法来获取GUI元素的如XPath信息之类的属性信息。例如,在步骤S403,获取GUI(包括目标GUI元素1或2)上的所有UI元素信息,该信息以XML格式形成。最终,形成如图2所示的XML格式的UI元素信息。
然后,对所获得的XML格式的UI元素信息进行分析,以获得目标GUI元素的XPath信息。在此,如以上参照图3的说明中所述,GUI元素5002和5003彼此的GUI信息相同,均为:
“/element[@text=‘Form1’]/children/element[@text=‘Form2’]/children/element[@text=‘Return’]”。
本发明的主要特征在于还在步骤S404中获取与目标GUI元素有关的额外信息。所述“额外信息”例如可以包括:导致该目标GUI元素出现的历史事件信息,例如用户通过键盘、鼠标等输入装置进行的操作事件;和/或与该目标GUI元素相关的系统状态信息,例如所占用的硬件(内存、CPU等)资源或者软件资源(GDI对象数等)等等,以及其他类似信息。在以下的描述中,以历史事件信息为例来进行描述。但是需要指出的是,本发明中的“额外信息”并不仅限于这种历史事件信息。
在步骤S404中,为了获取历史事件信息,首先要记录导致目标GUI元素出现的历史事件。例如,对于目标GUI元素1(图5中的5002),导致其出现的事件是:点击GUI元素5001中的“OK”键;以及未选中复选框(或者将复选框点击了偶数次)。而对于目标GUI元素(图5中的5003),导致其出现的事件是:点击GUI元素5001中的“OK”键;以及选中复选框(或者将复选框点击了奇数次)。
在针对目标GUI元素记录了导致其出现的历史事件之后,可以对这些历史事件进行分析,以得到其出现的条件。这种分析可以在训练阶段由人工完成,或者由自动训练程序来完成。在此,为了说明的方便,以如下逻辑表达式来描述各GUI元素的出现条件。
【目标GUI元素1】
条件1(表示根本未点击复选框):
(″/element[@text=‘Form1’]/children/element[@text=‘CheckBox’]ButtonClick″)==False
OR条件2(表示将复选框点击了偶数次):
(″/element[@text=‘Form1’]/children/element[@text=‘CheckBox’]ButtonClick″)%2==0
【目标GUI元素2】
条件1(表示点击了复选框):
(″/element[@text=‘Form1’]/children/element[@text=‘CheckBox’]ButtonClick″)==True
AND条件2(表示将复选框点击了奇数次):
(″/element[@text=‘Form1’]/children/element[@text=‘CheckBox’]ButtonClick″)%2==1
注意,以上这些逻辑表达式只是为了说明方便而写出的。在实际应用中,可以存在各种方式(例如,表格形式)来描述目标GUI元素的出现条件。这些出现条件代表了导致该目标GUI元素出现的历史事件信息。
在如上所述得到目标GUI元素的属性信息(在此,为XPath信息)和额外信息之后,在步骤S405中对它们进行处理(例如,组合)以得到目标GUI元素的识别信息。例如,在图5所示的示例中,目标GUI元素1(5002)和目标GUI元素2(5003)的识别信息可以分别如图6(a)和图6(b)所示。这里需要指出,图6中所示出的识别信息仅仅是示例,存在其他不同形式的识别信息。
在训练阶段如上所述获得了GUI元素的增强识别信息之后,在运行阶段能够利用这种增强识别信息来识别GUI元素。
图7示出了根据本发明一个实施例的根据GUI元素识别信息来识别GUI元素的方法。如图7所示,该方法在步骤S701中开始。首先,在步骤S702中,例如通过显示器等显示装置,显示GUI,该GUI中包括待识别的GUI元素。
然后,分别在步骤S703中收集待识别GUI元素的属性信息如XPath信息,以及在步骤S704中收集与待识别GUI元素相关的、属性信息之外的额外信息。这种属性信息以及额外信息的收集与训练过程中的信息收集相似,在此不再详细说明。
在获得待识别GUI元素的属性信息和额外信息之后,在步骤S705中,在训练过程中所记录的GUI元素识别信息中搜索是否存在与之相匹配的项。如果存在与之相匹配的项,则在步骤S706中将该待识别的GUI元素被识别为与该匹配项相对应的GUI元素。否则,在步骤S707中,进行错误处理,例如向用户报错。最后,该方法在S708结束。
以下将参照图3所示的示例,来详细说明上述识别处理。在此,还是以XPath信息和历史事件信息两者为例来进行说明。但是需要指出的是,本发明并不限于这种XPath信息和历史事件信息。
在本地应用当前显示的GUI上存在GUI元素3001的情况下,若未点击复选框就直接点击了“OK”键(如图3中箭头1所示),则将在GUI上出现GUI元素3002。对于该GUI元素3002,可以获得其XPath信息为:
“/element[@text=‘Form1’]/children/element[@text=‘Form2’]/children/element[@text=‘Return’]”。
同时,导致该GUI元素3002出现的事件为:
“/element[@text=‘Form1’]/children/element[@text=‘OK’]ButtonClick”(表示点击了“OK”键)。
将得到的GUI元素3002的上述XPath信息和历史事件信息与训练过程中得到的识别信息(如图6(a)、(b)所示)相比较。由于导致GUI元素3002出现的事件为点击“OK”键,也就说,并未点击复选框,即:
(″/element[@text=‘Form1’]/children/element[@text=‘CheckBox’]ButtonClick″)==False。
因此,通过比较可知该GUI元素3002与图6(a)所示的目标GUI元素1的识别信息相匹配。因此,可以将该GUI元素3002识别为目标GUI元素1。
同理,在本地应用当前显示的GUI上存在GUI元素3001的情况下,若点击复选框1次从而选中复选框,并且然后点击“OK”键(如图3中箭头3所示),则将在GUI上出现GUI元素3003。对于该GUI元素3003,可以获得其XPath信息为:
“/element[@text=‘Form1’]/children/element[@text=‘Form2’]/children/element[@text=‘Return’]”。
同时,导致该GUI元素3003出现的事件为:
“/element[@text=‘Form1’]/children/element[@text=‘CheckBox’]ButtonClick”(表示点击了复选框),以及
“/element[@text=‘Form1’]/children/element[@text=‘OK’]ButtonClick”(表示点击了“OK”键)。
将得到的GUI元素3003的上述XPath信息和历史事件信息与训练过程中得到的识别信息(如图6(a)、(b)所示)相比较。由于导致GUI元素3003出现的事件为点击了1次复选框,即:
(″/element[@text=‘Form1’]/children/element[@text=‘CheckBox’]ButtonClick″)==True,以及
(″/element[@text=‘Form1’]/children/element[@text=‘CheckBox’]ButtonClick″)%2==1。
因此,通过比较可知该GUI元素3003与图6(b)所示的目标GUI元素2的识别信息相匹配。因此,可以将该GUI元素3003识别为目标GUI元素2。
这样,在现有技术中无法区分的GUI元素3002和3003,可以通过本发明的方法予以区分。
本发明还提供了一种GUI元素识别信息生成装置。图8示出了根据本发明一个实施例的GUI元素识别信息生成装置的示意图。如图8所示,该GUI元素识别信息生成装置800包括:显示装置805,用于显示GUI,该GUI包括目标GUI元素,以下将针对该目标GUI元素来生成识别信息;属性信息获取单元801,用于对所显示的GUI进行分析,以获取目标GUI元素的属性信息例如XPath信息;额外信息获取单元802,用于根据历史事件(例如,用户通过键盘、鼠标等输入装置的操作等)、系统状态等,获取与目标GUI元素相关的额外信息;以及识别信息生成单元803,对属性信息获取单元801获取的属性信息以及额外信息获取单元802获取的额外信息进行处理,生成目标GUI元素的识别信息。
该装置800还可以包括存储装置804。该存储装置804例如可以用来存储属性信息获取单元801获取的属性信息、额外信息获取单元802获取的额外信息和/或识别信息生成单元803所生成的识别信息等。该存储装置804可以是该识别信息生成装置800内部的存储器,或者可以是外部存储器、乃至网络存储器。该存储装置804可以包括单一的存储器,也可以包括多个存储器。
图9示出了根据本发明一个实施例的属性信息获取单元801的结构示意图。如图9所示,属性信息获取单元801可以包括:UI抓取单元8011,用于从所显示的GUI中获取UI元素信息,该信息是XML格式的;以及属性信息生成单元8012,用于对UI抓取单元8011所获得的UI元素信息进行分析,以得到目标GUI元素的XPath信息。
图10示出了根据本发明一个实施例的额外信息获取单元802的结构示意图。如图10所示,额外信息获取单元802包括:事件记录单元8021,用于记录导致目标GUI元素出现的历史事件或者与该目标GUI元素相关的系统状态等(这里统称为“事件”,用户可以在系统中指定记录何种事件,例如是记录历史事件还是记录系统状态);目标GUI元素判断单元8022,用于判断是否是目标GUI元素出现在所显示的GUI上,并将判断结果发送到事件记录单元8021;以及额外信息生成单元8023,根据由事件记录单元8021针对目标GUI元素所记录的事件,来生成额外信息。
在此,需要指出的是,这里需要一个元素判断单元8022来判断是否是目标GUI元素出现。这是因为,在生成识别信息时尚处于训练阶段,此时需要有“人”(也可以通过自动训练程序)来告知计算机目标GUI元素的出现。在通过训练阶段获得了GUI元素的识别信息之后,在运行时就可以自动识别GUI元素。
在此,该元素判断单元8022可以如上所述将判断结果通知到事件记录单元8021,以及可选地还可以通知到属性信息获取单元801(例如,通知给属性信息生成单元8012)以便属性信息获取单元801能够正确地获取目标GUI元素的属性信息。
本发明还提供了一种GUI元素识别装置。图11示出了根据本发明一个实施例的GUI元素识别装置。如图11所示,该GUI元素识别装置1100包括:存储装置1104,用于存储GUI元素识别信息,该GUI元素识别信息例如是在训练阶段获得的;显示装置1105,用于显示GUI,该GUI中包括待识别的GUI元素;属性信息获取单元1101,用于从GUI获取待识别GUI元素的属性信息;额外信息获取单元1102,用于获取与待识别GUI元素相关的额外信息,例如历史事件(例如,用户的通过输入装置(例如,鼠标、键盘)的操作(按键、点击)等)、系统状态等;以及识别单元1103,根据属性信息获取单元1101获取的属性信息以及额外信息获取单元1102获取的额外信息,并根据存储装置1104中存储的GUI元素识别信息,来识别待识别GUI元素。
这里,在存储装置1104中存储了GUI元素识别信息,这种信息例如是通过执行图4中所示的方法而获得的,或者是由图8中所示的识别信息生成装置800生成的。存储装置1104可以是该GUI元素识别装置1100内部的存储装置,也可以是其外部的存储装置,例如网络存储器等。
另外,该GUI元素识别装置1100中包括的属性信息获取单元1101可以与上述GUI元素识别信息生成装置800中包括的属性信息获取单元801具有相同的结构,而且该GUI元素识别装置1100中包括的额外信息获取单元1102可以与上述GUI元素识别信息生成装置800中包括的额外信息获取单元802具有类似的结构(除了不需要目标GUI元素判断单元8022之外)。
根据本发明,还提供了一种GUI元素识别系统,该系统包括上述根据本发明的GUI元素识别信息生成装置以及GUI元素识别装置。从而在该系统内,可以完成GUI元素识别信息的生成(训练)及GUI元素的识别(运行)。在该系统中,GUI元素识别信息生成装置和GUI元素识别装置可以是分离的装置(例如,通过网络连接的两个独立装置)。或者,GUI元素识别信息生成装置和GUI元素识别装置可以形成为一体。特别地,GUI元素识别信息生成装置与GUI元素识别装置中相应的属性信息获取单元(801,1101)、额外信息获取单元(802,1102)可以分别由同一单元构成,或者也可以形成为独立的单元。其中,GUI元素识别信息生成装置所生成的GUI元素识别信息可以存储在GUI元素识别装置的存储装置中。
以上参照本发明的实施例对本发明予以了说明。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本发明的范围。本发明的范围由所附权利要求及其等价物限定。不脱离本发明的范围,本领域技术人员可以做出多种替换和修改,这些替换和修改都应落在本发明的范围之内。
Claims (12)
1.一种生成图形用户界面GUI元素识别信息的方法,包括:
显示GUI,该GUI包括目标GUI元素;
对所显示的GUI进行分析,以获得目标GUI元素的属性信息;
获得与目标GUI元素相关的、属性信息之外的额外信息;
对所获得的属性信息和额外信息进行处理,生成该目标GUI元素的识别信息。
2.根据权利要求1所述的方法,其中,所述属性信息包括XPath信息,以及获得属性信息的步骤包括:
获取GUI中的所有元素信息,所述信息形成为XML格式;
对XML格式的元素信息进行分析,以获得目标GUI元素的XPath信息。
3.根据权利要求1所述的方法,其中,所述额外信息包括导致该目标GUI元素出现的历史事件信息,获得该额外信息的步骤包括:
记录导致该目标GUI元素出现的历史事件;以及
对所述历史事件进行分析,以转换成目标GUI元素的出现条件,
其中所述出现条件成为该目标GUI元素的历史事件信息。
4.如权利要求1所述的方法,其中,所述额外信息包括系统状态信息。
5.一种根据图形用户界面GUI元素识别信息来识别待识别GUI元素的方法,所述GUI元素识别信息包括针对相应GUI元素的属性信息和属性信息之外的额外信息,该方法包括:
显示GUI,该GUI包括待识别GUI元素;
对所显示的GUI进行分析,以获得待识别GUI元素的属性信息;
获得与待识别GUI元素相关的、属性信息之外的额外信息;以及
在GUI元素识别信息中搜索如下信息项,该信息项包括的属性信息与所获取的待识别GUI元素的属性信息匹配,且该信息项包括的额外信息与待识别GUI元素相关的额外信息相匹配。
6.如权利要求5所述的方法,其中,所述额外信息包括历史事件信息和/或系统状态信息。
7.一种图形用户界面GUI元素识别信息生成装置,包括:
显示装置,用于显示GUI,该GUI包括目标GUI元素;
属性信息获取单元,用于对所显示的GUI进行分析,以获得目标GUI元素的属性信息;
额外信息获取单元,用于获得与目标GUI元素相关的、属性信息之外的额外信息;以及
识别信息生成单元,用于对所获得的属性信息和额外信息进行处理,生成该目标GUI元素的识别信息。
8.如权利要求7所述的装置,其中,所述属性信息包括XPath信息,以及所述属性信息获取单元包括:
UI抓取单元,用于获取GUI中的所有元素信息,所述信息形成为XML格式;以及
属性信息生成单元,用于对UI抓取单元所获得的XML格式的元素信息进行分析,以获得目标GUI元素的XPath信息。
9.如权利要求7所述的装置,其中,所述额外信息包括导致该目标GUI元素出现的历史事件信息,以及所述额外信息获取单元包括:
事件记录单元,用于记录导致目标GUI元素出现的历史事件;
目标GUI元素判断单元,用于判断GUI上是否出现目标GUI元素,并向事件记录单元发送判断结果;以及
额外信息生成单元,用于根据事件记录单元针对目标GUI元素所记录的历史事件,来生成包括历史事件信息的额外信息。
10.一种图形用户界面GUI元素识别装置,包括:
存储装置,用于存储GUI元素识别信息,所述GUI元素识别信息包括针对相应GUI元素的属性信息和属性信息之外的额外信息;
显示装置,显示GUI,该GUI包括待识别GUI元素;
属性信息获取单元,用于对所显示的GUI进行分析,以获得待识别GUI元素的属性信息;
额外信息获取单元,用于获得与待识别GUI元素相关的、属性信息之外的额外信息;以及
识别单元,根据属性信息获取单元获取的属性信息以及额外信息获取单元获取的额外信息,并根据存储装置中存储的GUI元素识别信息,来识别待识别GUI元素信息。
11.一种图形用户界面GUI元素识别系统,包括根据权利要求7所述的GUI元素识别信息生成装置以及根据权利要求10所述的GUI元素识别装置,
其中所述存储装置存储由所述GUI元素识别信息生成装置所生成的GUI元素识别信息。
12.如权利要求11所述的GUI元素识别系统,其中,
所述GUI元素识别信息生成装置中的属性信息获取单元与所述GUI元素识别装置中的属性信息获取单元由同一单元构成,以及
所述GUI元素识别信息生成装置中的额外信息获取单元与所述GUI元素识别装置中的额外信息获取单元由同一单元构成。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010137015.4A CN102207857B (zh) | 2010-03-29 | 2010-03-29 | Gui元素识别方法、装置及系统 |
US13/012,493 US20110239141A1 (en) | 2010-03-29 | 2011-01-24 | Method, apparatus and system for identifying gui element |
JP2011016154A JP5377534B2 (ja) | 2010-03-29 | 2011-01-28 | Gui要素を識別する方法、装置およびシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010137015.4A CN102207857B (zh) | 2010-03-29 | 2010-03-29 | Gui元素识别方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102207857A true CN102207857A (zh) | 2011-10-05 |
CN102207857B CN102207857B (zh) | 2014-08-27 |
Family
ID=44657791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010137015.4A Expired - Fee Related CN102207857B (zh) | 2010-03-29 | 2010-03-29 | Gui元素识别方法、装置及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20110239141A1 (zh) |
JP (1) | JP5377534B2 (zh) |
CN (1) | CN102207857B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8555249B2 (en) * | 2010-12-13 | 2013-10-08 | Sap Ag | Lifecycle stable user interface adaptations |
US9600401B1 (en) | 2016-01-29 | 2017-03-21 | International Business Machines Corporation | Automated GUI testing |
JP7386889B2 (ja) * | 2019-04-30 | 2023-11-27 | ウォークミー リミテッド | Gui要素の複数の代替表記を使用したgui要素獲得 |
US11507269B2 (en) * | 2020-04-21 | 2022-11-22 | AppEsteem Corporation | Technologies for indicating third party content and resources on mobile devices |
US11301268B2 (en) | 2020-08-11 | 2022-04-12 | UiPath, Inc. | Graphical element detection using a combination of user interface descriptor attributes from two or more graphical element detection techniques |
US11507259B2 (en) * | 2020-09-08 | 2022-11-22 | UiPath, Inc. | Graphical element detection using a combined series and delayed parallel execution unified target technique, a default graphical element detection technique, or both |
US11232170B1 (en) | 2020-09-08 | 2022-01-25 | UiPath, Inc. | Application-specific graphical element detection |
US20230236910A1 (en) * | 2022-01-24 | 2023-07-27 | UiPath Inc. | Systems and Methods for Executing Robotic Process Automation (RPA) Within a Web Browser |
US11736556B1 (en) | 2022-03-31 | 2023-08-22 | UiPath Inc. | Systems and methods for using a browser to carry out robotic process automation (RPA) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040268228A1 (en) * | 2003-06-19 | 2004-12-30 | Microsoft Corporation | Framework for creating modular web applications |
CN1619495A (zh) * | 2003-11-20 | 2005-05-25 | 英业达股份有限公司 | 跨平台的用户界面开发方法 |
CN101042648A (zh) * | 2007-04-20 | 2007-09-26 | 北京航空航天大学 | 为多网格应用提供统一界面的插件、系统及方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6633315B1 (en) * | 1999-05-20 | 2003-10-14 | Microsoft Corporation | Context-based dynamic user interface elements |
JP2001043076A (ja) * | 1999-08-03 | 2001-02-16 | Fujitsu Ltd | Gui画面生成装置、gui画面生成方法及びgui画面生成プログラムを記録した記録媒体 |
JP2002268882A (ja) * | 2001-03-07 | 2002-09-20 | Fujitsu Ltd | Webアプリケーションシステム、及びプログラム |
US20100262598A1 (en) * | 2007-11-21 | 2010-10-14 | Nec Corporation | User interface recognition device and user interface recognition method |
US9760347B2 (en) * | 2009-01-07 | 2017-09-12 | Oracle International Corporation | Method and system to identify GUI objects for non-markup-language-presented applications |
US8375295B2 (en) * | 2009-05-21 | 2013-02-12 | Sony Computer Entertainment Inc. | Customization of GUI layout based on history of use |
-
2010
- 2010-03-29 CN CN201010137015.4A patent/CN102207857B/zh not_active Expired - Fee Related
-
2011
- 2011-01-24 US US13/012,493 patent/US20110239141A1/en not_active Abandoned
- 2011-01-28 JP JP2011016154A patent/JP5377534B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040268228A1 (en) * | 2003-06-19 | 2004-12-30 | Microsoft Corporation | Framework for creating modular web applications |
CN1619495A (zh) * | 2003-11-20 | 2005-05-25 | 英业达股份有限公司 | 跨平台的用户界面开发方法 |
CN101042648A (zh) * | 2007-04-20 | 2007-09-26 | 北京航空航天大学 | 为多网格应用提供统一界面的插件、系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
US20110239141A1 (en) | 2011-09-29 |
JP2011210233A (ja) | 2011-10-20 |
CN102207857B (zh) | 2014-08-27 |
JP5377534B2 (ja) | 2013-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102207857B (zh) | Gui元素识别方法、装置及系统 | |
US10353756B2 (en) | Cluster-based processing of unstructured log messages | |
US9189377B1 (en) | Automation testing using descriptive maps | |
US9864674B2 (en) | Test case generation system | |
US9665798B2 (en) | Device and method for detecting specified objects in images using metadata | |
AU2009238294B2 (en) | Data transformation based on a technical design document | |
US7917815B2 (en) | Multi-layer context parsing and incident model construction for software support | |
US20130124957A1 (en) | Structured modeling of data in a spreadsheet | |
US10175954B2 (en) | Method of processing big data, including arranging icons in a workflow GUI by a user, checking process availability and syntax, converting the workflow into execution code, monitoring the workflow, and displaying associated information | |
US11113137B2 (en) | Error incident fingerprinting with unique static identifiers | |
US8688626B2 (en) | Software tool for generating technical business data requirements | |
CN108614742B (zh) | 报表数据的校验方法、系统和装置 | |
US9721040B2 (en) | Mechanism to input, search and create complex data strings within a single dialog | |
CN103473100A (zh) | 一种基于依赖关系的Web服务替换方法 | |
KR20170077397A (ko) | 뉴스와 sns 데이터로부터 식품 위해 이벤트를 실시간 자동 추출하는 방법 및 이를 위한 시스템 | |
CN113688288A (zh) | 数据关联分析方法、装置、计算机设备和存储介质 | |
US20180260099A1 (en) | Smart Display Data Capturing Platform For Record Systems | |
Bao et al. | scvRipper: video scraping tool for modeling developers' behavior using interaction data | |
JP6432266B2 (ja) | グループ化方法、グループ化装置、およびグループ化プログラム | |
US10565636B2 (en) | Electronic device, system, and method | |
CN104123104B (zh) | 日志控制系统及方法 | |
JP5576570B2 (ja) | 業務仕様からワークフローを生成する方法、プログラム及びシステム | |
US9569061B2 (en) | System and method for organizing field data obtained through a plurality of devices | |
US20240176728A1 (en) | Plug and play language acceptance testing | |
CN117312123A (zh) | 一种bug处理方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140827 Termination date: 20170329 |