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

文档序号:6596664阅读:236来源:国知局
专利名称:用于用户界面中的对象标识的系统与方法
用于用户界面中的对象标识的系统与方法
背景技术
软件自动化可以被用来模拟人类用户的与软件应用的交互以及用来重复由人类用户记录在脚本中的任务。软件自动化开发者和测试人员可以写出在各种应用以及应用的用户界面(UI)上工作的自动化程序。自动化程序可以在被记录的自动化脚本的回放期间使用应用和n,就像人类用户将使用该应用那样。UI中的对象可以被标识并且可以被包括在被记录的脚本中以启用应用功能的执行。开发者、测试人员、或用户可以通过“记录”与应用的用户的交互来生成或创建自动化模型和脚本。用户可以通过使用应用的用户界面(UI)中的对象与该应用进行交互,所述应用的用户界面(UI)当自动化应用处于记录模式时产生自动化脚本。用以生成脚本的另一方式可以是针对用户来对用户的交互进行编程或采用选择设备(例如,计算机鼠标)输入期望的命令和击键,以便对用户的期望的动作的等同物进行编程。
软件自动化可以用于像应用功能测试工具(例如,HP Quick Test Pro)、性能或加载测试工具(例如,HP Loadrunner)、或安全工具(例如,HP Web Inspect)的软件测试工具。自动化测试可以测试应用功能、应用加载、网络交互、安全性、客户端-服务器应用,或n。


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