CN102667696B - 用于用户界面中的对象标识的系统与方法 - Google Patents

用于用户界面中的对象标识的系统与方法 Download PDF

Info

Publication number
CN102667696B
CN102667696B CN200980162565.7A CN200980162565A CN102667696B CN 102667696 B CN102667696 B CN 102667696B CN 200980162565 A CN200980162565 A CN 200980162565A CN 102667696 B CN102667696 B CN 102667696B
Authority
CN
China
Prior art keywords
unique
particular feature
destination
relation
destination object
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.)
Expired - Fee Related
Application number
CN200980162565.7A
Other languages
English (en)
Other versions
CN102667696A (zh
Inventor
N.阿米海
M.波格列比斯基
I.舒弗
A.莱内德夫
D.施瓦茨
A.科亨
D.萨罗尼
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.)
Weifosi Co., Ltd
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN102667696A publication Critical patent/CN102667696A/zh
Application granted granted Critical
Publication of CN102667696B publication Critical patent/CN102667696B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • 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
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

提供一种计算机实现的方法以用于标识在被用来访问用户界面(UI)(200)的脚本中的不可区分的对象(210)。在UI?200中选择目标对象(210)。针对与UI?200中的至少一个其他对象所共有的属性相比的独特属性来检查目标对象210。当目标对象缺乏独特属性时,UI?200中的具有独特属性的独特对象(220)被标识为参考对象(220)。定义参考对象(220)与目标对象(210)之间的关系(230)。该关系(230)被记录在被配置成独特地标识目标对象(210)的脚本(130)中。

Description

用于用户界面中的对象标识的系统与方法
背景技术
软件自动化可以被用来模拟人类用户的与软件应用的交互以及用来重复由人类用户记录在脚本中的任务。软件自动化开发者和测试人员可以写出在各种应用以及应用的用户界面(UI)上工作的自动化程序。自动化程序可以在被记录的自动化脚本的回放期间使用应用和UI,就像人类用户将使用该应用那样。UI中的对象可以被标识并且可以被包括在被记录的脚本中以启用应用功能的执行。
开发者、测试人员、或用户可以通过“记录”与应用的用户的交互来生成或创建自动化模型和脚本。用户可以通过使用应用的用户界面(UI)中的对象与该应用进行交互,所述应用的用户界面(UI)当自动化应用处于记录模式时产生自动化脚本。用以生成脚本的另一方式可以是针对用户来对用户的交互进行编程或采用选择设备(例如,计算机鼠标)输入期望的命令和击键,以便对用户的期望的动作的等同物进行编程。
软件自动化可以用于像应用功能测试工具(例如,HPQuickTestPro)、性能或加载测试工具(例如,HPLoadrunner)、或安全工具(例如,HPWebInspect)的软件测试工具。自动化测试可以测试应用功能、应用加载、网络交互、安全性、客户端-服务器应用,或UI。
附图说明
图1是根据实施例的显示器、输入设备、和记录器模块的图示;
图2是根据实施例的用户界面(UI)中的表中的目标对象和独特对象的图示;
图3A是根据实施例的用户界面(UI)中的目标对象和独特对象的图示;
图3B是根据实施例的用户界面(UI)中的目标对象、中间对象以及独特对象的图示;
图3C图示了使用实施例中的中间对象参考的更具体的示例;
图3D是根据实施例的用户界面(UI)中的目标对象和具有独特属性的多个对象的图示;
图4A是图示了根据实施例的、用于标识被用来访问用户界面(UI)的脚本中的目标对象的方法的流程图;
图4B是图示了根据实施例的、用于标识被用来访问用户界面(UI)的脚本中的目标对象并且通知用户的方法的流程图;
图5是根据实施例的被用来测试软件的脚本的图示;以及
图6是图示了根据实施例的、用于标识被用来访问用户界面(UI)的脚本中的目标对象的方法的流程图。
具体实施方式
相关领域中的并且拥有本公开的技术人员将想到的本文所举例说明的创造性特征的变更和进一步修改、以及如本文所举例说明的本发明的原理的另外的应用将被认为在本发明的范围内。不同图中的相同的附图标记表示相同的元件。
软件自动化系统可以包括自动化模型和被记录在自动化系统执行的自动化脚本中的动作库。自动化模型可以标识被记录的动作所能够应用于的目标对象。例如,当与网络界面工作时,如果所期望的自动化动作是按钮单击,则自动化模型能够存储在该按钮上显示的文本以便标识将被影响到的按钮对象。
能够独特地标识自动化环境中的对象使得所期望的测试功能能够被应用于正确的对象。取决于所使用的UI环境,对象标识能够使用不同的方法来标识对象。在对象标识的过程期间,被找到的但是不具有任何独特地可标识的属性的对象可能引起自动化脚本不起作用或造成其它意外的结果。
如所讨论的那样,一种对象标识的方法通过可视属性来标识对象。例如,在网络应用中,能够通过所显示的文本来标识链接。然而,屏幕上的许多对象共享UI中的共同特性,因此目标对象可能未被独特地标识或与UI中的类似对象区分。序号可以被用来对与类似对象有关的目标对象进行计数或编索引,但是序号可能是不可靠的,因为所述对象可以在自动化脚本的不同运行上以不同顺序出现。
如图1中所图示出的那样,可以在显示器100上显示应用的用户界面(UI)中的对象。用户可以使用输入设备140输入命令来选择对象(包括目标对象或独特对象),或采用选择设备142来选择对象。输入设备可以是计算机键盘、声音识别设备、选择设备、或其它类似设备。选择设备可以是计算机鼠标、触摸屏、电子笔、或其它类似设备。记录器模块120可以被用来记录采用输入设备或选择设备的用户的动作。记录器设备可以记录可以在之后作为自动化脚本回放的一部分被执行的脚本130中的动作。处理器110可以被用来运行自动化应用(例如,测试应用),在显示器上生成UI,处理来自输入设备或选择设备的用户的动作,以及运行脚本。记录器设备和处理器可以被包括在用户设备内。
一种系统和方法可以被用来标识下述目标对象,所述目标对象与类似对象共享共同特性或所述目标对象与其它类似对象相比可能并未被独特地标识。如图2中所图示出的那样,UI200中的表格或表可以包括包含复选框的第一列或复选框列212。表格中的所有复选框元素可以共享相同的UI或HTML属性和特性。用户可以选择由第五复选框表示的并且与UI中的序号010-4220相关联的目标对象210。第五复选框的标识可以包括包含索引5的描述以从类似的复选框中标识目标对象。如果根据能够随着时间改变的动态数据生成网络,则目标对象可以移动位置或可以被重新排序,因此与索引5相关联的目标对象标识可以选择除了与序号010-4相关联的目标对象以外的对象。当数据在UI上移动位置时,使用序号来标识目标对象可能是不可靠的。
应用能够生成许多用户界面(UI)对象,其与其它类似对象相比不是可独特地标识的。数据库使能的网络应用是易受该问题影响的应用的示例。由于由用户选择的目标对象或对象可能不是可被独特地标识的,因此与目标对象有关或紧密接近于目标对象的具有独特特征的其它对象可以被用于目标对象的标识。参考图2,序号010-4——正好在目标行224中和序号列222中的目标复选框210旁边找到的文本220,可以是表或UI中独特的并且可以被用来标识目标复选框。即使表被重新排列,序号010-4也可以同复选框对齐,因为目标复选框可以与关系230中的独特序号010-4相关联。这样的对象关系能够通过基础数据库加以定义,并且因此所述关系不大可能改变。因为可能存在具有重复名称的个体,所以与目标有关的其它对象可能不具有独特属性,像Employee(雇员)列242和目标行中的雇员名称“Solomon”。
工具可以被用来查看生成UI的基础源代码。参考图2,UI代码查看器工具250可以显示目标对象的源代码252以及用来生成目标对象的属性。代码生成工具可以显示源代码和独特对象、类似对象或其它对象的属性。UI代码生成工具可以显示其它视图和窗格以帮助目标对象和独特对象以及目标对象与独特对象之间的关系的标识。
如图3A中所图示出的那样,UI200可以具有许多显示的对象。与UI中的其它对象340、目标对象210、以及类似对象310相比,被称为独特对象220的某些对象可以具有独特特征。然而,某些对象可以具有UI中的类似对象的共同特征。换句话说,某些对象可以具有与UI中的类似对象不可区分或不可辨别的特征或属性。目标对象可以是与UI页中的其它类似对象不可区分的对象。一种方法或系统可以被用来标识目标对象或UI中的与可能具有类似属性、特征、值或作为对象的文本的对象不可区分的对象。对象的属性或特征可以包括颜色、字体、位置、填充、文本、名称、值、图形、超链接、动画特征或被用来在UI中生成对象的外观或位置的其它特征。独特对象的属性可以包括在独特对象的文本描述或标记语言中的独特对象的值属性。目标对象或独特对象可以包括按钮、复选框、文本框、或下拉式菜单。
用户可以选择用于脚本的目标对象210。当在UI中选择目标对象时,在处理器上运行的应用、自动化工具、脚本生成工具、或测试工具可以针对与UI中的其它对象相对照的特定属性检查目标对象。其它对象可以包括UI200中的独特对象、类似对象310、以及其它对象340。该方法能够检查目标对象以确保在UI上没有其它对象具有类似于或与目标对象属性一样的属性。当目标对象具有UI中的至少一个其它对象所共有的属性时,可以通知用户该目标对象缺乏独特属性。可以开启窗口以提供用户通知。
可以标识出UI200中的具有独特属性的独特对象220。当目标对象210缺乏独特属性时,独特对象可以被用作参考对象。可以由用户选择UI中的独特对象的标识。用户可以能够在视觉上确定很可能具有独特特征的对象或用户可以能够在视觉上确定哪些对象与目标对象有关系。所述方法、系统、或工具可以通知用户具有独特属性的多个对象,因此用户能够在具有独特属性的对象中进行选择。
可以定义所标识和选择的独特对象220(参考对象)与目标对象210之间的关系230。如此处所使用的关系被定义成两个对象之间的联接、参考、或类似连接。该关系可以被记录在被配置成独特地标识目标对象的脚本中。当其它对象在所述UI中被重新定位和重新排序时,可以保持参考对象与目标对象之间的关系。
在特定实施例中,可以由UI的结构定义所述关系。UI的结构可以是层级结构、数据结构、语言或代码结构、或树结构。此外,可以基于UI的可视表示或可视结构定义所述关系、由UI的源代码层级定义所述关系,由UI中的可视邻近关系定义所述关系,由开发工具库关系定义所述关系(所述开发工具库关系由用于创建所述UI的工具来识别),或由UI中的静态关系定义所述关系。
可以通过模式识别处理来标识或选择与目标对象有关系的独特对象。例如,可以使用图形或文本的模式识别处理。模式识别处理可以对表格或表操作。模式识别处理可以将同一行中的独特对象标识为目标对象。独特对象可以是独特的或对于与该独特对象在相同列中的其它对象而言具有独特属性。可以通过行来定义独特对象与目标之间的关系,并且该独特对象在独特对象的列中可以是独特的。在另一个配置中,模式识别处理可以将同一列中的独特对象标识为目标对象。独特对象可以是独特的或对于与该独特对象在相同行中的其它对象而言具有独特属性。可以通过列来定义独特对象与目标之间的关系,并且该独特对象在该独特对象的行中可以是独特的。
如图3B中所图示出的另一个实施例中,被用作参考对象的独特对象220可以通过包括第二目标对象或中间参考对象320来加以标识。独特对象与目标对象210之间的关系可以包括作为目标对象与参考对象之间的链接的中间参考对象。被称为中间参考对象的第二目标对象可能缺乏独特属性。可以标识中间参考对象。可以定义独特对象与所述中间参考对象之间的独特-中间关系332。独特对象可以参考中间参考对象或中间参考对象可以参考独特对象。可以定义中间参考对象与目标对象之间的中间-目标关系330。中间参考对象可以参考目标对象或目标对象可以参考中间参考对象。可以由独特-中间关系和中间-目标关系来定义目标对象与独特对象之间的关系。该方法可以包括多个中间对象,其可以与链或链接关系的一端上的目标对象以及在该链或链接关系的另一端上的独特对象链接到一起。使用中间参考对象标识独特对象并定义关系来参考目标对象可以被执行或通过将任何数量的附加中间参考对象添加到关系链直到能够在目标对象与中间对象之间形成独特关系为止而被递归地参考。
在图3C中图示了使用中间参考对象的示例。目标对象可以是软件应用中的重启按钮,所述软件应用被配置成管理在网络测试环境中的多个测试机器。用户可能期望独特地标识和记录在远程实验室面板382中的针对测试计算机#2的重启按钮380的点击。在这个示例中,在应用屏上存在四个非独特的重启按钮。然而,所期望的重启按钮能够使用该窗口中的两个参考对象而被参考。第一参考对象是计算机#2标记384。因为该标记在该窗口中不是独特的(参见本地实验室面板中的计算机#2),那么可以对作为独特对象的远程实验室面板382进行进一步的联接参考。这使得计算机#2标记中间参考对象并且这使得重启按钮能够被独特地标识。
在如图3D中所图示出的另一个配置中,独特对象可以包括多个对象。所述多个对象的组合可以具有独特属性。例如,被选择的对象A322与UI中的至少一个其它对象相比可能不具有独特属性,并且被选择的对象B324与UI中的至少一个其它对象相比可能不具有独特属性,但是被选择的对象A和被选择的对象B的组合与UI中的其它对象相比可能具有独特属性。独特对象与目标对象210之间的关系可以包括多个关系。可以在多个对象中的每个对象与目标对象之间定义关系,并且可以在多个对象中的每个对象与该多个对象中的另一个对象之间定义关系(图3D中未示出)。例如,被选择的对象A到目标关系334可以在被选择的对象A与目标对象之间被定义。被选择的对象B到目标关系334可以在被选择的对象B和目标对象之间被定义。
在所述关系被定义和记录之后,脚本可以被用来访问UI中的目标对象。可以在UI中找到具有独特属性的独特对象。可以在脚本中定义或描述独特对象。处理器可以确定目标对象与独特对象之间的关系。可以在脚本中定义或描述目标对象和独特对象(参考对象)的关系。可以基于与参考对象的关系访问UI中的目标对象。
在如图4A中所图示出的另一个实施例中,用户或机构可以选择用于脚本的目标对象400。在该方法或系统中使用的机构可以针对与UI中的其它对象的属性相对照的独特属性来检查目标对象的属性410。如块420中那样,可以作出关于目标属性是否是独特的的决定。如果目标对象具有独特属性,则脚本可以直接地参考目标对象430以随后在自动化脚本执行中访问目标。如果目标对象具有与UI中的至少一个其它对象一样的属性或与UI中的其它对象相比不具有独特的属性,则可以标识能与目标对象有关的独特对象440。独特对象可以在UI中具有独特属性。当目标对象缺乏独特属性时,独特对象可以被用作参考对象。可以定义450所标识的参考对象或独特对象与所选择的目标对象之间的关系。该关系能够被记录460在被配置成独特地标识目标对象的脚本中。脚本可以参考独特对象470,因此目标对象可以在自动化脚本执行中被脚本随后访问。所述关系可以是到UI中的目标对象或元素的链接。该工具可以首先标识独特元素,并且然后可以通过关系链接移动至期望的目标元素。
在如图4B中所图示出的另一个配置中,用户或机构可以选择用于脚本的目标对象400。在该方法或系统中使用的机构可以针对与UI中的其它对象的属性相对照的独特属性来检查目标对象的属性410。如块420中那样,可以作出关于目标属性是否是独特的的决定。如果目标对象具有独特属性,则脚本可以直接地参考目标对象430以随后在自动化脚本执行中访问目标。如果目标对象具有与UI中的至少一个其它对象一样的属性或不具有与UI中的其它对象区别的独特属性,则用户可以被通知442该目标对象可能不是独特的或可能不具有独特属性。
自动化系统然后可以指导用户标识独特对象444。用户可以标记或选择独特文本或独特对象。潜在的独特对象或由用户选择的检验的独特对象可以被检查以验证独特性或独特属性。如果潜在的独特对象或检验的独特对象是独特的或具有独特属性,则潜在的独特对象或检验的独特对象可以变成被用来参考目标对象的独特对象。如果潜在的独特对象或检验的独特对象不是独特的,则潜在的独特对象或检验的独特对象可以是中间参考对象、由多个对象形成的独特对象的起作用的对象(contributingobject)、和/或用户可以被指导来选择不同的独特对象。可以定义所标识的参考对象或独特对象与所选择的目标对象之间的关系450。关系460可以被记录在被配置成独特地标识目标对象的脚本中。脚本可以参考独特对象470,因此目标对象可以在自动化脚本执行中被脚本随后访问。
在另一个实施例中,方法可以被用来标识下述测试对象,所述测试对象可能是与用户界面(UI)中的其它类似对象不可区分的。该方法可以使用测试脚本来访问测试对象。用户可以选择用于测试脚本的目标测试对象。在处理器上运行的测试工具可以针对与UI200中的其它对象相对照的独特属性检查目标测试对象以验证目标测试对象具有与UI中的其它对象共有的属性相比的独特属性。可以标识出UI中具有独特属性的独特对象。当目标对象缺乏独特属性时,独特对象可以被用作参考对象。可以定义所标识的参考对象或独特对象与所选择的目标测试对象之间的关系。可以在被配置成独特地标识并且访问目标测试对象的测试脚本中记录所述关系。
在返回参考图1中的图示的另一个配置中,系统可以被用于标识被用来访问用户界面(UI)的脚本中的目标对象。显示器100可以被用于显示UI。用户可以使用输入设备140和142来选择UI中的目标对象。处理器110可以被配置成:针对与UI中的至少一个其它对象共有的属性相比的独特属性来检查目标对象;当目标对象缺乏独特属性时,将UI中的具有独特属性的独特对象标识为参考对象;以及定义参考对象与目标对象之间的关系。记录器模块120可以被配置成将参考对象与目标对象之间的关系存储在脚本130中并且执行该脚本。处理器可以被配置成在UI中找到具有独特属性的独特对象,确定目标对象到独特对象的关系,并且基于与该独特对象的关系在UI中选择目标对象。系统可以被用于自动化软件测试。
如图5中所图示出的那样,先前被记录在记录器模块120上的脚本130可以在用户设备550上被运行或可以被加载到负载服务器560上。该脚本可以包含目标对象,所述目标对象被使用独特对象和关系来独特地进行标识。负载服务器可以使用虚拟客户端来复制指令或脚本的动作以测试网络540的网络访问或安全性能,或服务器500、网络服务器510、应用服务器520、应用服务器中的网络应用522、和/或数据库530的功能或加载。服务器可以包括网络服务器、应用服务器、或数据库。用户设备可以控制负载服务器或记录器模块的功能、操作或处理。
被用来生成UI的编程语言可以包括标记语言、正本语言、样式表语言、样式语言、操作系统语言、或编程语言。被用来生成UI的语言可以包括超文本标记语言(HTML)、可扩展标记语言(XML)、可扩展超文本标记语言(XHTML)、标准广义标记语言(SGML)、广义标记语言(GML)、JavaScript、Java、AJAX、Adobe?Flex、Microsoft?.NET、层叠样式表(CSS)、Script、伯克利软件发布(BSD)、MacOSX、GNU/Linux、SunOS、或Windows。UI可以包括图形用户界面(GUI)、面向对象的用户界面(OOUI)、基于网络的用户界面,或网络用户界面(WUI)。
在另一个实施例中,用户可以通过将自动化工具指引到应用的UI中的另一个相关对象来帮助对象标识处理。用户可以决定指向用户认为在应用数据环境中比单独使用目标对象更独特的对象。用户可以决定在自动化模型和脚本开发的任何阶段期间创建关系,因此可以改变关系。新的独特对象和与目标对象的新关系可以替换现有的独特对象和与目标对象的现有关系。
该方法可以通过示例举例说明。用户可以记录用于应用的自动化测试用例。针对UI元素上的特定动作,自动化处理可以基于对象特性来尝试找到执行该动作的目标对象的独特描述。如果该处理未能采用测试用例中的任何对象或元素生成独特性,则消息可以被显示给用户。用户然后可以采取控制并指出应用中的被使用输入设备认为将是独特的另一个对象。该工具可以生成用于测试用例中的非独特的目标对象的关系描述。换句话说,所述关系允许自动化处理通过使用某描述首先找到对象Y、然后基于对象X的与对象Y的关系找到对象X来找到对象X。可以根据需要重复该处理以生成对象链。
如之前所讨论的那样,关系描述可以使用不同类型的关系类型。当UI对象是基于应用中的某层级数据结构时,可以使用应用结构的关系。该关系可以是结构中的路径。例如,针对网络界面,该关系可以是文档对象模型(DOM)路径。当UI对象是基于当对象出现在UI中时对象的位置时,可以使用UI邻近关系。例如,对象X可以被定位在对象Y的左边。如之前所提及的那样,当由工具识别到另一个对象的关系时,还可以使用工具库关系。
该方法和系统的结果使得复合对象标识的特设创建能够使用但不写复合规则。此外,对象标识可以是鲁棒的,因为由用户指定的独特对象可以是“稳定的”,因为独特对象可以具有独特的一组特性,其不会每当调用或修改应用时就改变。此外,因为标识和比较对象特性的复合操作可以被自动地执行,所以该方法和系统可能对用户有吸引力,并且用户可以仅通过指出独特对象(其可以是简单的操作)来辅助所述处理。因为独特对象描述或属性能够提供不随时间改变的良好的标识,所以找到独特对象描述或属性可以使得脚本鲁棒。例如,如果应用使用数据库,那么该方法能够比序号或索引号更好用,所述序号或索引号在基础数据库条目改变产生偏移值(其在数据库表增加或减小尺寸时不访问目标对象)时可能改变。
对象标识可以是软件自动化中的有利组成部分。对象标识可以被用来独特地标识软件应用的UI中的特定对象。屏幕或UI上的许多对象可以共享类似的一组标识特性。该技术通过允许用户指出将被用来标识目标对象的显示器上的另一个对象来提供对象标识。目标对象的标识可以是多阶段过程。首先,使用任何对象标识方法标识参考对象,然后接着是由用户定义(一个或多个)关系来标识预期对象。
如图6中的流程图中示出的那样,另一个实施例提供了用于标识被用来访问用户界面(UI)的脚本中的不可区分的对象的方法600。该方法包括在UI中选择610目标对象的操作。随后是针对与所述UI中的至少一个其他对象所共有的属性相比的独特属性检查620目标对象的操作。该方法的下一个操作可以是当目标对象缺乏独特属性的时候,将在UI中具有独特属性的独特对象标识630为参考对象。
该方法600还包括定义640参考对象与目标对象之间的关系。随后是将所述关系记录650在被配置成独特地标识目标对象的脚本中的操作。
用于标识被用来访问用户界面(UI)的脚本中的不可区分的对象的方法和系统可以使用具有体现在介质上的可执行代码的计算机可读介质来加以实现。计算机可读程序代码可以被配置成提供在以上方法中描述的功能。计算机可读介质可以是RAM、ROM、EPROM、软盘、闪存、光驱、磁性硬盘驱动器、或用于存储电子数据的其它介质。此外,用于标识被用来访问用户界面(UI)的脚本中的不可区分的对象的方法和系统可以被作为计算机程序产品下载,所述计算机程序产品经由体现在载波或其它传播介质中的机器可读数据信号从服务器或远程计算机被传送到请求或客户端设备。
虽然前述示例是说明在一个或多个特定应用中的本发明的原理,但是对于本领域的普通技术人员来说将显而易见的是,在不运用创造性能力的情况下,以及在不偏离发明的原理和概念的情况下,可以对实施方式在形成、使用以及细节方面作出许多修改。因此,除了如通过下文阐述的权利要求之外,并不旨在限制本发明。

Claims (14)

1.一种计算机实现的方法,其用于标识被用来访问用户界面的脚本中的不可区分的对象,包括:
在用户界面UI中选择目标对象;
针对与所述UI中的至少一个其他对象所共有的属性相比的独特属性来检查所述目标对象;
当所述目标对象缺乏独特属性时,
将所述UI中缺乏独特属性的第二目标对象标识为中间参考对象;
将在所述UI中具有独特属性的独特对象标识为参考对象;
定义所述独特对象和所述中间参考对象之间的独特中间关系,其中所述独特对象参考所述中间参考对象;
定义所述中间参考对象与所述目标对象之间的中间目标关系,其中所述中间参考对象参考所述目标对象;以及
将所述独特中间关系和所述中间目标关系记录在被配置成独特地标识所述目标对象的脚本中。
2.根据权利要求1所述的方法,其中,所述独特中间关系和所述中间目标关系由所述UI的结构加以定义。
3.根据权利要求1所述的方法,其中,所述独特中间关系和所述中间目标关系选自包含以下内容的组:由所述UI的可视结构定义的所述关系、由所述UI的源代码层级定义的所述关系、由在所述UI中的可视邻近关系定义的所述关系、由用于创建所述UI的开发工具所识别的开发工具库关系定义的所述关系、以及由所述UI中的静态关系定义的所述关系。
4.根据权利要求1所述的方法,其中,由用户选择所述UI中的具有独特属性的所述独特对象。
5.根据权利要求1所述的方法,进一步包括,当被针对独特属性进行检查之后所述目标对象缺乏独特属性时,通知用户所述目标对象缺乏独特属性。
6.根据权利要求1所述的方法,其中,使用所述脚本来访问所述UI中的所述目标对象,进一步包括:
在所述UI中找到具有独特属性的所述独特对象,其中所述独特对象被在所述脚本中定义;
确定目标对象与来自所述脚本的所述独特对象的所述独特中间关系和所述中间目标关系;以及
基于所述独特中间关系和所述中间目标关系访问所述UI中的所述目标对象。
7.根据权利要求1所述的方法,其中,标识具有独特属性的独特对象进一步包括使用模式识别处理来标识所述独特对象。
8.根据权利要求7所述的方法,其中,所述模式识别处理标识所述目标对象的行中的所述独特对象,其中对于与该独特对象相同的列中的其它对象而言,所述独特对象是独特的。
9.根据权利要求1所述的方法,其中,所述独特对象包括多个对象,并且所述多个对象的组合具有组合的独特属性。
10.根据权利要求1所述的方法,其中,当其它对象在所述UI中被重新定位和重新排序时,保持所述独特中间关系和所述中间目标关系。
11.根据权利要求1所述的方法,其中,与UI页面中的其它类似对象相比,所述目标对象是不可区分的对象。
12.一种计算机实现的方法,其用于使用测试脚本访问测试对象来标识与用户界面UI中的其它类似对象不可区分的测试对象,所述方法包括:
在UI中选择目标对象;
针对与所述UI中的至少一个其他对象所共有的属性相比的独特属性检查所述目标对象;
当所述目标对象缺乏独特属性时,
将所述UI中缺乏独特属性的第二目标对象标识为中间参考对象;
将在所述UI中具有独特属性的独特对象标识为参考对象;
定义所述独特对象和所述中间参考对象之间的独特中间关系,其中所述独特对象参考所述中间参考对象;
定义所述中间参考对象与所述目标对象之间的中间目标关系,其中所述中间参考对象参考所述目标对象;以及
将所述独特中间关系和所述中间目标关系记录在被配置成独特地标识并且访问目标测试对象的所述测试脚本中。
13.一种用于标识被用来访问用户界面的脚本中的不可区分的对象的系统,包括:
用于在用户界面UI中选择目标对象的模块;
用于针对与所述UI中的至少一个其他对象所共有的属性相比的独特属性来检查所述目标对象的模块;
用于当所述目标对象缺乏独特属性时将所述UI中缺乏独特属性的第二目标对象标识为中间参考对象的模块;
用于将在所述UI中具有独特属性的独特对象标识为参考对象的模块;
用于定义所述独特对象和所述中间参考对象之间的独特中间关系的模块,其中所述独特对象参考所述中间参考对象;
用于定义所述中间参考对象与所述目标对象之间的中间目标关系的模块,其中所述中间参考对象参考所述目标对象;以及
用于将所述独特中间关系和所述中间目标关系记录在被配置成独特地标识所述目标对象的脚本中的模块。
14.根据权利要求13所述的系统,其中,所述系统进一步包括:
用于在所述UI中找到具有独特属性的所述独特对象的模块;
用于确定所述目标对象与来自所述脚本的所述独特对象的所述独特中间关系和所述中间目标关系的模块;以及
用于基于所述独特中间关系和所述中间目标关系访问所述UI中的所述目标对象的模块。
CN200980162565.7A 2009-11-23 2009-11-23 用于用户界面中的对象标识的系统与方法 Expired - Fee Related CN102667696B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2009/065590 WO2011062597A1 (en) 2009-11-23 2009-11-23 System and method for object relationship identification in a user interface

Publications (2)

Publication Number Publication Date
CN102667696A CN102667696A (zh) 2012-09-12
CN102667696B true CN102667696B (zh) 2016-04-13

Family

ID=44059881

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980162565.7A Expired - Fee Related CN102667696B (zh) 2009-11-23 2009-11-23 用于用户界面中的对象标识的系统与方法

Country Status (4)

Country Link
US (1) US20120124495A1 (zh)
EP (1) EP2504748B1 (zh)
CN (1) CN102667696B (zh)
WO (1) WO2011062597A1 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10095485B2 (en) 2009-12-29 2018-10-09 International Business Machines Corporation Analyzing objects from a graphical interface for standards verification
KR101722687B1 (ko) * 2010-08-10 2017-04-04 삼성전자주식회사 객체간 또는 객체와 유저간에 정보 제공 방법, 그 방법을 수행할 수 있는 유저 디바이스, 및 저장 매체
US9262158B2 (en) * 2010-12-13 2016-02-16 Microsoft Technology Licensing, Llc Reverse engineering user interface mockups from working software
US10303349B2 (en) 2012-01-26 2019-05-28 Entit Software Llc Image-based application automation
US9904461B1 (en) * 2013-03-14 2018-02-27 Parallels IP Holdings GmbH Method and system for remote text selection using a touchscreen device
US9075918B1 (en) 2014-02-25 2015-07-07 International Business Machines Corporation System and method for creating change-resilient scripts
US9417994B2 (en) 2014-04-08 2016-08-16 Turnkey Solutions, Corp. Software test automation system and method
DK3132279T3 (da) * 2014-04-14 2020-03-23 Vricon Systems Ab Målbestemmelsesfremgangsmåde og -system
US11003570B2 (en) * 2014-04-30 2021-05-11 Micro Focus Llc Performing a mirror test for localization testing
CN107431646A (zh) * 2014-12-23 2017-12-01 安提特软件有限责任公司 负载测试
CN106354649A (zh) * 2016-09-18 2017-01-25 郑州云海信息技术有限公司 一种分层式网页自动化测试脚本设计方法
US20180285248A1 (en) * 2017-03-31 2018-10-04 Wipro Limited System and method for generating test scripts for operational process testing
US10866883B2 (en) 2018-11-29 2020-12-15 Micro Focus Llc Detection of graphical user interface element of application undergoing functional testing
US12072791B2 (en) 2018-12-28 2024-08-27 Micro Focus Llc Automated identification of input elements in a graphical user interface
JP7386889B2 (ja) * 2019-04-30 2023-11-27 ウォークミー リミテッド Gui要素の複数の代替表記を使用したgui要素獲得
US10885423B1 (en) * 2019-10-14 2021-01-05 UiPath Inc. Systems and methods of activity target selection for robotic process automation
US11249729B2 (en) 2019-10-14 2022-02-15 UiPath Inc. Providing image and text data for automatic target selection in robotic process automation
JP7568371B2 (ja) 2019-10-14 2024-10-16 ユーアイパス,インコーポレイテッド ロボティック・プロセス・オートメーションのためのアクティビティ対象選択のシステム及び方法
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
TWI756867B (zh) * 2020-10-16 2022-03-01 財團法人工業技術研究院 在作業系統標記物件標籤及產生安全政策的方法及系統
US11200073B1 (en) * 2020-11-20 2021-12-14 UiPath, Inc. Automatic anchor determination and target graphical element identification in user interface automation
JP7332845B2 (ja) * 2020-11-20 2023-08-24 ユーアイパス,インコーポレイテッド ユーザーインターフェース自動化における自動アンカー決定およびターゲットグラフィカル要素識別
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101044478A (zh) * 2004-07-01 2007-09-26 奥尔有限公司 分析查询日志以用于管理类别特定的电子内容
CN101120308A (zh) * 2003-04-22 2008-02-06 微软公司 关系视图
CN101334728A (zh) * 2008-07-28 2008-12-31 北京航空航天大学 一种基于xml文档描述的界面生成方法和平台

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5551028A (en) * 1991-02-28 1996-08-27 Mentor Graphics Corporation Design data management system and associated method
US6064812A (en) * 1996-09-23 2000-05-16 National Instruments Corporation System and method for developing automation clients using a graphical data flow program
US6141595A (en) * 1998-04-03 2000-10-31 Johnson Controls Technology Company Common object architecture supporting application-centric building automation systems
US7165240B2 (en) * 2002-06-20 2007-01-16 International Business Machines Corporation Topological best match naming convention apparatus and method for use in testing graphical user interfaces
US7272822B1 (en) * 2002-09-17 2007-09-18 Cisco Technology, Inc. Automatically generating software tests based on metadata
US7712074B2 (en) * 2002-11-21 2010-05-04 Bing Ren Automating interactions with software user interfaces
US7313564B2 (en) * 2002-12-03 2007-12-25 Symbioware, Inc. Web-interactive software testing management method and computer system including an integrated test case authoring tool
US8261239B2 (en) * 2003-03-25 2012-09-04 International Business Machines Corporation Locating a testable object in a functional testing tool
US7337432B2 (en) * 2004-02-03 2008-02-26 Sharp Laboratories Of America, Inc. System and method for generating automatic test plans for graphical user interface applications
US20060074873A1 (en) * 2004-09-30 2006-04-06 International Business Machines Corporation Extending data access and analysis capabilities via abstract, polymorphic functions
US7464090B2 (en) * 2006-01-27 2008-12-09 Google Inc. Object categorization for information extraction
US8392886B2 (en) * 2006-10-17 2013-03-05 Artoftest, Inc. System, program product, and methods to enable visual recording and editing of test automation scenarios for web application
GB0625578D0 (en) * 2006-12-21 2007-01-31 Ibm Method and system for graphical user interface testing
US20110202855A1 (en) * 2008-09-29 2011-08-18 Teruya Ikegami Gui evaluation system, gui evaluation method, and gui evaluation program
US8850395B2 (en) * 2009-12-03 2014-09-30 International Business Machines Corporation Managing graphical user interface (GUI) objects in a testing environment
US9697012B2 (en) * 2010-10-22 2017-07-04 Hewlett Packard Enterprise Development Lp Relation-based identification of automation objects

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101120308A (zh) * 2003-04-22 2008-02-06 微软公司 关系视图
CN101044478A (zh) * 2004-07-01 2007-09-26 奥尔有限公司 分析查询日志以用于管理类别特定的电子内容
CN101334728A (zh) * 2008-07-28 2008-12-31 北京航空航天大学 一种基于xml文档描述的界面生成方法和平台

Also Published As

Publication number Publication date
EP2504748A4 (en) 2013-07-24
EP2504748A1 (en) 2012-10-03
CN102667696A (zh) 2012-09-12
WO2011062597A1 (en) 2011-05-26
US20120124495A1 (en) 2012-05-17
EP2504748B1 (en) 2018-05-30

Similar Documents

Publication Publication Date Title
CN102667696B (zh) 用于用户界面中的对象标识的系统与方法
US10324609B2 (en) System for providing dynamic linked panels in user interface
Leotta et al. Approaches and tools for automated end-to-end web testing
CN102591647B (zh) 将桌面应用转换成web应用
US9361069B2 (en) Systems and methods for defining a simulated interactive web page
US20190303269A1 (en) Methods and systems for testing visual aspects of a web page
JP6033235B2 (ja) 類例によるデーターのフォーマット処理
US9043698B2 (en) Method for users to create and edit web page layouts
US8776023B2 (en) Software testing
US8677272B2 (en) Graphical user interface design utility
US20120137203A1 (en) Computer-implemented method for displaying data values calculated by a spreadsheet-function
KR101966518B1 (ko) 엑셀 기반 건축 설계 파일의 버전 제어 방법
Sánchez Ramón et al. Model-driven reverse engineering of legacy graphical user interfaces
EP2635976B1 (en) Bidirectional text checker
KR20130095176A (ko) 선택된 데이터의 일시적인 형식화 및 도표화
US11514237B2 (en) Spreadsheet and method for updating same
EP3113016A1 (en) Tracing dependencies between development artifacts in a development project
US8091016B2 (en) Visually manipulating instance collections
US20120284735A1 (en) Interaction-Based Interface to a Logical Client
US9495336B2 (en) Method and apparatus for comparing process designs
Kumar et al. Conceptualizing “COBieEvaluator”: an application for data mining COBie datasets to track asset changes throughout project lifecycle
KR101632951B1 (ko) 온라인 학습 콘텐츠로의 변환을 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체 및 온라인 학습 콘텐츠로의 변환 방법
CN103164629A (zh) 一种Flash软件操作技能的自动评分方法
Harms et al. Extended trace-based task tree generation
JP5820324B2 (ja) 設計支援システム、設計支援方法およびプログラム

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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160815

Address after: American Texas

Patentee after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

Address before: American Texas

Patentee before: Hewlett-Packard Development Company, Limited Liability Partnership

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180611

Address after: American California

Patentee after: Antite Software Co., Ltd.

Address before: American Texas

Patentee before: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Utah, USA

Patentee after: Weifosi Co., Ltd

Address before: California, USA

Patentee before: Antiy Software Co.,Ltd.

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: 20160413

Termination date: 20201123