提供包含用户动作的替代解释的表示的自动化代码的制作方法

文档序号:6352471阅读:179来源:国知局
专利名称:提供包含用户动作的替代解释的表示的自动化代码的制作方法
提供包含用户动作的替代解释的表示的自动化代码
背景技术
可以用自动化脚本捕获并且表示在系统的使用期间的用户动作(诸如在用户接口中进行的用户选择)。可以执行这样的自动化脚本以重放各个用户动作。可以出于各种目的、诸如为了测试系统或者出于其他目的进行执行这样的自动化脚本以重放用户动作。


关于以下附图描述一些实施例:
图1是根据一些实施例的过程的流程 图2是并入一些实施例的布置的框 图3A-3C、4和5A-5B是可与一些实施例一起使用的各种示例的图形视 图6是根据一些实施例的用户动作重放过程的流程图;并且 图7是根据一些实施例的自动化代码编辑过程的流程图。
具体实施例方式在一些情况下,可能希望将用户动作转换成可以执行的用于重放用户动作的自动化脚本。例如,这样的自动化脚本的执行可以提供用户动作的重放以执行系统的负荷测试或者否则观察系统在系统的典型或者预计使用之下的行为。系统可以连接到各种用户的客户端设备。在具体示例中,系统可以是基于web的系统,并且客户端设备可以包括用于访问基于web的系统的浏览器。负荷测试涉及到重放通常出现(或者预计出现)的用户动作以确定基于web的系统是否可以处理典型或者预计的负荷。执行自动化脚本以重放用户动作的其他示例使用包括系统的功能测试(以标识系统中的可能故障或者错误)、系统的安全特征的测试(以确定在系统中是否有任何安全漏洞)和/或出于其他目的。与生成自动化脚本以表示用户动作关联的问题是特定用户动作可能能够有多个替代解释。例如,用户动作可以涉及到点击图形用户接口中的复选框以选择(或者激活)选项。点击复选框的一个可能解释可以是用户希望激活选项。然而,用户动作的另一可能替代解释是用户仅希望转换(toggle)复选框,即用户希望从选项的激活状态向选项的不活跃状态转变或者相反。如果自动化脚本捕获特定用户动作的不正确解释,则自动化脚本在被执行时将不反映正确用户动作。这可能造成在执行自动化脚本以重放用户动作时产生不准确结果。根据一些实施例,提供用于标识和表示用户在用户接口(例如图形用户接口或者GUI)中进行的特定用户动作的多个替代解释的系统或者技术。可以在如下表示中表示特定用户动作的这些多个替代解释,该表示包含关于多个替代解释的信息。在一些实现中,该表示是可切换容器的形式,其中可切换容器允许在多个替代表示之间的容易切换。在一些示例中,可以手动、诸如通过用户接口执行在多个替代解释之间的切换。图1是根据一些实施例的过程的流程图。系统(在102处)接收用户接口中的用户动作的指示,其中用户接口可以是图形用户接口(GUI),该图形用户接口具有用户使用图形接口设备、诸如鼠标(或者其他指示设备)、键盘和/或触板或者触屏可选择的控制项目。系统(在104处)标识用户动作的多个替代解释。系统然后(在106处)产生多个替代解释的表示。如上文指出的那样,在一些实现中,该表示可以是可切换容器的形式。在具体示例中,可切换容器是可以是可扩展标记语言(XML)格式或者以某一其他类型的格式的可操纵模型。系统然后(在108处)生成包含表示的自动化代码,其中自动化代码可执行以重放用户动作。在一些实现中,自动化代码是自动化脚本的形式。“脚本”包含系统可以解释的机器可读代码(注意脚本不必先被编译)。在其他实现中,自动化代码可以是具有处理器的系统可执行的机器可读指令的其他形式。这样的机器可读指令的其他形式可以包括在执行之前先编译的代码。根据一些实现,多个替代解释的表示包含如下信息,该信息指示多个替代解释中的哪个替代解释是活跃替代解释,并且其他多个替代解释中的哪个替代解释是不活跃替代解释。在执行自动化代码期间,在执行该自动化代码的系统中仅暴露活跃替代解释。“暴露”活跃替代解释意味着活跃的多解释是通过执行自动化代码来重放的用户动作。在执行自动化代码期间未重放可切换容器中包含的(一个或多个)不活跃替代解释。根据一些实现,有可能向作为活跃替代解释的多个替代解释中的一个不同替代解释切换。例如,用户可以决定将多个替代解释中的另一替代解释标记为活跃替代解释。可以使用向用户呈现的用户接口来进行这一改变作为自动化代码编辑过程的部分,其中用户接口可以列举可切换容器表示的多个替代解释。用户接口可以醒目显示活跃替代解释,并且用户接口允许用户标记替代解释中的一个不同替代解释为活跃替代解释。在可切换容器中存储活跃替代表示的改变,并且然后可以使用不同活跃替代解释来重新执行包含可切换容器的自动化代码以重放用户动作的不同表示。图2是并入一些实施例的示例布置的框图。图2的布置包括通过网络204连接的系统200和系统202。在替代实现中,可以仅有一个系统、诸如系统200而省略系统202。系统200和202的示例包括计算机或者其他电子设备,诸如个人数字助理、电子装置等。系统200具有用于显示用户接口 208 (例如⑶I)的显示设备206。用户接口 208具有用户可选择控制元素210,并且可以关于控制元素210进行用户动作。自动化代码生成器212可以在用户动作的记录会话期间捕获这一用户动作。向自动化代码生成器212传送在显示设备206显示的用户接口 208中进行的用户动作,该自动化代码生成器记录用户动作。自动化代码生成器212可以记录在用户接口 208中进行的多个用户动作。自动化代码生成器112在一个处理器(或者多个处理器)214上可执行。(一个或多个)处理器214连接到视频控制器216和网络接口 218。视频控制器216耦合到显示设备206用于在显示设备206上呈现(包括用户接口 208和其他图像的)视频图像。网络接口218允许系统200通过网络204通信。对于自动化代码生成器212记录的每组一个或者多个用户动作,自动化代码生成器212可以产生对应自动化代码220。对应自动化代码220表示的(一个或多个)用户动作的组可以例如是用户动作的序列或者仅一个用户动作。可以在系统200的存储介质222中存储每个自动化代码220。如图2中所描绘的那样,每个自动化代码220包含可切换容器224 (如果适合则包含多个可切换容器224),其中可切换容器224包含涉及对应捕获的用户动作的信息。对于能够有多个替代解释的用户动作,对应可切换容器224包含多个替代解释中的每个替代解释的表示。注意在一些情况下,用户动作能够仅有一个可能解释,在该情况下,自动化代码220将仅包含涉及该一个可能解释的信息。在存储介质222中存储的自动化代码220能够执行以重放对应用户动作。对于如对应可切换容器124反映的能够有多个替代解释的用户动作,重放的用户动作根据标记为活跃的替代解释。可以在系统200中执行自动化代码220,或者替代地,可以通过网络204向系统202传送自动化代码220 (见箭头240)用于在系统202的一个或者多个处理器230上执行。在一些示例中,系统200可以是客户端设备,用户可以在该客户端设备处在记录会话期间进行客户端设备的自动化代码生成器212捕获的各种选择或者命令动作。每个客户端设备的自动化代码生成器212然后可以产生向不同系统、诸如系统202发送用于执行的自动化代码220。例如,系统202可以是被设计用于使用自动化代码220来执行受测试的系统的测试的测试系统。在替代实现中,系统200是连接到多个客户端设备的服务器系统。在客户端设备处进行的用户动作可以由服务器系统200中的自动化代码生成器212捕获。在这样的实现中,不必向不同系统传送服务器系统200生成的自动化代码220用于执行。代之以可以在系统200本身上执行自动化代码220。下文提供根据一个示例的报告的用户动作的抽象表示:
{无替代的记录的步骤A} {无替代的记录的步骤B}
{有替代的记录的步骤C:
<!-pf !supportLists]->1.<!--[endif|-->步骤 Cl -标记为“活跃”的可切换容器
!supportllists-->i1.步骤 C2
<!-|if !supportL!Sts}->ii1.步骤 C3}。在上述示例中,存在被表示为步骤A、步骤B和步骤C的三个用户动作。步骤A和B在上述示例中没有替代解释,而步骤C具有被表示为Cl、C2和C3的三个可能替代解释。在上述示例中,标记替代解释Cl为活跃解释。在一些实现中,为了标识特定用户动作的替代解释,可以使用基于角色的方式。对于给定的对象(诸如用户接口中的可以由用户选择/取消选择的复选框或者用户接口中的可以被移动以改变参数的值的滑块),可以通过观察类型和行为来分配角色。可以针对相同对象或者对象模式允许不止一个角色。对于这样的观察和分类的示例,如果拖动/放下的元素仅水平或者仅竖直移动(它的χ/y坐标中的仅一个坐标改变),并且附近文字字段的值相应地改变,则可以将包括移动的元素和关联文字字段的对象模式分类为滑块。向特定对象分配的不同角色可以用于导出特定用户动作的替代解释。自动化代码生成器212能够标识与用户动作关联的多个替代解释中的哪个替代解释更可能反映用户在执行用户动作时的意图。对更可能反映用户在执行用户动作时的意图的替代解释的标识可以基于预定义的规则,其中预定义的规则可以包括基于历史数据中包含的以往经验的试探(heuristic)。使用预定义的规则,自动化代码生成器212能够按照多个替代解释中的对应替代解释反映用户在执行对应用户动作时的意图的可能性的顺序对多个替代解释评级。对多个替代解释评级允许按照评级顺序列举多个替代解释,使得让用户知道这样的评级,如果用户决定在用于特定用户动作的活跃替代解释之间切换,则该评级可以允许用户进行对活跃替代解释的更智能选择。图3A-3C描绘用于呈现用户动作的示例用户接口屏幕。根据一些实现,系统可以产生图3A-3C的用户接口屏幕以允许用户查看(并且可能编辑)用户动作的集合和与用户动作中的任何用户动作关联的任何替代解释。在图3A的示例中,第一用户动作(300)涉及到诸如通过用户键入对应URL (统一资源定位符)或者点击web站点链接来到特定web站点的用户导航。第二用户动作(302)表示在web站点呈现的用户接口的搜索框中键入字符串“Sla”。在该具体示例中,假设在键入字符串“Sla”时,提供自动完成特征,在该特征中列举始于“Sla”的可能词语的列表。在图4中呈现基于键入“Sla”的自动完成的可能词语的列表,该图示出用户在文本框401中键入“Sla”。图4也示出用户可选择的用于使搜索引擎基于选择的文本执行搜索的“搜索”框404。假设用户选择的词语如图4中的醒目显示(400)反映的那样是“Slate”。在图3A中,描绘用户对“Slate”的选择作为第三用户动作(304)。从图4中所示的可能词语列表中选择词语“Slate”可以是多个替代解释的主题。第一替代解释是用户打算选择词语“Slate”,这是图3A中的第三用户动作(304)反映的解释。第二替代解释是用户打算选择图4中所示的列表的第二条目。第三替代解释是用户打算点击“Slate”网格单元,其是作为用于表示图4的列表的HTML (超文本标记语言)表的部分的对象。又一可能替代解释是用户如图4中的402所示的那样点击“te”装饰物(decorator)。“装饰物”是指以某一方式、诸如在加粗体、斜体、下划线等时醒目显示的用户接口对象。图4中的“te”装饰物402是这样的醒目显示的用户接口对象的一个示例,用户可以选择该用户接口对象以完成向图4的搜索块401中键入的“Sla”。在图3B中 描绘的用户接口屏幕中的框308中描绘四个可能的替代解释。可视地醒目显示(诸如通过使用图3B中的加粗体块或者通过某一其他指示符,诸如标志、文本等)活跃替代解释(310),该替代解释在这一示例中是对词语“Slate”的选择。其他不活跃替代表示312、314和316分别对应于对自动完成列表中的第二条目的选择、对网格单元的选择和对装饰物的选择。如果希望,则用户可以选择替代解释中的一个不同替代解释(解释312、314和316之一)作为活跃解释。用户可以例如通过在与希望的替代解释对应的块中选择来实现对用户动作的不同活跃解释的选择。可以在其他实现中使用改变活跃替代解释的其他技术。用于改变用户动作的活跃解释的能力是向用户提供的自动化代码编辑机制的部分。图3C示出具有可选择控制元素306 (标注为“替代步骤”)的用户接口屏幕。“替代步骤”控制元素306在由用户激活或者点击时引起在图3B的框308中的对多个替代解释(310、312、314、316)的描绘。图5A和5B描绘用于不同示例用户动作的用户接口屏幕。图5A中的第一用户动作(500)表示到特定航班搜索web站点的用户导航。在航班搜索web站点呈现的web页中,显示“包括在……内的机场”复选框,用户可以选择/取消选择该复选框以指定包括在目标机场的指定的距离内的机场的航班搜索。在图5A的具体示例中,第二用户动作(502)涉及到用户在“包括在……内的机场”复选框中选择假。如果用户这样希望,则用户可以使用户接口描绘用于在“包括在……内的机场”复选框中的选择“假”动作的多个替代解释,如图5B的用户接口屏幕中示出的那样。在框504中呈现多个替代解释,其中活跃替代解释是如下解释(506),该解释指示用户打算在复选框中选择假。可视地醒目显示(诸如用加粗体块或者用另一指示符)这一活跃解释以指示解释是活跃解释。不活跃替代解释是如下解释(508 ),在该解释中,用户打算转换复选框。与图3B的示 例一样,用户也可以诸如通过选择框504中的块中的一个不同块在图5B的示例中的活跃解释之间切换。虽然图3A-3C和5A-5B示出示例用户接口屏幕,但是注意,存在描绘其他示例用户动作的其他用户接口屏幕。图6是根据一些实现的执行自动化代码以重放(一个或多个)用户动作的过程的流程图。(在602处)接收自动化代码,诸如图1的系统200或者系统202。接收的自动化代码具有如下表示(例如图2的示例中的可切换容器224),该表示包含在用户接口中进行的特定用户动作的多个替代解释。标记多个替代解释之一为活跃,而标记多个替代解释中的另一替代解释为不活跃。(在604处)执行自动化代码以重放(一个或多个)用户动作。对于具有多个替代解释的特定用户动作,重放的特定用户动作基于标记的活跃替代解释。可以在接收附加自动化代码时重复(re-1terate)图6的过程。图7是根据一些实现的执行自动化代码编辑的过程的流程图。图7的过程(在702处)确定是否已经接收用户编辑选择以改变具有多个替代解释的特定用户动作的活跃解释。如果是这样,则系统(在704处)标记多个替代解释中的一个不同替代解释为活跃。(在706处)在可切换容器(例如图2中的224)中更新对不同活跃替代解释的改变。可以响应于用于改变用户动作的活跃解释的其他用户选择来重复图7的过程。然后可以诸如根据图6重新执行具有更新的可切换容器的自动化代码以使用不同活跃替代解释来重放用户动作。通过使用根据一些实现的技术或者机制,提供用于捕获和重放用户动作的改进的灵活性。可以执行对用户动作的捕获和重放而减少在指定每个用户动作的正确解释时的用户干预。另外,通过提供改变特定用户动作的活跃解释的能力来增强灵活性。可以用加载的用于在对应的(一个或多个)处理器214和/或230上执行的机器可读指令实现图2的自动化代码生成器212和自动化代码220。处理器可以包括微处理器、微控制器、处理器模块或者子系统、可编程集成电路、可编程门阵列或者另一控制或者计算设备。在实现为一个或者多个计算机可读或者机器可读存储介质的相应存储设备中存储数据和指令。存储介质包括不同存储器形式,这些形式包括半导体存储器设备,诸如动态或者静态随机访问存储器(DRAM或者SRAM)、可擦除和可编程只读存储器(EPR0M)、电可擦除和可编程只读存储器(EEPROM)和闪存;磁盘,诸如固定盘、软盘和可拆卸盘;包括带的其他磁介质;光学介质,诸如紧致盘(CD)或者数字视频盘(DVD);或者其他类型的存储设备。注意可以在一个计算机可读或者机器可读存储介质上提供或者替代地可以在分布于具有可能多个节点的大系统中的多个计算机可读或者机器可读存储介质上提供上文讨论的指令。这样的计算机可读或者机器可读存储介质被视为产品(或者制造品)的部分。产品或者制造品可以指代任何制造的单个部件或者多个部件。一个或多个存储介质可以位于运行机器可读指令的机器中或者位于可以通过网络从其下载机器可读指令用于执行的远程站点处。在前文描述中,阐述许多细节以提供对这里公开的主题的理解。然而,可以在没有这些细节中的一些或者所有细节的情况下实践实现。其他实现可以包括从上文讨论的细节的修改和变化。旨在于所附权利要求书覆盖这样的修改和变化。
权利要求
1.一种方法,包括: 具有处理器的系统接收用户接口中的用户动作的指示; 所述系统标识所述用户动作的多个替代解释; 所述系统产生所述多个替代解释的表示;并且 所述系统生成包含所述表示的自动化代码,其中所述自动化代码可执行以重放所述用户动作。
2.根据权利要求1所述的方法,还包括: 执行所述自动化代码以使用所述多个替代解释中的选择的一个替代解释来重放所述用户动作。
3.根据权利要求2所述的方法,还包括: 在所述表示中标记所述替代解释之一为活跃替代解释,并且标记所述替代解释中的另一替代解释为不活跃替代解释, 其中选择的替代解释是所述活跃替代解释,并且 其中在执行所述自动化代码时暴露所述活跃替代解释但不暴露所述不活跃替代解释。
4.根据权利要求1所述的方法,还包括: 在所述表示中标记所述替代解释之一为活跃替代解释,并且标记所述替代解释中的另一替代解释为不活跃替代解释; 在所述用户接口中呈现所述多个替代表示,其中指示所述活跃替代表示为所述活跃替代解释。
5.根据权利要求4所述的方法,还包括: 通过所述用户接口接收所述多个替代表示中的一个不同替代表示的用户指示以标记为活跃,其中先前标记所述多个替代表示中的一个不同替代表示为不活跃。
6.根据权利要求1所述的方法,还包括: 标识所述多个替代解释中的哪个替代解释更可能反映用户在执行所述用户动作时的意图;并且 在所述表示中将标识的替代解释标记为活跃,而将所述多个替代解释中的其余一个或者多个替代解释标记为不活跃。
7.根据权利要求6所述的方法,其中所述标识基于与所述用户动作关联的预定义的规则。
8.根据权利要求6所述的方法,还包括: 按照所述多个替代解释中的对应替代解释反映所述用户在执行所述用户动作时的意图的可能性的顺序对所述多个替代解释评级。
9.一种产品,包括至少一个计算机可读存储介质,所述至少一个计算机可读存储介质存储指令,所述指令在执行时使具有处理器的系统: 接收具有表示的自动化代码,所述表示包含在用户接口中进行的用户动作的多个替代解释,其中标记所述多个替代解释之一为不活跃而标记所述多个替代解释中的另一替代解释为不活跃;并且 执行所述自动化代码以使用所述活跃替代解释来重放所述用户动作。
10.根据权利要求9所述的产品,其中所述指令在执行时使所述系统进一步:接收用户选择以将所述多个替代解释中的一个不同替代解释标记为活跃;并且响应于接收的用户选择,将所述多个替代解释中的另一替代解释标记为活跃,并且更新所述自动化代码以反映标记的另一活跃替代解释。
11.根据权利要求10所述的产品,其中所述指令在执行时使所述系统进一步: 重新执行更新的自动化代码以使用标记的另一活跃替代解释来重放所述用户动作。
12.根据权利要求9所述的产品,其中所述表示是包含用于表示所述多个替代解释的信息的可操纵模型。
13.根据权利要求12所述的产品,其中所述模型是可扩展标记语言(XML)形式。
14.根据权利要求9所述的产品,其中所述用户动作是所述自动化代码表示的第一用户动作,并且其中所述自动化代码还表示第二用户动作, 其中执行所述自动化代码引起对所述第一和第二用户动作的重放。
15.—种系统,包括: 用于存储容器的存储介质,所述容器包含关于在用户接口中进行的用户动作的多个替代解释的信息;以及 至少一个处理器,用于: 标识所述多个替代解释之一为活跃替代解释, 其中执行包含所述容器的自动化代码引起根据标识的活跃替代解释对所述用户动作的重放; 接收指示以向所述多个替代解释中的作为所述活跃替代解释的另一替代解释切换;并且 更新所述容器以指示所述多个替代解释中的作为所述活跃替代解释的另一替代解释。
全文摘要
提供用户动作的多个替代解释的表示。包含该表示的自动化代码可执行以重放用户动作。
文档编号G06F17/30GK103154902SQ201080069664
公开日2013年6月12日 申请日期2010年8月17日 优先权日2010年8月17日
发明者D.施瓦茨, A.克斯纳, I.利瓦伊, M.E.克劳斯, E.科布里戈 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1