在不同语言的机器间同步图形用户界面操作的方法和设备转让专利

申请号 : CN201210371954.4

文献号 : CN103713958B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 沈忠刚吉晓峰

申请人 : 国际商业机器公司

摘要 :

本发明公开了在第二机器中同步对第一机器执行的图形用户界面(GUI)操作的方法和设备,第一机器使用第一语言,第二机器使用不同的第二语言。该方法包括:接收对第一机器执行的GUI操作的操作信息,该信息包括对象信息和动作信息,对象信息使用第一语言并表示GUI操作针对的GUI对象,动作信息表示GUI操作执行的动作;将使用第一语言的对象信息转换为使用第二语言的对象信息;根据使用第二语言的对象信息,在第二机器上显示的GUI中识别GUI对象;以及对所识别的GUI对象执行由动作信息表示的动作。通过该方法和设备,可将对使用一种语言的机器执行的GUI操作自动同步到使用不同语言的机器上,提高了多语言测试的效率。

权利要求 :

1.一种在第二机器中同步对第一机器执行的图形用户界面

GUI操作的方法,所述第一机器使用第一语言,所述第二机器使用与第一语言不同的第二语言,所述方法包括:接收对第一机器执行的GUI操作的操作信息,该操作信息包括对象信息和动作信息,所述对象信息使用第一语言,并且表示GUI操作所针对的GUI对象,所述动作信息表示该GUI操作对所述GUI对象执行的动作;

将使用第一语言的对象信息转换为使用第二语言的对象信息;

根据使用第二语言的对象信息,在第二机器上显示的GUI中识别GUI对象;以及对所识别的GUI对象执行由所述动作信息表示的动作。

2.如权利要求1所述的方法,其中,所述对象信息包括GUI对象类型以及GUI对象内容。

3.如权利要求2所述的方法,其中,将使用第一语言的对象信息转换为使用第二语言的对象信息的步骤包括:将使用第一语言的对象信息中的GUI对象内容转换为该内容在第二语言中的译文。

4.如权利要求2或3所述的方法,其中,将使用第一语言的对象信息转换为使用第二语言的对象信息的步骤包括:在译文表中找出包含使用第一语言的对象信息中的GUI对象内容的条目,该译文表将第一语言中所有可能成为GUI对象内容的文字、以及该文字在第二语言中的译文相关联地存储为条目;

从所找出的条目中提取所述GUI对象内容在第二语言中的译文;以及利用该译文替换使用第一语言的对象信息中的GUI对象内容,从而将使用第一语言的对象信息转换为使用第二语言的对象信息。

5.如权利要求4所述的方法,还包括:如果根据使用第二语言的对象信息未能识别出GUI对象,在译文表中找出包含所述GUI对象内容的下一条目;

从该下一条目中提取所述GUI对象内容在第二语言中的译文;

利用该译文替换使用第一语言的对象信息中的GUI对象内容,从而将使用第一语言的对象信息再次转换为使用第二语言的对象信息;以及根据再次转换的使用第二语言的对象信息,在第二机器上显示的GUI中识别GUI对象。

6.如权利要求4所述的方法,其中,所述GUI操作具有唯一的操作ID,并且译文表的每个条目具有唯一的译文表ID;

并且其中,所述方法还包括:

如果根据使用第二语言的对象信息识别出GUI对象,则将该GUI操作的操作ID和所找出的译文表的条目的译文表ID相关联地记录在匹配表中。

7.如权利要求2或3所述的方法,所述GUI操作具有唯一的操作ID,并且其中,将使用第一语言的对象信息转换为使用第二语言的对象信息的步骤包括:访问匹配表,在该匹配表中至少存储有所述GUI操作的操作ID、以及已经同步了所述GUI操作的第三机器针对该GUI操作找出的译文表条目的译文表ID,其中,所述译文表将第一语言中所有可能成为GUI对象内容的文字、以及该文字在第二语言中的译文相关联地存储为条目,并且每个条目具有唯一的译文表ID;

在匹配表中找出与所述GUI操作的操作ID相对应的译文表ID;

从译文表ID指示的译文表条目中提取所述GUI对象内容在第二语言中的译文;以及利用该译文替换使用第一语言的对象信息中的GUI对象内容,从而将使用第一语言的对象信息转换为使用第二语言的对象信息。

8.如权利要求7所述的方法,还包括:

如果根据使用第二语言的对象信息未能识别出GUI对象,

在译文表中找出除了所述译文表ID指示的译文表条目之外的、包含所述GUI对象内容的下一条目,并且从该下一条目中提取所述GUI对象内容在第二语言中的译文;

利用该译文替换使用第一语言的对象信息中的GUI对象内容,从而将使用第一语言的对象信息再次转换为使用第二语言的对象信息;以及根据再次转换的使用第二语言的对象信息,在第二机器上显示的GUI中识别GUI对象。

9.如权利要求8所述的方法,其中,如果根据再次转换的使用第二语言的对象信息识别出对应的GUI对象,将匹配表中与所述操作ID相关联地存储的译文表ID替换为所述下一条目的译文表ID,以更新该匹配表。

10.一种在第二机器中同步对第一机器执行的图形用户界面GUI操作的设备,所述第一机器使用第一语言,所述第二机器使用与第一语言不同的第二语言,所述设备包括:接收装置,被配置为接收对第一机器执行的GUI操作的操作信息,该操作信息包括对象信息和动作信息,所述对象信息使用第一语言,并且表示GUI操作所针对的GUI对象,所述动作信息表示该GUI操作对所述GUI对象执行的动作;

转换装置,被配置为将使用第一语言的对象信息转换为使用第二语言的对象信息;

识别装置,被配置为根据使用第二语言的对象信息,在第二机器上显示的GUI中识别GUI对象;以及执行装置,被配置为对所识别的GUI对象执行由所述动作信息表示的动作。

11.如权利要求10所述的设备,其中,所述对象信息包括GUI对象类型以及GUI对象内容。

12.如权利要求11所述的设备,其中,所述转换装置被配置为通过将使用第一语言的对象信息中的GUI对象内容转换为该内容在第二语言中的译文,将使用第一语言的对象信息转换为使用第二语言的对象信息。

13.如权利要求11或12所述的设备,其中,所述转换装置包括:查找单元,被配置为在译文表中找出包含使用第一语言的对象信息中的GUI对象内容的条目,该译文表将第一语言中所有可能成为GUI对象内容的文字、以及该文字在第二语言中的译文相关联地存储为条目;

提取单元,被配置为从所找出的条目中提取所述GUI对象内容在第二语言中的译文;以及替换单元,被配置为利用该译文替换使用第一语言的对象信息中的GUI对象内容,从而将使用第一语言的对象信息转换为使用第二语言的对象信息。

14.如权利要求13所述的设备,还包括:如果识别装置根据使用第二语言的对象信息未能识别出GUI对象,所述查找单元在译文表中找出包含所述GUI对象内容的下一条目;

所述提取单元从该下一条目中提取所述GUI对象内容在第二语言中的译文;

所述替换单元利用该译文替换使用第一语言的对象信息中的GUI对象内容,从而将使用第一语言的对象信息再次转换为使用第二语言的对象信息;以及所述转换装置根据再次转换的使用第二语言的对象信息,在第二机器上显示的GUI中识别GUI对象。

15.如权利要求13所述的设备,其中,所述GUI操作具有唯一的操作ID,并且译文表的每个条目具有唯一的译文表ID;

并且其中,所述设备还包括:

匹配表处理装置,其被配置为如果根据使用第二语言的对象信息识别出GUI对象,则将该GUI操作的操作ID和所找出的译文表的条目的译文表ID相关联地记录在匹配表中。

16.如权利要求11或12所述的设备,所述GUI操作具有唯一的操作ID,并且其中,所述转换装置包括:查找单元,被配置为访问匹配表,在该匹配表中至少存储有所述GUI操作的操作ID、以及已经同步了所述GUI操作的第三机器针对该GUI操作找出的译文表条目的译文表ID,其中,所述译文表将第一语言中所有可能成为GUI对象内容的文字、以及该文字在第二语言中的译文相关联地存储为条目,并且每个条目具有唯一的译文表ID,并且该查找单元被配置为在匹配表中找出与所述GUI操作的操作ID相对应的译文表ID;

提取单元,被配置为从译文表ID指示的译文表条目中提取所述GUI对象内容在第二语言中的译文;以及替换单元,被配置为利用该译文替换使用第一语言的对象信息中的GUI对象内容,从而将使用第一语言的对象信息转换为使用第二语言的对象信息。

17.如权利要求16所述的设备,还包括:

如果根据使用第二语言的对象信息未能识别出GUI对象,

所述查找单元在译文表中找出除了所述译文表ID指示的译文表条目之外的、包含所述GUI对象内容的下一条目,所述提取单元从该下一条目中提取所述GUI对象内容在第二语言中的译文,所述替换单元利用该译文替换使用第一语言的对象信息中的GUI对象内容,从而将使用第一语言的对象信息再次转换为使用第二语言的对象信息,并且所述识别装置根据再次转换的使用第二语言的对象信息,在第二机器上显示的GUI中识别GUI对象。

18.如权利要求17所述的设备,还包括:

匹配表处理装置,被配置为如果根据再次转换的使用第二语言的对象信息识别出对应的GUI对象,将匹配表中与所述操作ID相关联地存储的译文表ID替换为所述下一条目的译文表ID,以更新该匹配表。

说明书 :

在不同语言的机器间同步图形用户界面操作的方法和设备

技术领域

[0001] 本发明涉及在多种不同语言环境中进行的多语言测试,并且更具体地涉及一种在使用不同语言的机器之间同步图形用户界面(GUI)操作的方法和设备。

背景技术

[0002] 在多语言测试环境中,在对使用一种语言(例如英语)的机器(例如计算机)上显示的GUI执行了GUI操作(例如,点击GUI上的按钮、拖拽GUI上的图标等等)之后,用户需要手动地对使用其他不同语言(例如汉语、德语等)的机器上显示的内容相同但语言不同的GUI执行相同的GUI操作。例如,在进行翻译验证测试(TVT)时,用户需要对使用不同语言的机器的GUI执行相同的操作以捕捉不同语言环境中的TVT位图,从而进行翻译验证。这种手动的重复操作导致测试效率低下且容易出错。
[0003] 为了解决上述问题,需要一种能够在不同语言环境中,即,在使用不同语言的机器之间同步GUI操作的方法和设备,使得在用户对使用诸如英语的一种语言的机器上显示的GUI执行了GUI操作之后,该GUI操作能够被自动地同步到使用诸如汉语、德语等非英语语言的其他机器上。

发明内容

[0004] 为了解决以上问题,提出了本发明。本发明的一个目的是提供一种在使用不同语言的机器之间同步GUI操作的方法和设备,通过所述方法和设备,能够在使用一种语言的机器中自动地同步在使用另一种不同语言的机器上执行的GUI操作。
[0005] 根据本发明的一个方面,提供了一种在第二机器中同步对第一机器执行的GUI操作的方法,所述第一机器使用第一语言,所述第二机器使用与第一语言不同的第二语言,所述方法包括:接收对第一机器执行的GUI操作的操作信息,该操作信息包括对象信息和动作信息,所述对象信息使用第一语言, 并且表示GUI操作所针对的GUI对象,所述动作信息表示该GUI操作对所述GUI对象执行的动作;将使用第一语言的对象信息转换为使用第二语言的对象信息;根据使用第二语言的对象信息,在第二机器上显示的GUI中识别GUI对象;以及对所识别的GUI对象执行由所述动作信息表示的动作。
[0006] 根据本发明的另一个方面,提供了一种在第二机器中同步对第一机器执行的GUI操作的设备,所述第一机器使用第一语言,所述第二机器使用与第一语言不同的第二语言,所述设备包括:接收装置,被配置为接收对第一机器执行的GUI操作的操作信息,该操作信息包括对象信息和动作信息,所述对象信息使用第一语言,并且表示GUI操作所针对的GUI对象,所述动作信息表示该GUI操作对所述GUI对象执行的动作;转换装置,被配置为将使用第一语言的对象信息转换为使用第二语言的对象信息;识别装置,被配置为根据使用第二语言的对象信息,在第二机器上显示的GUI中识别GUI对象;以及执行装置,被配置为对所识别的GUI对象执行由所述动作信息表示的动作。
[0007] 利用根据本发明上述方面的方法和设备,可以将对使用一种语言(例如英语)的机器执行的GUI操作自动地同步到使用与不同语言的其他机器上,由此,用户不需要对使用不同语言的机器重复执行相同的GUI操作,提高了多语言测试的效率。

附图说明

[0008] 通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件,在附图中:
[0009] 图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器的框图;
[0010] 图2示出了可作为本发明的实施例的应用环境的多语言机器系统的示意图;
[0011] 图3示出了根据本发明第一实施例的在使用不同语言的机器之间同步GUI操作的方法的流程图;
[0012] 图4示出了图3所示的步骤S302的详细操作的流程图;
[0013] 图5示出了根据本发明第二实施例的在使用不同语言的机器之间同步 GUI操作的方法的流程图;
[0014] 图6示出了图5所示的步骤S502的详细操作的流程图;
[0015] 图7示出了根据本发明第一实施例的在使用不同语言的机器之间同步GUI操作的设备的框图;
[0016] 图8示出了图7所示的转换装置的具体结构的框图;
[0017] 图9示出了根据本发明第二实施例的在使用不同语言的机器之间同步GUI操作的设备的框图;
[0018] 图10示出了根据本发明第二实施例的在使用不同语言的机器之间同步GUI操作的另一设备的框图;
[0019] 图11示出了图10所述的转换装置的具体结构的框图。

具体实施方式

[0020] 下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0021] 所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0022] 可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系 统、装置或者器件使用或者与其结合使用。
[0023] 计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0024] 计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0025] 可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0026] 下面将参照本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
[0027] 也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品(manufacture)。
[0028] 也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或 其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
[0029] 图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0030] 如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0031] 总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
[0032] 计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0033] 系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0034] 具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个 或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0035] 计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0036] 下面,将描述根据本发明的实施例的在使用不同语言的机器之间同步GUI操作的方法和设备。
[0037] 参照图2,其示出了可作为本发明的实施例的应用环境的多语言机器系统的示意图。
[0038] 如图2所示,在该应用环境中,包括操作机器11以及多台其他机器。其他机器可以被分为两组:主要(primary)语言机器组12和次要(secondary)语言机器组13,每一组可以包括一台或更多台机器。作为机器的示例,可以使用能够显示GUI并且允许用户对该GUI执行各种操作(以下称为GUI操作)的任何机器,例如计算机、智能电话、个人数字助理(PDA)等。操作机器11以及主要语言机器组12和次要语言机器组13中的各台机器可以使用彼此不同的语言,从而可以显示内容相同但语言不同的GUI。在本发明的实施例中,用户对显示于操作机器11上的GUI执行的GUI操作将被自动地同步到主要语言机器组12和次要语言机器组13中的机器上。应当认识到,尽管在上文中将其他机器分为两组,但这只是说明性的,也可以不对所述其他机器进行分组,或者可以将所述其他机器分为更多组。
[0039] 该应用环境还可以包括数据库14,其可以存储译文表,并且在某些实施例中还可以存储匹配表。稍后将详细描述译文表和匹配表。在将GUI操作同 步到各台机器上时,可以选择性地使用这两个表。
[0040] 操作机器11(第一机器)使用第一语言。第一语言可以是英语、汉语、德语、汉语等各种语言之一,为方便起见,在下文中以英语作为第一语言的示例来描述本发明的实施例。用户可以对操作机器11显示的GUI执行GUI操作。具体地,用户可以对该GUI上的各种GUI对象执行各种动作,所述GUI对象例如为GUI上的按钮、图标等,所述动作例如为点击、拖拽等。
操作机器11可以记录用户执行的各种GUI操作。例如,可以使用现有的GUI自动化工具来记录GUI操作,所述GUI自动化工具的示例为合理功能测试器(Rational Functional tester,RFT)或者Silktest工具。
[0041] 具体地,可以通过记录GUI操作的操作信息来记录该GUI操作。所述操作信息可以包括对象信息和动作信息,所述对象信息表示GUI操作所针对的GUI对象信息,所述动作信息表示该GUI操作对所述GUI对象执行的动作。
[0042] 在一种实现方式中,所述动作信息可以被记录为“操作消息”,所述对象信息可以包括“对象类型(Object Type)”字段以及“对象标签(Object Tag)”字段。利用GUI对象的对象类型和对象标签,可以唯一地定位GUI上的对象。“对象类型”字段表示GUI对象的类型,例如按钮、图标等。“对象标签”字段的值为该GUI对象的内容,换言之,“对象标签”字段包括该GUI对象的内容。GUI对象的内容是指在该GUI对象上显示的文字,例如在“按钮”对象上显示的文字“OK”、“Cancel”等。由于操作机器11使用英语,因此所记录的对象信息是英语信息。当将GUI操作同步到使用另一种语言的机器上时,需要将对象标签字段所包含的GUI对象的内容翻译为相应的语言,以便定位在该机器上显示的GUI上的对象。应当认识到,除了上述实现方式以外,也可以采用其他方式来实现对象信息,只要该对象信息能够唯一地标识GUI对象即可。例如,可以用表示GUI对象的位置的位置信息和表示GUI对象的内容的内容信息来代替“对象类型”和“对象标签”;或者,也可以不专门设置“对象类型”字段和“对象标签”字段,只要该对象信息中包括GUI对象的类型以及GUI对象的内容即可。
[0043] 在记录多个GUI操作时,为了易于识别这些GUI操作,可以对每个GUI操作分配唯一的操作ID,并且将该操作ID与所记录的该GUI操作所针对的GUI对象的对象信息和动作信息相关联。因此,可以将每个GUI操作记录为以下格式的信息:(操作ID,操作消息,对象信息)或(操作ID,操作消息, 对象类型,对象标签),作为该GUI操作的操作信息。各个GUI操作的操作信息可以按照执行顺序形成GUI操作队列。可替换地,操作机器11可以将各个GUI操作的操作信息打包为一个或多个GUI操作包,这些操作包可以按照执行顺序形成GUI操作队列。例如,可以将针对同一GUI对象的所有GUI操作的操作信息打包为单个GUI操作包,或者可以将预定数目的GUI操作的操作信息打包为单个GUI操作包。
[0044] 为了将GUI操作同步到其他机器上,操作机器11可以主动地或者响应于主要语言机器组12和次要语言机器组13中的各台机器的请求,将GUI操作队列中的各个操作信息发送给主要语言机器组12和次要语言机器组13中的各台机器。操作机器11可以逐一发送各个GUI操作的操作信息,也可以以GUI操作包为单位发送操作信息。此外,操作机器11可以向这两个机器组中的各台机器并行发送操作信息,也可以先将操作信息发送给主要语言机器组12中的机器,并且在主要语言机器组12中的机器完成GUI操作同步之后再将操作信息发送给次要语言机器组13中的各台机器。此外,操作机器11可以使用本领域公知的任何数据传输技术(例如有线传输、无线传输等)来发送所述操作信息。
[0045] 主要语言机器组12包括至少一台机器。在操作机器11上执行的GUI操作被依序同步到主语言机器组12中的各个机器上。在图2中,作为示例,示出了三台机器121、122和123,并且按照121、122和123的顺序在各台机器上执行GUI操作的同步。此外,为了便于说明,假设机器121使用汉语,机器122使用德语,机器123使用阿拉伯语,尽管这些机器也可以使用其他任何语言。
[0046] 次要语言机器组13也包括至少一台机器。在图2中,作为示例,示出了七台机器。
[0047] 在本发明的第一实施例中,主要语言机器组12和次要语言机器组13中的各台机器按照相同的方式执行GUI操作的同步,它们之间的区别仅在于使用的语言不同。因此,在这里以机器121为例来描述根据本发明第一实施例的在使用不同语言的机器之间同步GUI操作的方法。
[0048] 图3示出了根据本发明第一实施例的在使用不同语言的机器之间同步GUI操作的方法的流程图。该方法可以由机器121执行,从而将在操作机器11上执行的GUI操作同步到机器121上。
[0049] 如图3所示,在步骤S301中,接收对操作机器11执行的GUI操作的操作信息。如上所述,所述操作信息包括对象信息和动作信息,所述对象信息表示GUI操作所针对的GUI对象,所述动作信息表示该GUI操作对所述GUI对象执行的动作。该对象信息为英语信息。
[0050] 在步骤S302中,将英语对象信息转换为汉语对象信息。如上所述,通过对象信息来定位GUI操作所针对的GUI对象。由于所接收的对象信息是英语信息,因此,为了在机器121上显示的汉语GUI中正确地定位GUI对象,需要将该对象信息转换为汉语对象信息,即,将对象信息中的“对象标签”包含的GUI对象的内容从英语转换为汉语。
[0051] 图4示出了在步骤S302中进行的这一转换处理的详细操作的流程图。具体地,如上文所述,在数据库14中存储有译文表,例如程序集成信息(PII)表。该译文表类似于字典,其将英语这一语言中所有可能成为GUI对象的内容(即,对象标签的值)的文字(字、词或句子)、以及该文字在包括汉语的不同语言中的译文相关联地存储,作为该译文表的条目,并且可以对该条目分配唯一的译文表ID。所述不同语言可以是在多语言测试中用到的语言,在只用到英语和另外一种语言的情况下,译文表中的条目可以只包括英语文字和该文字在所述另外一种语言中的译文。例如,对于英语词汇“OK”,在译文表中可以将“OK”以及该词汇在包括汉语的其他语言中的译文存储为一个条目。下表1示出了译文表的一个示例。
[0052] 表1
[0053]
[0054] 应当注意,在所使用的语言中可能存在一词多义的情况,即,某种语言下的某个词汇在另一种语言中可具有多种译文。例如,英语词汇“File”在汉语中至少可以有“提交”和“文件”两种译文。对于这样的词汇在同种语言 下的多种译文,在译文表中可以分别建立对应的条目并且分配相应的译文表ID。例如,如表1所示,对于“File”的中文译文“提交”,可以建立条目“3”,对于其中文译文“文件”,可以建立条目“4”,在这两个条目中,其余语言的译文相同。应当认识到,译文表不限于上述形式,而是可以根据需要采用其他适当的形式。
[0055] 参照图4,在步骤S3021中,在译文表中找出包含所接收的英语对象信息中的GUI对象内容的条目。在这里,为便于描述,假设GUI对象内容为英语词汇“OK”,在该步骤,在译文表中找出包含“OK”的条目,即条目“1”。应当注意,最好按照译文表ID的顺序遍历译文表来搜索包含所述内容的条目,并且当找到包含所述内容的第一个条目时停止搜索。在上述“File”的示例中,当找到条目“3”时,停止搜索,并且将该条目作为搜索结果。
[0056] 在步骤S3022中,从所找出的条目中提取所述GUI对象内容在汉语中的译文。在“OK”的示例中,从条目“1”中提取“OK”的汉语译文“确定”。
[0057] 在步骤S3023中,利用该汉语译文替换英语对象信息中的GUI对象内容,从而将英语对象信息转换为汉语对象信息。在上述“OK”的示例中,利用汉语译文“确定”替换英语内容“OK”,从而将英语对象信息转换为汉语对象信息。
[0058] 返回图3,在完成了对象信息的语言转换(翻译)之后,在步骤S303中,根据所述汉语对象信息,在机器121显示的GUI中识别GUI对象。如上所述,利用“对象类型”和“对象标签”可以唯一地定义GUI对象,因此,可以在机器121显示的GUI中搜索具有相同的对象类型和对象标签的值(GUI对象内容)的GUI对象,来进行这一识别。由于操作机器11和机器121显示除了语言之外内容相同的GUI,因此,所识别的GUI对象就是在操作机器11上执行的GUI操作所针对的GUI对象。
[0059] 接下来,在步骤S304中,确定在所述GUI中是否识别出GUI对象。如果是,则该过程进行到步骤S305,其中,对所识别出的GUI对象执行由对象信息中的动作信息表示的动作。例如,可以通过Hook机制来将所述动作信息与所识别的GUI对象先关联,从而对所述GUI对象执行相应的动作。由此,可以将在操作机器11上执行的GUI操作自动地同步到机器121上。
[0060] 另一方面,如果在步骤S304中没有识别出GUI对象,这意味着在步骤S3022中提取的译文不正确,这例如对应于一词多义的情况。因此,需要重 新提取GUI对象内容的译文。为此,该过程返回步骤S302,并且再次执行步骤S302-S304。具体地,当再次执行步骤S302-S304时,在步骤S302中,在译文表中找出包含所述英语对象信息中的GUI对象内容的下一条目(即除了之前找出的条目以外的条目),从该下一条目中提取所述GUI对象内容在汉语中的译文,然后利用该译文替换对象信息中的英语内容,从而将英语对象信息再次转换为汉语对象信息,然后在步骤S303中,根据再次转换的汉语对象信息,在机器121上显示的GUI中识别GUI对象,并且在步骤S304中,确定是否识别出GUI对象。重复上述操作,直到在步骤S304中确定识别出GUI对象为止。
[0061] 对于用户在操作机器11上执行的所有GUI操作重复上述处理,可以将这些操作同步到机器121上。
[0062] 主要语言机器组12的其他机器122和123以及次要语言机器组13中的各台机器都可以执行在上文中参照图3和图4所述的方法,从而将在操作机器11上执行的GUI操作自动地同步到这些机器上。这些机器可以依序执行GUI操作的同步,也可以并行地执行GUI操作的同步。
[0063] 在第一实施例中,主要语言机器组12和次要语言机器组13的各台机器按照相同的方法执行GUI操作的同步,这意味着在执行GUI操作的同步时,每台机器都要至少一次地访问译文表,以在其中搜索包含GUI对象的内容的条目。由于译文表对于所有可能成为GUI对象的内容的英语文字都建立了条目,因此具有大量条目,这使得在译文表中找出所需条目可能需要花费比较长的时间。在极端的情况下,需要遍历整个译文表以找出所需条目。这使得在GUI操作数量多或语言种类多的情况下,在所有机器上完成GUI操作的同步需要花费大量的时间。在一词多义的情况下,由于需要多次访问译文表,这一问题会变得更加严重。
[0064] 为了解决这一问题,提出了根据本发明的第二实施例的在使用不同语言的机器之间同步GUI操作的方法,其中,在作为主要语言机器组12的第一台机器的机器121按照上文所述的方式执行GUI操作的同步期间,还建立匹配表,使得主要语言机器组12中的其他机器以及次要语言机器组13中的各台机器能够参考该匹配表来执行GUI操作的同步,以减少同步所需的时间。
[0065] 具体地,如上文所述,当在机器121中执行GUI操作的同步时,在译文表中找出包含GUI对象内容(英语)的条目,并且利用该条目中的汉语译文 来替换所述内容,从而将英语对象信息转换为汉语对象信息,然后利用该汉语对象信息识别GUI对象。在第二实施例中,当利用该汉语对象信息成功地识别出GUI对象时,还将该GUI操作的操作ID与针对该GUI操作而在译文表中找出的对应条目(以下称为与该GUI操作匹配的条目)的译文表ID相关联地记录在匹配表中。对于每个GUI操作都进行上述记录。因此,当完成所有GUI操作的同步时,可以形成例如下表2所示的匹配表:
[0066] 表2
[0067]操作ID 译文表ID
1 1
2 3
… …
[0068] 这样,当机器121完成所有GUI操作的同步时,在匹配表中存储了每个GUI操作的ID以及与该GUI操作匹配的译文表条目的译文表ID。应当认识到,匹配表不限于上述形式,而是可以根据需要采用任何适当的形式,只要其能够将GUI操作和与其匹配的译文表的条目唯一地关联起来即可。例如,在匹配表中,代替存储GUI操作的操作ID,可以存储该GUI操作的对象信息和与该GUI操作匹配的译文表条目的译文表ID。
[0069] 下面描述根据本发明第二实施例的在使用不同语言的机器中同步GUI操作的方法。该方法可以由主要语言机器组12中在第一台机器121之后执行GUI操作同步的机器执行。在图2的示例中,可以由机器122和123依序执行该方法。在这里,假设由使用德语的机器122执行该方法。
[0070] 如图5所示,在步骤S501中,接收对操作机器11执行的GUI操作的操作信息。该操作与步骤S301相同,因此不再赘述。
[0071] 在步骤S502中,将英语对象信息转换为德语对象信息。与上述步骤S302类似,可以通过将英语对象信息中(例如“对象标签”中)包含的GUI对象内容从英语转换为德语,来实现这一转换。
[0072] 图6示出了在步骤S502中进行的这一转换处理的详细操作的流程图。
[0073] 具体地,在步骤S5021,访问匹配表。如上所述,在该匹配表中至少存储有所述GUI操作的操作ID、以及已经同步了所述GUI操作的另一机器(例如机器121)针对该GUI操作找出的译文表条目的译文表ID。在步骤S5022中,在匹配表中找出与GUI操作的操作ID相对应的译文表ID。然后,在步 骤S5023中,从所述译文表ID指示的译文表条目中提取英语对象信息(具体地,其对象标签字段)中包含的GUI对象内容在德语中的译文,并且在步骤S5024中,利用该德语译文替换英语对象信息中包含的英语GUI对象内容,从而将英语对象信息转换为德语对象信息。
[0074] 返回图5,在步骤S503中,根据所述德语对象信息,在机器122上显示的GUI中识别GUI对象。该步骤与图3所示的步骤S303相似,因此在这里省略其详细描述。
[0075] 接下来,在步骤S504中,确定在步骤S503中是否识别出GUI对象。如果识别出GUI对象,则该过程进行到步骤505,其中,对所识别的对象执行由动作信息表示的动作,从而将在操作机器11上执行的GUI操作同步到机器122上。
[0076] 另一方面,如果在步骤S504中确定没有识别出GUI对象,则这说明根据匹配表中的记录找出的条目中的译文不正确,这例如对应于一词多义的情况,需要重新寻找具有正确译文的条目。因此,在步骤S506中,访问译文表,以便在其中找出除了具有在步骤S5022找到的译文表ID的条目以外的包含GUI对象的英语内容的下一条目。
[0077] 接下来,在步骤S507中,从所述下一条目中提取该GUI对象内容在德语中的译文,并且在步骤S508中利用该德语译文替换英语对象信息中的英语GUI对象内容,从而将英语对象信息再次转换为德语对象信息。
[0078] 然后,在步骤S509中,根据所述再次转换的德语对象信息,在机器122上显示的GUI中识别GUI对象,并且在步骤S510中确定是否识别出GUI对象。
[0079] 如果识别出GUI对象,则在步骤S511,将匹配表中与所述操作ID相关联地存储的译文表ID替换为所述下一条目的译文表ID,以更新该匹配表,然后如上所述执行步骤S505。另一方面,如果没有识别出GUI对象,则该过程返回步骤S506,并且重复执行步骤S506至S510,直到识别出GUI对象为止。同样,在重复执行步骤S506时,应当排除之前找到的条目。
[0080] 这样,通过对于所有GUI操作重复上述处理,可以将在操作机器11上执行的所有GUI操作同步到机器122上。
[0081] 在第二实施例中,主要语言机器组中最先执行GUI操作同步的机器(例如机器121)建立匹配表,并且将每个GUI操作的操作ID和与该GUI操作 匹配的译文表条目的译文表ID存储在其中。这相当于在每个GUI操作与译文表的条目之间建立了直接的关联,使得后续机器(例如机器122)在执行GUI操作同步时可以从匹配表中直接获得与该GUI操作匹配的译文表的条目,从而迅速地获得所需译文。只有在从匹配表获得的译文不正确时,才在译文表中搜索相关的条目。因此,与第一实施例相比,显著减少了搜索条目的工作量,加快了GUI操作同步的速度,提高了GUI操作同步的效率。
[0082] 在机器122完成GUI操作的同步之后,主要语言机器组12中的机器123可以利用机器122更新后的匹配表,执行参照图5和图6描述的上述方法,从而将在操作机器11上执行的GUI操作同步到机器123上。尽管由于一词多义现象的存在,根据匹配表中的记录获得的译文可能是不正确的,但是机器122执行的上述同步操作对匹配表进行了校正和更新,使得匹配表中的条目的准确性更高。由此,当后续的机器利用更新的匹配表执行GUI操作的同步时,根据匹配表获得正确译文的比率进一步提高。同样,次要语言机器组13中的各台机器也可以依序执行GUI操作的同步,其中,每台机器利用前一台机器更新后的匹配表来执行参照图5和图6描述的方法。
[0083] 根据本发明人的经验,当在三种语言环境中校正/更新了匹配表之后,根据该匹配表获得正确译文的比率将达到或者超过90%。这意味着匹配表的记录已经相当准确,后续的机器在执行GUI操作同步时可以仅根据该匹配表来获得正确的译文,而不需要再访问译文表和/或更新该匹配表。因此,在第二实施例中,优选地对机器进行分组,使得主要语言机器组12中的机器少于4台,并且最好为三台,每台使用不同的语言。考虑到不同语言中一词多义现象出现的频率也不相同,更优选地,这三台机器分别使用汉语、一种西欧语言、以及阿拉伯语。主要语言机器组中的每台机器在前一台机器完成GUI操作的同步之后,利用前一台机器更新后的匹配表,执行参照图5和图6描述的方法;次要语言机器组13中的各台机器可以并行地者依序地执行图5和图6描述的方法中除了步骤S506-S511以外的步骤,而不执行匹配表的更新,这进一步加快了在所有机器上执行GUI操作同步的速度。
[0084] 下面,参照图7来描述根据本发明第一实施例的在使用不同语言的机器之间同步GUI操作的设备。该设备可以分别被包含在主要语言机器组12和次要语言机器组13中的各台机器中,或者可以可操作地耦接到各台机器,以便将在操作机器11上执行的GUI操作同步到各台机器上。在下文中,以该 设备包含在机器121中为例来进行描述。
[0085] 如图7所示,同步设备70包括接收装置71、匹配装置72、识别装置73以及执行装置74。这些装置可以分别按照上文所述的方式执行参照图3和图4描述的方法的各个步骤,因此在下文中将进行简要的描述,并且省略对相同部分的描述。
[0086] 接收装置71从操作机器11接收对操作机器11执行的GUI操作的操作信息。所述操作信息包括对象信息和动作信息,所述对象信息表示GUI操作所针对的GUI对象,所述动作信息表示该GUI操作对所述GUI对象执行的动作。由于操作机器11使用英语,因此所接收的对象信息为英语信息。
[0087] 转换装置72将英语对象信息转换为汉语对象信息。这一转换是为了能够在用汉语显示的GUI上定位GUI对象。具体地,通过将对象信息中(在使用对象标签字段的情况下,在对象标签字段中)的值(即,英语的GUI对象内容)转换为汉语中的译文来实现这一转换。
[0088] 图8示出了转换装置72的具体结构。如图8所示,转换装置72可以包括查找单元721、提取单元722和替换单元723。
[0089] 查找单元721接收从接收装置发送的GUI操作的操作信息,并且在译文表中找出包含该操作信息包含的对象信息中的GUI对象内容的条目。这里的译文表与上文所述相同,因此省略其详细描述。
[0090] 提取单元722从查找单元721找出的条目中,提取与所述GUI操作所针对的GUI对象的GUI对象内容(英语内容)在汉语中的译文。
[0091] 替换单元723利用该汉语译文替换对象信息中的GUI对象内容,从而将英语对象信息转换为汉语对象信息。
[0092] 返回图7,转换装置72将转换后的汉语对象信息输出到识别装置73。识别装置73根据该汉语对象信息,在机器121显示的GUI中识别GUI对象。具体地,识别装置72可以通过在机器121显示的GUI中搜索具有该汉语对象信息中的对象类型和GUI对象内容(对象标签值)的GUI对象,来进行这一识别。
[0093] 此外,识别装置73还确定是否成功地识别出GUI对象。如果没有识别出GUI对象,这意味着转换装置72之前在译文表中找到的译文是不正确的。因此,识别装置73指示转换装置72再次执行将英语对象信息再次转换为汉语对象信息的处理。响应于该指示,转换装置72中的查找单元721访问译文 表,并且在译文表中找出除了之前找出的条目以外的、包含所接收的英语对象信息中的GUI对象内容的下一条目,提取单元722从该下一条目中提取所述GUI对象内容在汉语中的译文,然后替换单元723利用该汉语译文替换英语对象信息中的GUI对象内容,并且将由此获得的汉语对象信息输出到识别装置73。根据该再次转换的汉语对象信息,识别装置73在机器121上显示的GUI中识别GUI对象,并且再次确定是否识别出GUI对象。转换装置72和识别装置73重复上述操作,直到识别出GUI对象为止。
[0094] 另一方面,如果成功地识别GUI对象,这意味着转换装置72在译文表中找到的译文是正确的。因此,识别装置73可以向执行装置74发出信号,使得执行装置74对所识别出的GUI对象执行由对象信息中的动作信息表示的动作。这样,通过根据本发明第一实施例的设备,将在操作机器11上执行的GUI操作自动地同步到机器121上。
[0095] 以同样的方式,通过上述设备,可以将在操作机器11上执行的GUI操作自动地同步到主要语言机器组12中的其他机器和次要语言机器组13中的各台机器上。
[0096] 同样,为了避免每次执行GUI操作的同步时,都一次或更多次地访问译文表,提出了根据本发明第二实施例的同步GUI操作的设备,该设备在执行GUI操作的同步时,利用上文所述的匹配表,并且仅在必要时才访问译文表。
[0097] 图9示出了根据本发明第二实施例的用于在使用不同语言的机器之间同步GUI操作的设备,该设备可以被包括在主要语言机器组12中的最先同步GUI操作的机器(例如机器121)中,或者可操作地耦接到该机器。
[0098] 如图9所示,设备90包括接收装置91、匹配装置92、识别装置93、执行装置94以及匹配表处理装置95,其中接收装置91、匹配装置92、识别装置93以及执行装置94分别与图7所示的接收装置71、匹配装置72、识别装置73以及执行装置74相同,它们按照参照图7描述的方式执行GUI操作的同步,在这里省略其描述。
[0099] 匹配表处理装置95建立匹配表。该匹配表与上文所述的匹配表相同。具体地,当利用该汉语对象信息识别出GUI对象时,匹配表处理装置95将该GUI操作的操作ID与针对该GUI操作而在译文表中所找出的对应条目(即,与该GUI操作匹配的条目)的译文表ID相关联地记录在匹配表中。匹配表处理装置95对于每个GUI操作都进行上述操作,从而可以形成如上表2所 示的匹配表,以供后续机器在同步GUI操作时使用。
[0100] 图10示出了根据本发明第二实施例的用于在使用不同语言的机器之间同步GUI操作的另一设备,该设备可以被包括在主要语言机器组12中除了最先执行GUI操作同步的机器以外的其他机器(例如机器122和123)中,或者可操作地耦接到所述其他机器。在下文中,以该设备包括在机器122中为例进行说明,并且假设机器122使用德语。
[0101] 如图10所示,设备200包括接收装置201、匹配装置202、识别装置203、执行装置204以及匹配表处理装置205。
[0102] 接收装置201接收对操作机器11执行的GUI操作的操作信息。
[0103] 转换装置202将该操作信息中包括的英语对象信息转换为德语对象信息。与第一实施例的设备70不同,转换装置202在进行该转换时,使用匹配表来获得与GUI操作所针对的GUI对象的内容的译文,并且只有使用匹配表找到的译文不正确时,才在译文表中检索与GUI对象的内容对应的译文。
[0104] 图11示出了转换装置202的结构的框图。如图11所示,转换装置202包括查找单元2021、提取单元2022和替换单元2023。当从接收装置202接收到GUI操作的操作信息时,查找单元2021访问匹配表,并且在匹配表中找出与该GUI操作的操作ID相对应的译文表ID。提取单元2022访问译文表,并且从所述译文表ID指示的译文表条目中提取对象信息中包含的英语GUI对象内容在德语中的译文。然后,替换单元2023利用该德语译文替换英语对象信息中包含的英语内容,从而将英语对象信息转换为德语对象信息。
[0105] 返回图10,识别装置203根据转换装置202输出的德语对象信息,在机器122上显示的GUI中识别GUI对象。然后,识别装置203确定是否识别出GUI对象。
[0106] 如果识别出GUI对象,则执行装置204对所识别的对象执行由动作信息表示的动作。由此,利用匹配表将在操作机器11上执行的GUI操作快速同步到机器122上。
[0107] 反之,如果没有识别出GUI对象,则这意味着由于一词多义等原因导致根据匹配表找出的译文不正确。此时,识别装置203指示转换装置202重新进行对象信息的转换。响应于该指示,转换装置202中的查找单元2021访问译文表,以便在其中找出除了根据匹配表找出的条目以外的、包含英语GUI对象内容的下一条目。然后,提取单元2022从所述下一条目中提取该GUI 对象内容在德语中的译文,替换单元2023利用该德语译文替换对象信息的英语GUI对象内容,从而将英语对象信息再次转换为德语对象信息。识别装置203利用该再次转换的德语对象信息,在机器122上显示的GUI中识别GUI对象,并且确定是否成功地识别出GUI对象。如果仍然没有识别出GUI对象,则识别装置203指示转换装置再次执行在译文表中搜索译文的上述过程,直到识别出GUI对象为止。
[0108] 另一方面,如果成功地识别出GUI对象,则执行装置204对该对象执行动作信息表示的动作,从而将该GUI操作同步到机器122上。此外,识别装置203还指示匹配表处理装置205将匹配表中与所述操作ID相关联地存储的译文表ID替换为从译文表找出的与GUI操作匹配的条目的译文表ID,以更新该匹配表。
[0109] 这样,通过设备200,可以将在操作机器11上执行的GUI操作同步到机器122上,并且可以在必要时更新匹配表,从而提高其条目的正确率。
[0110] 根据本发明第二实施例的上述设备通过利用在先执行GUI操作同步的机器/设备建立或更新的匹配表,可以快速地找到GUI对象的内容的正确译文,这加快了GUI操作同步的速度,提高了GUI操作同步的效率。
[0111] 主要语言机器组12中的其他机器和次要语言机器组13中的各台机器也可以分别包括与设备200相同的设备,并且通过这些设备将GUI操作同步到各台机器上。优选地,这些设备依序执行GUI操作的同步,使得每个机器在同步GUI操作时,使用之前的机器更新过的匹配表。
[0112] 如上文所述,当主要语言机器组中包括不超过四台机器(优选为三台机器)并且这些机器通过上述设备完成了GUI操作的同步和/或匹配表的更新之后,匹配表中的记录的准确性已经足够高,因此,次要语言机器组13中的各台机器也可以只利用该匹配表来执行GUI操作的同步,而不再执行匹配表的更新,这进一步缩短了在所有机器中同步GUI操作所需的时间。
[0113] 可见,利用根据本发明实施例的上述方法和设备,可以将在操作机器上执行的GUI操作自动地同步到使用不同语言的其他机器上,这使得用户不需要对使用不同语言的机器重复执行相同的GUI操作,不仅减少了多语言测试的工作量,而且降低了出错概率,提高了工作效率。
[0114] 应当注意,上述实施例只是说明性的,而不是限制性的。尽管在上文中假设机器121使用英语,机器122使用德语,机器123使用阿拉伯语,但这 只是为了便于说明。实际上,这些机器可以使用任何其他语言。此外,上述设备的各个组成部件可以被进一步细分为更多的子模块,只要这些子模块可以彼此协作以完成上述功能即可。或者,上述设备的组成部件也可以被组合为更大的模块,例如PII匹配引擎,该PII匹配引擎可以按照上文所述的方式操作,从而将在操作机器11上执行的GUI操作同步到其他各个机器上。
[0115] 附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0116] 以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。