CN106294178A - 自动化测试方法和装置 - Google Patents
自动化测试方法和装置 Download PDFInfo
- Publication number
- CN106294178A CN106294178A CN201610702138.5A CN201610702138A CN106294178A CN 106294178 A CN106294178 A CN 106294178A CN 201610702138 A CN201610702138 A CN 201610702138A CN 106294178 A CN106294178 A CN 106294178A
- Authority
- CN
- China
- Prior art keywords
- language
- test item
- text
- test
- flag
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种自动化测试方法和装置,其中,该方法包括:获取测试项的目标语言,以及所述测试项的文本标识;调取所述测试项的目标语言所对应的语言配置文件;根据所述文本标识,从调取的语言配置文件中提取所述测试项在所述目标语言下对应的文本信息;根据提取出的文本信息完成所述测试项的自动化测试。本发明的方案,可支持多语言的自动化测试,简化测试流程,提高自动化测试效率。
Description
技术领域
本发明涉及自动化测试技术领域,具体而言,本发明涉及一种自动化测试方法和装置。
背景技术
随着软件产品的国际化扩展趋势,目前,针对不同的国家和地区,往往会发布支持不同语言的软件产品(本文中也可称为多语言产品),且在软件产品发布之前对处于不同语言下的软件产品进行软件测试。
为了节省人力、时间或硬件资源,提高测试效率,便引入了把以人为驱动的测试行为转化为机器执行的自动化测试,即软件测试的自动化。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步一步执行测试,得到实际结果与期望结果的比较。
本发明的发明人发现,在多语言产品的产品逻辑判断(比如,文字显示、界面跳转逻辑等是否准确)、自动化窗口和自动化测试环境的窗口句柄通过文字定位等自动化测试场景中,产品不同语言在不同的测试环境(***语言多样化),自动化的实现是不一样的。而现有的自动化测试框架中,通常仅只支持一种语言,甚至是自定格式的语言,而不支持其他语言的产品测试。例如,在中文版的测试框架,仅支持中文下的产品测试,即要求在中文测试环境中多语言产品当前的测试项的语言为中文;若多语言产品当前的测试项的语言不是中文,中文版的测试框架进行测试时将受到一些限制。比如,窗口的文字通常与产品当前的语言是一致的,若在其他语言下的测试框架中进行测试,打开运行窗口的界面动作可能会受到限制。
因此,现有技术中,若要完成多语言产品的自动化测试,则需要针对多语言产品的不同语言,采用不同的测试框架进行单独测试,导致多语言产品的测试流程较为繁琐。
发明内容
针对上述现有技术存在的缺陷,本发明提供了一种自动化测试方法和装置,可支持多语言的自动化测试,简化测试流程,提高自动化测试效率。
本发明提供了一种自动化测试方法,其特征在于,包括:
获取测试项的目标语言,以及所述测试项的文本标识;
调取所述测试项的目标语言所对应的语言配置文件;
根据所述文本标识,从调取的语言配置文件中提取所述测试项在所述目标语言下对应的文本信息;
根据提取出的文本信息完成所述测试项的自动化测试。
较佳地,所述测试项的文本标识由用户输入,或
通过如下方式获取:
获取测试项对应的参考文本信息;
识别所述参考文本信息的语言,并调取识别出的语言所对应的语言配置文件;
从该语言配置文件中查找出所述参考文本信息所对应的文本标识,并作为所述测试项的文本标识。
较佳地,所述测试项的目标语言所对应的语言配置文件具体为预先配置的测试项的目标语言所对应的语言配置文件;和/或由所述测试项的源码生成的语言配置文件。
较佳地,所述测试项在所述目标语言下对应的文本信息的文字编码方式为万国码utf-8编码方式。
较佳地,所述获取测试项对应的参考文本信息之后,所述自动化测试方法还包括:
将所述参考文本信息的文字编码方式统一为utf-8编码方式。
较佳地,所述测试项属于多语言产品、多语言的测试环境中的至少一项。
较佳地,所述测试项具体为多语言产品的测试项时,所述测试项的文本标识指向多语言产品的点击事件、逻辑判断、软件窗口查找、或***窗口查找中的至少一项。
较佳地,所述语言配置文件采用可扩展标记语言xml格式。
根据本发明的另一方面,还提供了一种自动化测试装置,该装置包括:
目标语言获取单元,用于获取测试项的目标语言;
文本标识获取单元,用于获取所述测试项的文本标识;
配置文件调取单元,用于调取所述测试项的目标语言所对应的语言配置文件;
文本信息查找单元,用于根据所述文本标识获取单元获取的测试项的文本标识,从所述配置文件调取单元调取的语言配置文件中提取所述测试项在所述目标语言下对应的文本信息;
自动化测试单元,用于根据文本信息查找单元提取出的测试项在所述目标语言下对应的文本信息进行自动化测试。
较佳地,所述文本标识获取单元具体包括:
文本获取子单元,用于获取测试项对应的参考文本信息;
配置查找子单元,用于识别所述参考文本信息的语言,并调取识别出的语言所对应的语言配置文件;
标识确定子单元,用于从配置查找子单元调取的语言配置文件中查找出参考文本信息所对应的文本标识,并作为所述测试项的文本标识。
较佳地,所述文本标识获取单元还包括:
编码统一子单元,用于将所述文本获取子单元获取的参考文本信息的文字编码方式统一为utf-8编码方式。
较佳地,所述文本标识获取单元接收由用户输入的测试项的文本标识。
较佳地,所述测试项的目标语言所对应的语言配置文件具体为预先配置的测试项的目标语言所对应的语言配置文件;和/或由所述测试项的源码生成的语言配置文件。
较佳地,所述测试项在所述目标语言下对应的文本信息的文字编码方式为utf-8编码方式。
较佳地,所述测试项属于多语言产品、多语言的测试环境中的至少一项。
较佳地,所述测试项具体为多语言产品的测试项时,所述测试项的文本标识指向多语言产品的点击事件、逻辑判断、软件窗口查找、或***窗口查找中的至少一项。
较佳地,所述语言配置文件采用xml格式。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明提供的自动化测试方法的流程示意图;
图2为本发明提供的一种文本标识获取方法的流程示意图;
图3为本发明提供的自动化测试装置的结构示意图;
图4a、4b为本发明提供的文本标识获取单元的两种结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信***),其可以组合语言、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位***)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本技术领域技术人员可以理解,这里所使用的远端网络设备,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本发明的实施例中,远端网络设备、终端设备与WNS服务器之间可通过任何通信方式实现通信,包括但不限于,基于3GPP、LTE、WIMAX的移动通信、基于TCP/IP、UDP协议的计算机网络通信以及基于蓝牙、红外传输标准的近距无线传输方式。
本发明的发明人发现,实际应用中,多语言产品虽然具有多种语言版本,但其测试项在本质上往往是一致的,即测试项可配置唯一对应的文本标识(本文中也可称为测试项的文本标识),文本标识指向唯一的测试项。同样地,对于多语言的测试环境的测试项也可配置唯一对应的文本标识。
由于同一测试项在不同语言下配置的可描述测试项的文本信息虽然在语言上表现不同,但均指向该测试项。因此,本发明的发明人考虑,可以针对每种语言,构建该测试项在该种语言下对应的文本信息与该测试项的文本标识的对应关系。这样,后续可以根据文本标识查找出文本标识所指向的测试项在各种语言下对应的文本信息。其中,测试项属于多语言产品、多语言的测试环境中的至少一项。
继而,多语言产品或多语言的测试环境的自动化测试过程中,在确定多语言产品或多语言的测试环境的当前待测试的语言后,可以获取当前的测试项的文本标识;根据该文本标识获取该测试项在当前的语言下对应的文本信息。这样,即使在多语言产品当前的语言与测试框架的语言不一致的情况下,可以基于上述方法获取的测试项在当前的语言下对应的文本信息完成自动化测试,而无需针对多语言产品的不同待测试的语言,采用不同的测试框架进行单独测试,简化了多语言产品的测试流程。
下面结合附图来详细说明本发明的技术方案。
本发明的发明人考虑,针对多语言产品或多语言的测试环境,自动化测试需要提出适用的多语言支持方案,而无需针对不同语言在不同的测试框架上进行逐个测试,以此简化自动化测试的测试流程,提高自动化测试效率。
因此,为了提供可支持多语言的自动化测试方案,可以针对不同语言,在用于自动化测试的机器或虚拟机的测试框架中预先配置对应的语言配置文件。这样,后续可以通过调用语言配置文件来获取用于完成测试项的自动化测试的文本信息,简化自动化测试流程。
例如,对于多语言产品或多语言的测试环境,可以预先确定出自动化测试中需要进行测试的测试项,以及需要测试的各种语言;针对每个测试项,获取该测试项的文本标识、以及测试项在各种语言下对应的文本信息;针对每种语言,构建该测试项的文本标识与该测试项在该种语言下对应的文本信息之间的对应关系,并存储于该种语言所对应的语言配置文件中。
这样,在确定出需要测试的测试项后,可以通过如图1所示的自动化测试方法完成自动化测试,自动化测试方法的具体流程可以包括如下步骤:
S101:获取测试项的目标语言,以及测试项的文本标识。
本发明提供的自动化测试方案可适用于多语言产品的自动化测试,也适用于多语言测试环境。因此,本发明的方案中,测试项属于多语言产品、多语言的测试环境中的至少一项。测试项可以是多语言产品或多语言的测试环境当前需要进行测试的测试项。测试项具体为多语言产品的测试项时,测试项的文本标识指向多语言产品的点击事件、逻辑判断、软件窗口查找、***窗口查找中的至少一项。
为了获取测试项在目标语言下对应的文本信息以进行自动化测试,可以首先获取测试项的目标语言,以及测试项的文本标识。这样,以便后续根据文本标识直接从预先配置的语言配置文件中提取出测试项在目标语言下对应的文本信息。
其中,测试项的目标语言指的是测试项需要完成自动化测试的语言,比如,英文、简体中文、繁体中文、葡萄牙语、越南语等。实际应用中,测试项的目标语言可与测试项所属多语言产品或者多语言的测试环境当前需要测试的语言一致。例如在多语言产品进行自动化测试时,确定多语言产品当前打开的语言为测试项的目标语言。测试项的目标语言可以通过多语言产品或者多语言的测试环境当前的语言的识别来获取。
测试项的文本标识是为测试项配置的唯一标识,文本标识指向唯一的测试项。虽然测试项在不同语言下配置的可描述测试项的文本信息不同,但测试项的文本标识在不同语言下是不变的。
本发明的方案中,测试项的文本标识的获取方式有两种:
方式一,由用户输入测试项的文本标识。
实际应用中,在测试人员非常了解测试项的文本标识的情况下,为了加快获取测试项在目标语言下对应的文本信息,测试人员可以直接输入测试项的文本标识,例如控件ID(Identity,身份标识号码)。
方式二,基于测试项的参考文本信息识别出测试项的文本标识。
本发明的方案中,关于如何基于测试项的参考文本信息识别出测试项的文本标识的方法,将在后续详述。
S102:调取测试项的目标语言所对应的语言配置文件。
本发明的方案中,针对不同语言,存在对应的语言配置文件。其中,每种语言的语言配置文件中存储了测试项的文本标识、测试项在该语言下对应的文本信息,以及测试项的文本标识与文本信息之间的对应关系。
因此,为了获取测试项在目标语言下对应的文本信息,可以基于步骤S101获取的目标语言,调取测试项的目标语言所对应的语言配置文件。
本发明的方案中,测试项的目标语言所对应的语言配置文件具体为预先配置的测试项的目标语言所对应的语言配置文件;和/或由测试项的源码生成的语言配置文件。
实际应用中,关于***的测试项的目标语言所对应的语言配置文件通常通过手动配置;而关于软件的测试项的目标语言所对应的语言配置文件通常通过源码自动生成。
实际应用中,语言配置文件可采用本领域技术人员常用的文件格式进程存储;但无论采用哪种文件格式,语言配置文件中所包含的必要内容不可缺少,即必须包括:测试项的文本标识、测试项在该语言下对应的文本信息,以及测试项的文本标识与文本信息之间的对应关系。显然,实际应用中,语言配置文件中除了包括必要内容,还可以包括其他内容,比如版本、编码方式等。
优选地,本发明的方案中,语言配置文件可以自采用自定义的xml(extensiblemarkup language,可扩展标记语言)格式,例如:
<?xml version="1.0"encoding="utf-8"?>
<resource>
<string id=“控件id信息”name=“控件描述”>控件文本信息text</string>
</resource>
其中,空间id信息为测试项的文本标识;控件文本信息为测试项在语言配置文件所属语言下对应的文本信息。
本发明的方案中,采用xml格式语言配置文件定义简洁,而且便于用户根据需要进行修改扩展。通过语言配置文件,输入测试项的文本标识,即可输出该测试项在该语言配置文件所对应的语言下对应的文本信息,大大简化了程序的设计,缩短开发的过程,易于理解。
考虑到,在实际开发过程中,自动化测试可能会涉及到多个产品或***,而这些产品或***的编码方式不一定一致,比如中文***采用GBK(国家标准扩展码)编码方式,繁体中文***采用BIG5(大五码)编码方式。因此,实际应用中,在自动化测试过程中还涉及到了编码的转换。
本发明的方案中,为了进一步加快自动化测试,可以采用统一的编码方式,比如,utf-8(8-bit Unicode Transformation Format,万国码)的编码方式。测试项在目标语言下对应的文本信息的文字编码方式为utf-8编码方式。我们从不同的产品中获取不一致的编码格式,但是所有的文字编码到达本***后,都采用utf-8编码方式。这样有利于程序的编写,避免了编码方式的混乱,逻辑更加清晰,提高测试效率。
S103:根据测试项的文本标识,从调取的语言配置文件中提取测试项在目标语言下对应的文本信息。
由于语言配置文件中存储了测试项的文本标识、测试项在该语言下对应的文本信息,以及测试项的文本标识与文本信息之间的对应关系。因此,本发明的方案中,在通过步骤S102调取出测试项的目标语言所对应的语言配置文件之后,可以查找调取的语言配置文件中是否存在测试项的文本标识;若存在,则从语言配置文件中提取出该文本标识所对应的文本信息,即文本标识所指向的测试项在目标语言下对应的文本信息。若不存在,则可以进一步解析测试项的源码,尝试得到测试项在目标语言下对应的文本信息。
S104:根据提取出的文本信息完成测试项的自动化测试。
在通过步骤S103得到测试项在目标语言下对应的文本信息后,可按照本领域常用技术手段来完成测试项的自动化测试,比如自动化寻找窗口。
实际应用中,本发明提供的自动化测试方案可支持扩展语言和扩展功能的自动化测试。例如,如果需要扩展其他语言,可针对每个测试项,通过其在目前已存在的语言下的文本信息进行翻译,得到扩展语言下的文本信息,并配置得到相应的语言配置文件,即可支持扩展语言下的自动化测试,扩展方便简洁。进一步地,如果需要扩展产品功能,可以将扩展功能作为新的测试项,确定出该测试项在各种语言下的文本信息,并对应添加到各种语言的语言配置文件中,无需大范围修改代码,扩展方便。
本发明提供的自动化测试方法,由于测试框架中存在测试项在待测试的语言(目标语言)所对应的语言配置文件,这样,在多语言产品或多语言的测试环境的待测试的语言与测试框架的语言不一致的情况下,也可以得到测试项在目标语言下用于完成自动化测试的文本信息。例如,在没有越南语的虚拟机测试框架下,一个越南语的软件,可在葡萄牙语的虚拟机里进行英文界面的自动化测试。相较于现有针对多语言产品的不同语言采用不同的测试框架进行单独测试,本发明提供的自动化测试方案可支持多语言产品的多种语言的测试,简化了测试流程,提高了测试效率。
关于步骤S101中提及的基于测试项的参考文本信息识别出测试项的文本标识的方法,如图2所示,其具体流程可以包括如下步骤:
S201:获取测试项对应的参考文本信息。
本发明的方案中,当测试人员不熟悉测试项的文本标识的情况下,可以获取测试项在目标语言以外的语言下对应的文本信息作为用于识别测试项的文本标识的参考文本信息。例如,若要测试的是查找英文窗口,可以预先获取该窗口在简体中文下对应的文本信息作为参考文本信息。或者,可以直接接收测试人员直接输入的测试项对应的参考文本信息。
进一步地,本发明的方案中,若语言配置文件中的存储的文本信息的文字编码方式为utf-8编码方式,则在获取测试项对应的参考文本信息之后,还可以将获取的参考文本信息的文字编码方式统一为utf-8编码方式,以便后续快捷操作。
S202:识别参考文本信息的语言,并获取识别出的语言所对应的语言配置文件。
考虑到,在测试框架中预先存储有各种语言所各自对应的语言配置文件,且语言配置文件中存储了测试项的文本标识,以及测试项在该语言下对应的文本信息,以及测试项的文本标识与文本信息之间的对应关系。
因此,本发明的方案中,为了获取测试项的文本标识,在通过步骤S201获取测试项的参考文本信息之后,可以识别出参考文本信息的语言;继而,调取出参考文本信息的语言所对应的语言配置文件。
S203:从语言配置文件中查找出参考文本信息所对应的文本标识,并作为测试项的文本标识。
本发明的方案中,可以遍历语言配置文件,查找是否存在与参考文本信息一致的文本语言;若存在,则可以进一步查找出该文本语言所对应的文本标识,即参考文本信息所对应的文本标识。实际应用中,查找出的文本语言所对应的文本标识指向唯一的测试项,即查找出的文本标识为测试项的文本标识。
基于上述自动化测试方法,本发明还提供了一种自动化测试装置,如图3所示,自动化测试装置可以包括:目标语言获取单元301、文本标识获取单元302、配置文件调取单元303、文本信息查找单元304、自动化测试单元305。
本发明的方案中,为了提供可支持多语言的自动化测试装置,可以针对不同语言,预先配置对应的语言配置文件。这样,后续可以通过调用语言配置文件来获取用于完成测试项的自动化测试的文本信息,简化自动化测试流程。
例如,对于多语言产品或多语言的测试环境,可以预先确定出自动化测试中需要进行测试的测试项,以及需要测试的各种语言;针对每个测试项,获取该测试项的文本标识,以及测试项在各种语言下对应的文本信息;针对每种语言,构建该测试项的文本标识与该测试项在该种语言下对应的文本信息之间的对应关系,并存储于该种语言所对应的语言配置文件中。
这样,自动化测试装置在确定出需要测试的测试项后,可以基于语言配置文件的使用来完成测试项的自动化测试。
具体地,目标语言获取单元301用于获取测试项的目标语言;文本标识获取单元302用于获取测试项的文本标识。
本发明提供的自动化测试装置可适用于多语言产品的自动化测试,也适用于多语言测试环境。因此,本发明的方案中,测试项属于多语言产品、多语言的测试环境中的至少一项。测试项可以是多语言产品或多语言的测试环境当前需要进行测试的测试项。测试项具体为多语言产品的测试项时,测试项的文本标识指向多语言产品的点击事件、逻辑判断、软件窗口查找、***窗口查找中的至少一项。
为了获取测试项在目标语言下对应的文本信息以进行自动化测试,可以首先获取测试项的目标语言,以及测试项的文本标识。这样,以便后续根据文本标识直接从预先配置的语言配置文件中提取出测试项在目标语言下对应的文本信息。
其中,测试项的目标语言指的是测试项需要完成自动化测试的语言,比如,英文、简体中文、繁体中文、葡萄牙语等。实际应用中,一般是指测试项所属多语言产品或者多语言的测试环境当前需要测试的语言。例如在多语言产品进行自动化测试时,确定多语言产品当前打开的语言为测试项的目标语言。目标语言获取单元301可以通过多语言产品或者多语言的测试环境当前的语言的识别来获取测试项的目标语言。
测试项的文本标识是为测试项配置的唯一标识,文本标识指向唯一的测试项。虽然测试项在不同语言下配置的可描述测试项的文本信息不同,但测试项的文本标识在不同语言下是不变的。
本发明的方案中,文本标识获取单元302可以通过如下至少一种方式获取测试项的文本标识:
方式一,接收用户输入的测试项的文本标识。
实际应用中,在测试人员非常了解测试项的文本标识的情况下,为了加快获取测试项在目标语言下对应的文本信息,测试人员可以直接输入测试项的文本标识,例如控件ID(Identity,身份标识号码)。
方式二,基于测试项的参考文本信息识别出测试项的文本标识。
本发明的方案中,关于如何基于测试项的参考文本信息识别出测试项的文本标识的方法,将在后续详述。
配置文件调取单元303用于调取测试项的目标语言所对应的语言配置文件。
本发明的方案中,针对不同语言,存在对应的语言配置文件。其中,每种语言的语言配置文件中存储了测试项的文本标识,以及测试项在该语言下对应的文本信息,以及测试项的文本标识与文本信息之间的对应关系。
因此,为了获取测试项在目标语言下对应的文本信息,配置文件调取单元303可以基于目标语言获取单元301获取的目标语言,调取测试项的目标语言所对应的语言配置文件。
本发明的方案中,测试项的目标语言所对应的语言配置文件具体为预先配置的测试项的目标语言所对应的语言配置文件;和/或由测试项的源码生成的语言配置文件。
实际应用中,关于***的测试项的目标语言所对应的语言配置文件通常通过手动配置;而关于软件的测试项的目标语言所对应的语言配置文件通常通过源码自动生成。
文本信息查找单元304用于根据文本标识获取单元302获取的测试项的文本标识,从配置文件调取单元303调取的语言配置文件中提取测试项在目标语言获取单元301获取的目标语言下对应的文本信息。
由于语言配置文件中存储了测试项的文本标识、测试项在该语言下对应的文本信息,以及测试项的文本标识与文本信息之间的对应关系。因此,本发明的方案中,文本信息查找单元304可以查找配置文件调取单元303调取的语言配置文件中是否存在测试项的文本标识;若存在,则从语言配置文件中提取出该文本标识所对应的文本信息,即文本标识所指向的测试项在目标语言下对应的文本信息。若不存在,则可以进一步解析测试项的源码,尝试得到测试项在目标语言下对应的文本信息。
自动化测试单元305用于根据文本信息查找单元提304取出的测试项在目标语言获取单元301获取的目标语言下对应的文本信息进行自动化测试。
实际应用中,自动化测试单元305可按照本领域常用技术手段基于文本信息查找单元304提取的测试项在目标语言下对应的文本信息来完成测试项的自动化测试,比如自动化寻找窗口。
实际应用中,本发明提供的自动化测试装置可支持扩展语言和扩展功能的自动化测试。例如,如果需要扩展其他语言,可针对每个测试项,通过其在目前已存在的语言下的文本信息进行翻译,得到扩展语言下的文本信息,并配置得到相应的语言配置文件,即可支持扩展语言下的自动化测试,扩展方便简洁。进一步地,如果需要扩展产品功能,可以将扩展功能作为新的测试项,确定出该测试项在各种语言下的文本信息,并对应添加到各种语言的语言配置文件中,无需大范围修改代码,扩展方便。
本发明的方案中,语言配置文件可采用本领域技术人员常用的文件格式进程存储;但无论采用哪种文件格式,语言配置文件中所包含的必要内容不可缺少,即必须包括:测试项的文本标识,以及测试项在该语言下对应的文本信息,以及测试项的文本标识与文本信息之间的对应关系。显然,实际应用中,语言配置文件中除了包括必要内容,还可以包括其他内容,比如版本、编码方式等。
优选地,本发明的方案中,语言配置文件可以自采用自定义的xml(extensiblemarkup language,可扩展标记语言)格式,例如:
<?xml version="1.0"encoding="utf-8"?>
<resource>
<string id=“控件id信息”name=“控件描述”>控件文本信息text</string>
</resource>
其中,空间id信息为测试项的文本标识;控件文本信息为测试项在语言配置文件所属语言下对应的文本信息。
本发明的方案中,采用xml格式语言配置文件定义简洁,而且便于用户根据需要进行修改扩展。通过语言配置文件,输入测试项的文本标识,即可输出该测试项在该语言配置文件所对应的语言下对应的文本信息,大大简化了程序的设计,缩短开发的过程,易于理解。
考虑到,在实际开发过程中,自动化测试可能会涉及到多个产品或***,而这些产品或***的编码方式不一定一致,比如中文***采用GBK编码方式,繁体中文***采用BIG5编码方式。因此,实际应用中,在自动化测试过程中还涉及到了编码的转换。
本发明的方案中,为了进一步加快自动化测试,可以采用统一的编码方式,比如,utf-8的编码方式。测试项在目标语言下对应的文本信息的文字编码方式为utf-8编码方式。我们从不同的产品中获取不一致的编码格式,但是所有的文字编码到达本***后,都采用utf-8编码方式。这样有利于程序的编写,避免了编码方式的混乱,逻辑更加清晰,提高测试效率。
本发明的方案中,文本标识获取单元302可支持两种方式来获取测试项的文本标识,若文本标识获取单元302基于参考文本信息来识别文本标识,则如图4a所示,本发明提供的文本标识获取单元302具体可以包括:文本获取子单元401、配置查找子单元402和标识确定子单元403。
其中,文本获取子单元401用于获取测试项对应的参考文本信息;配置查找子单元402用于识别参考文本信息的语言,并调取识别出的语言所对应的语言配置文件;标识确定子单元403用于从配置查找子单元调取的语言配置文件中查找出参考文本信息所对应的文本标识,并作为测试项的文本标识。
具体地,当测试人员不熟悉测试项的文本标识的情况下,可以获取测试项在目标语言以外的语言下对应的文本信息作为用于识别测试项的文本标识的参考文本信息。例如,若要测试的是查找英文窗口,可以预先获取该窗口在简体中文下对应的文本信息作为参考文本信息。或者,可以直接接收测试人员直接输入的测试项对应的参考文本信息。
其中,若语言配置文件中的存储的文本信息的文字编码方式为utf-8编码方式,则在获取测试项对应的参考文本信息之后,还可以将获取的参考文本信息的文字编码方式统一为utf-8编码方式,以便后续快捷操作。
具体地,如图4b所示,文本标识获取单元302除了包括:文本获取子单元401、配置查找子单元402、标识确定子单元403,还可以进一步包括:编码统一子单元404。
编码统一子单元404用于将文本获取子单元401获取的参考文本信息的文字编码方式统一为utf-8编码方式。
考虑到,在测试框架中预先存储有各种语言所各自对应的语言配置文件,且语言配置文件中存储了测试项的文本标识,以及测试项在该语言下对应的文本信息,以及测试项的文本标识与文本信息之间的对应关系。
因此,本发明的方案中,为了获取测试项的文本标识,配置查找子单元402可以对文本获取子单元获取的参考文本信息进行识别,识别出参考文本信息的语言;继而,调取出参考文本信息的语言所对应的语言配置文件。
继而,标识确定子单元403可以遍历配置查找子单元调取出的语言配置文件,查找是否存在与参考文本信息一致的文本语言;若存在,则可以进一步查找出该文本语言所对应的文本标识,即参考文本信息所对应的文本标识。实际应用中,查找出的文本语言所对应的文本标识指向唯一的测试项,即查找出的文本标识为测试项的文本标识。
本发明的方案中,自动化测试装置中的各单元,以及单元下的子单元的具体功能实现,可以参考自动化测试方法中各步骤的具体实现,在此不再赘述。
本发明提供的自动化测试方案,由于测试框架中存在测试项在待测试的语言(目标语言)所对应的语言配置文件,这样,在多语言产品或多语言的测试环境的待测试的语言与测试框架的语言不一致的情况下,也可以得到测试项在目标语言下用于完成自动化测试的文本信息。相较于现有针对多语言产品的不同语言采用不同的测试框架进行单独测试,本发明提供的自动化测试方案可支持多语言产品的多种语言的测试,简化了测试流程,提高了测试效率。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种自动化测试方法,其特征在于,包括:
获取测试项的目标语言,以及所述测试项的文本标识;
调取所述测试项的目标语言所对应的语言配置文件;
根据所述文本标识,从调取的语言配置文件中提取所述测试项在所述目标语言下对应的文本信息;
根据提取出的文本信息完成所述测试项的自动化测试。
2.根据权利要求1所述的方法,其特征在于,所述测试项的文本标识由用户输入,或
通过如下方式获取:
获取测试项对应的参考文本信息;
识别所述参考文本信息的语言,并调取识别出的语言所对应的语言配置文件;
从该语言配置文件中查找出所述参考文本信息所对应的文本标识,并作为所述测试项的文本标识。
3.根据权利要求1所述的方法,其特征在于,所述测试项的目标语言所对应的语言配置文件具体为预先配置的测试项的目标语言所对应的语言配置文件;和/或由所述测试项的源码生成的语言配置文件。
4.根据权利要求1-3任一所述的方法,其特征在于,所述测试项属于多语言产品、多语言的测试环境中的至少一项。
5.根据权利要求4所述的方法,其特征在于,所述测试项具体为多语言产品的测试项时,所述测试项的文本标识指向多语言产品的点击事件、逻辑判断、软件窗口查找、或***窗口查找中的至少一项。
6.一种自动化测试装置,其特征在于,包括:
目标语言获取单元,用于获取测试项的目标语言;
文本标识获取单元,用于获取所述测试项的文本标识;
配置文件调取单元,用于调取所述测试项的目标语言所对应的语言配置文件;
文本信息查找单元,用于根据所述文本标识获取单元获取的测试项的文本标识,从所述配置文件调取单元调取的语言配置文件中提取所述测试项在所述目标语言下对应的文本信息;
自动化测试单元,用于根据文本信息查找单元提取出的测试项在所述目标语言下对应的文本信息进行自动化测试。
7.根据权利要求6所述的自动化测试装置,其特征在于,所述文本标识获取单元具体包括:
文本获取子单元,用于获取测试项对应的参考文本信息;
配置查找子单元,用于识别所述参考文本信息的语言,并调取识别出的语言所对应的语言配置文件;
标识确定子单元,用于从配置查找子单元调取的语言配置文件中查找出参考文本信息所对应的文本标识,并作为所述测试项的文本标识。
8.根据权利要求6所述的自动化测试装置,其特征在于,所述测试项的目标语言所对应的语言配置文件具体为预先配置的测试项的目标语言所对应的语言配置文件;和/或由所述测试项的源码生成的语言配置文件。
9.根据权利要求6所述的自动化测试装置,其特征在于,所述测试项在所述目标语言下对应的文本信息的文字编码方式为utf-8编码方式。
10.根据权利要求6-9任一所述的自动化测试装置,其特征在于,所述测试项属于多语言产品、多语言的测试环境中的至少一项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610702138.5A CN106294178A (zh) | 2016-08-22 | 2016-08-22 | 自动化测试方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610702138.5A CN106294178A (zh) | 2016-08-22 | 2016-08-22 | 自动化测试方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106294178A true CN106294178A (zh) | 2017-01-04 |
Family
ID=57661120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610702138.5A Pending CN106294178A (zh) | 2016-08-22 | 2016-08-22 | 自动化测试方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106294178A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107315681A (zh) * | 2017-06-09 | 2017-11-03 | 上海爱优威软件开发有限公司 | 应用程序自启动测试***、媒质和方法 |
CN108768764A (zh) * | 2018-05-08 | 2018-11-06 | 四川斐讯信息技术有限公司 | 一种路由器测试方法及装置 |
CN109634872A (zh) * | 2019-02-25 | 2019-04-16 | 北京达佳互联信息技术有限公司 | 应用测试方法、装置、终端及存储介质 |
CN111324535A (zh) * | 2020-02-18 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 一种控件异常检测方法、装置和计算机设备 |
CN112131869A (zh) * | 2020-09-02 | 2020-12-25 | 苏州好玩友网络科技有限公司 | 基于多语言的文本检测方法及装置 |
CN112633118A (zh) * | 2020-12-18 | 2021-04-09 | 上海眼控科技股份有限公司 | 一种文本信息提取方法、设备及存储介质 |
CN112882947A (zh) * | 2021-03-15 | 2021-06-01 | 深圳市腾讯信息技术有限公司 | 一种界面测试方法、装置、设备及存储介质 |
CN113268416A (zh) * | 2021-05-17 | 2021-08-17 | 深圳Tcl新技术有限公司 | 一种应用程序的测试方法、装置、存储介质及终端 |
CN113515443A (zh) * | 2021-04-21 | 2021-10-19 | 深圳市康冠商用科技有限公司 | 多国语言自动核对方法、装置、计算机设备及存储介质 |
CN116681051A (zh) * | 2023-05-23 | 2023-09-01 | 成都安易迅科技有限公司 | 一种应用程序的多语言测试方法及装置、存储介质、设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070061113A1 (en) * | 2005-08-25 | 2007-03-15 | International Business Machines Corporation | Enabling Test Script Play Back in Different Locales |
CN101369249A (zh) * | 2007-08-14 | 2009-02-18 | 国际商业机器公司 | 标识软件的gui部件的方法和装置 |
CN101916192A (zh) * | 2010-09-14 | 2010-12-15 | 深圳市华力特电气股份有限公司 | 用户界面的多语言切换方法和装置 |
CN102289376A (zh) * | 2011-09-16 | 2011-12-21 | 烽火通信科技股份有限公司 | 基于嵌入式的多语言web页面实现方法及*** |
CN102957773A (zh) * | 2011-08-29 | 2013-03-06 | 比亚迪股份有限公司 | 一种手机软件测试方法及*** |
CN105760293A (zh) * | 2014-12-19 | 2016-07-13 | 博雅网络游戏开发(深圳)有限公司 | 多语言平台测试的方法和*** |
-
2016
- 2016-08-22 CN CN201610702138.5A patent/CN106294178A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070061113A1 (en) * | 2005-08-25 | 2007-03-15 | International Business Machines Corporation | Enabling Test Script Play Back in Different Locales |
CN101369249A (zh) * | 2007-08-14 | 2009-02-18 | 国际商业机器公司 | 标识软件的gui部件的方法和装置 |
CN101916192A (zh) * | 2010-09-14 | 2010-12-15 | 深圳市华力特电气股份有限公司 | 用户界面的多语言切换方法和装置 |
CN102957773A (zh) * | 2011-08-29 | 2013-03-06 | 比亚迪股份有限公司 | 一种手机软件测试方法及*** |
CN102289376A (zh) * | 2011-09-16 | 2011-12-21 | 烽火通信科技股份有限公司 | 基于嵌入式的多语言web页面实现方法及*** |
CN105760293A (zh) * | 2014-12-19 | 2016-07-13 | 博雅网络游戏开发(深圳)有限公司 | 多语言平台测试的方法和*** |
Non-Patent Citations (1)
Title |
---|
何浩: "基于XML的UI测试工具的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107315681A (zh) * | 2017-06-09 | 2017-11-03 | 上海爱优威软件开发有限公司 | 应用程序自启动测试***、媒质和方法 |
CN108768764A (zh) * | 2018-05-08 | 2018-11-06 | 四川斐讯信息技术有限公司 | 一种路由器测试方法及装置 |
CN109634872A (zh) * | 2019-02-25 | 2019-04-16 | 北京达佳互联信息技术有限公司 | 应用测试方法、装置、终端及存储介质 |
CN109634872B (zh) * | 2019-02-25 | 2023-03-10 | 北京达佳互联信息技术有限公司 | 应用测试方法、装置、终端及存储介质 |
CN111324535B (zh) * | 2020-02-18 | 2022-02-25 | 腾讯科技(深圳)有限公司 | 一种控件异常检测方法、装置和计算机设备 |
CN111324535A (zh) * | 2020-02-18 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 一种控件异常检测方法、装置和计算机设备 |
CN112131869A (zh) * | 2020-09-02 | 2020-12-25 | 苏州好玩友网络科技有限公司 | 基于多语言的文本检测方法及装置 |
CN112131869B (zh) * | 2020-09-02 | 2021-09-10 | 苏州好玩友网络科技有限公司 | 基于多语言的文本检测方法及装置 |
CN112633118A (zh) * | 2020-12-18 | 2021-04-09 | 上海眼控科技股份有限公司 | 一种文本信息提取方法、设备及存储介质 |
CN112882947A (zh) * | 2021-03-15 | 2021-06-01 | 深圳市腾讯信息技术有限公司 | 一种界面测试方法、装置、设备及存储介质 |
CN112882947B (zh) * | 2021-03-15 | 2024-06-11 | 深圳市腾讯信息技术有限公司 | 一种界面测试方法、装置、设备及存储介质 |
CN113515443A (zh) * | 2021-04-21 | 2021-10-19 | 深圳市康冠商用科技有限公司 | 多国语言自动核对方法、装置、计算机设备及存储介质 |
CN113268416A (zh) * | 2021-05-17 | 2021-08-17 | 深圳Tcl新技术有限公司 | 一种应用程序的测试方法、装置、存储介质及终端 |
CN116681051A (zh) * | 2023-05-23 | 2023-09-01 | 成都安易迅科技有限公司 | 一种应用程序的多语言测试方法及装置、存储介质、设备 |
CN116681051B (zh) * | 2023-05-23 | 2024-08-20 | 成都安易迅科技有限公司 | 一种应用程序的多语言测试方法及装置、存储介质、设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106294178A (zh) | 自动化测试方法和装置 | |
US11244122B2 (en) | Reformatting of context sensitive data | |
CN103324613A (zh) | 用于应用的自动语言转化的***和方法 | |
CN103713958B (zh) | 在不同语言的机器间同步图形用户界面操作的方法和设备 | |
CN106202066A (zh) | 网站的翻译方法和装置 | |
CN104102881B (zh) | 一种基于内核对象链接关系的内存取证方法 | |
CN111753064A (zh) | 一种人机交互方法及其装置 | |
CN106294184A (zh) | 测试场景图形化创建方法、装置及终端设备 | |
CN109976840A (zh) | 一种基于前后台分离平台下实现多语言自动适配的方法及*** | |
CN106126713A (zh) | 可穿戴设备及其同步应用消息展示方法 | |
US20150106701A1 (en) | Input support method and information processing system | |
KR20210145811A (ko) | 지리적 위치를 검색하는 방법, 장치, 기기 및 컴퓨터 기록 매체 | |
JP2013061830A (ja) | 注記データ翻訳装置、注記データ翻訳方法および注記データ翻訳プログラム | |
CN106446064A (zh) | 一种数据转换方法及装置 | |
CN110851211A (zh) | 用于显示应用信息的方法、装置、电子设备和介质 | |
CN105637912A (zh) | 用于把智能电话应用转换成基本电话应用的方法和*** | |
JP2017182763A (ja) | イメージを用いた翻訳文提供方法、ユーザ端末、サーバ、システムおよびコンピュータプログラム | |
JP2003330916A (ja) | 地域別固有名詞辞書受信システムおよび携帯端末装置 | |
JPH10171810A (ja) | 多言語対応通信システム | |
US11989189B2 (en) | Data processing system and method | |
CN105989046A (zh) | 网站显示方法及***、以及用户终端 | |
CN105808628A (zh) | 网页转码方法、装置及*** | |
JP5189884B2 (ja) | 駅名入力装置および駅名入力プログラム | |
Nieto Acevedo et al. | Gis model of analysis to promote tourism through the use of a web application | |
CN111949748A (zh) | 多语言智能翻译电子地图*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170104 |
|
RJ01 | Rejection of invention patent application after publication |