CN107766228B - 一种基于多语种的自动化测试方法和装置 - Google Patents

一种基于多语种的自动化测试方法和装置 Download PDF

Info

Publication number
CN107766228B
CN107766228B CN201610695247.9A CN201610695247A CN107766228B CN 107766228 B CN107766228 B CN 107766228B CN 201610695247 A CN201610695247 A CN 201610695247A CN 107766228 B CN107766228 B CN 107766228B
Authority
CN
China
Prior art keywords
control
tested
test
language
application
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.)
Active
Application number
CN201610695247.9A
Other languages
English (en)
Other versions
CN107766228A (zh
Inventor
车薇
张欢欢
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610695247.9A priority Critical patent/CN107766228B/zh
Publication of CN107766228A publication Critical patent/CN107766228A/zh
Application granted granted Critical
Publication of CN107766228B publication Critical patent/CN107766228B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/368Test management for test version control, e.g. updating test cases to a new software version

Abstract

本申请提供一种基于多语种的自动化测试方法和装置,该方法包括:针对应用的待测试控件,获取所述待测试控件对应的关键字;获取所述应用对应的语种;获取所述关键字和所述语种对应的测试文案;通过所述测试文案对所述待测试控件进行测试。通过本申请的技术方案,对于支持多语种的应用来说,可以通过自动化测试方式对应用的待测试控件进行测试,而不用采用手工方式对应用的待测试控件进行测试,测试工作量较小,且可以测试到应用中的所有控件,可以实现多语种测试的全面性。即使这种应用的发布频次较高,如两周一个版本,也不会额外增加测试人员的测试工作量。

Description

一种基于多语种的自动化测试方法和装置
技术领域
本申请涉及互联网技术领域,尤其涉及一种基于多语种的自动化测试方法和装置。
背景技术
自动化测试是将以人为驱动的测试行为转化为机器执行的一种过程。通常情况下,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。自动化测试可以通过使用自动测试工具,自动化的完成功能测试和性能测试,以减少测试人员的工作。其中,功能测试包括测试所有功能(如支付流程,注册流程等)是否可用,是否出现bug现象等,性能测试包括验证CPU(CentralProcessing Unit,中央处理器)、内存、网络、电量、流量的性能指标等。
随着互联网技术的快速发展,有些应用(APP)会支持多种语种,如英语、法语、阿拉伯语等,目前针对这种应用,只能采用手工方式进行测试,而无法对其进行自动化测试。当采用手工方式对应用进行测试时,需要针对每种语种分别进行测试,测试工作量很大,且容易无法测试到应用的所有控件。而且,这种应用的发布频次较高,如两周一个版本,加大了测试人员的测试工作量。
发明内容
本申请实施例提供一种基于多语种的自动化测试方法,所述方法包括:
针对应用的待测试控件,获取所述待测试控件对应的关键字;
获取所述应用对应的语种;
获取所述关键字和所述语种对应的测试文案;
通过所述测试文案对所述待测试控件进行测试。
在一个例子中,所述获取所述关键字和所述语种对应的测试文案的过程,具体包括:通过所述关键字和所述语种查询多语种映射关系,得到对应的控件名称;其中,所述多语种映射关系用于记录关键字、语种和控件名称的对应关系;利用控件名称与测试文案的映射关系,获取所述控件名称对应的测试文案。
在一个例子中,在所述多语种映射关系内,针对同一个关键字,在不同的语种下所对应的控件名称不同。
在一个例子中,所述方法进一步包括:
在所述应用的自动化测试过程中,维护所述多语种映射关系;或者,
在所述应用的自动化测试过程之前,维护所述多语种映射关系。
本申请实施例提供一种基于多语种的自动化测试方法,所述方法包括:
针对应用的待测试控件,获取所述待测试控件对应的控件名称;
获取所述应用对应的语种;
从所述控件名称对应的所有语种的测试文案中,选取所述语种的测试文案;
通过所述测试文案对所述待测试控件进行测试。
在一个例子中,所述待测试控件在不同语种对应的各测试文案,均通过打标方式添加了所述待测试控件对应的控件名称。
针对所述待测试控件,在不同的语种下所对应的控件名称相同。
本申请实施例提供一种基于多语种的自动化测试方法,所述方法包括:
针对应用的待测试控件,获取所述应用对应的语种;
获取所述语种对应的测试文案;
通过所述测试文案对所述待测试控件进行测试。
在一个例子中,所述获取所述语种对应的测试文案的过程,具体包括:
获取所述待测试控件对应的关键字;获取所述关键字和所述语种对应的测试文案;或者,获取所述待测试控件对应的控件名称;从所述控件名称对应的所有语种的测试文案中,选取所述语种的测试文案。
所述获取所述关键字和所述语种对应的测试文案的过程,具体包括:
通过所述关键字和所述语种查询多语种映射关系,得到对应的控件名称;其中,所述多语种映射关系用于记录关键字、语种和控件名称的对应关系;
利用控件名称与测试文案的映射关系,获取所述控件名称对应的测试文案。
在一个例子中,在所述多语种映射关系内,针对同一个关键字,在不同的语种下所对应的控件名称不同。
在一个例子中,所述方法进一步包括:
在所述应用的自动化测试过程中,维护所述多语种映射关系;或者,
在所述应用的自动化测试过程之前,维护所述多语种映射关系。
在一个例子中,所述待测试控件在不同语种对应的各测试文案,均通过打标方式添加了所述待测试控件对应的控件名称。
针对所述待测试控件,在不同的语种下所对应的控件名称相同。
本申请实施例提供一种基于多语种的自动化测试装置,所述装置包括:
第一获取单元,用于针对应用的待测试控件,获取所述待测试控件对应的关键字;
第二获取单元,用于获取所述应用对应的语种;
第三获取单元,用于获取所述关键字和所述语种对应的测试文案;
第一测试单元,用于通过所述测试文案对所述待测试控件进行测试。
所述第三获取单元,具体用于在获取关键字和语种对应的测试文案的过程中,通过所述关键字和所述语种查询多语种映射关系,得到对应的控件名称;利用控件名称与测试文案的映射关系,获取所述控件名称对应的测试文案;所述多语种映射关系用于记录关键字、语种和控件名称的对应关系;在所述多语种映射关系内,针对同一个关键字,在不同的语种下所对应的控件名称不同。
本申请实施例提供一种基于多语种的自动化测试装置,所述装置包括:
第四获取单元,用于针对应用的待测试控件,获取所述待测试控件对应的控件名称;
第五获取单元,用于获取所述应用对应的语种;
第六获取单元,用于从所述控件名称对应的所有语种的测试文案中,选取所述语种的测试文案;
第二测试单元,用于通过所述测试文案对所述待测试控件进行测试。
所述待测试控件在不同语种对应的各测试文案,均通过打标方式添加了所述待测试控件对应的控件名称;
针对所述待测试控件,在不同的语种下所对应的控件名称相同。
本申请实施例提供一种基于多语种的自动化测试装置,所述装置包括:
第七获取单元,用于针对应用的待测试控件,获取所述应用对应的语种;
第八获取单元,用于获取所述语种对应的测试文案;
第三测试单元,用于通过所述测试文案对所述待测试控件进行测试。
所述第八获取单元,具体用于在获取所述语种对应的测试文案的过程中,获取所述待测试控件对应的关键字,并获取所述关键字和所述语种对应的测试文案;或者,获取所述待测试控件对应的控件名称,并从所述控件名称对应的所有语种的测试文案中,选取所述语种的测试文案。
所述第八获取单元,具体用于在获取关键字和语种对应的测试文案的过程中,通过所述关键字和所述语种查询多语种映射关系,得到对应的控件名称,并利用控件名称与测试文案的映射关系,获取所述控件名称对应的测试文案;所述多语种映射关系用于记录关键字、语种和控件名称的对应关系;在所述多语种映射关系内,针对同一个关键字,在不同的语种下所对应的控件名称不同。
所述待测试控件在不同语种对应的各测试文案,均通过打标方式添加了所述待测试控件对应的控件名称;
针对所述待测试控件,在不同的语种下所对应的控件名称相同。
基于上述技术方案,本申请实施例中,对于支持多语种的应用来说,可以通过自动化测试方式对应用的待测试控件进行测试,而不用采用手工方式对应用的待测试控件进行测试,测试工作量较小,且可以测试到应用中的所有控件,可以实现多语种测试的全面性。而且,即使这种应用的发布频次较高,如两周一个版本,也不会额外增加测试人员的测试工作量。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本申请一种实施方式中基于多语种的自动化测试方法流程图;
图2是本申请一种实施方式中的多语种翻译接口的处理示意图;
图3是本申请另一种实施方式中基于多语种的自动化测试方法流程图;
图4是本申请一种实施方式中的对控件名称进行打标的示意图;
图5A-图5H是本申请一种实施方式中的应用场景示意图;
图6是本申请另一种实施方式中基于多语种的自动化测试方法流程图;
图7是本申请一种实施方式中的移动终端的硬件结构图;
图8是本申请一种实施方式中基于多语种的自动化测试装置结构图;
图9是本申请一种实施方式中基于多语种的自动化测试装置结构图;
图10是本申请一种实施方式中基于多语种的自动化测试装置结构图。
具体实施方式
在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
针对现有技术中存在的问题,本申请实施例中提出一种基于多语种的自动化测试方法,该测试方法可以基于自动化测试技术测试应用的多语种功能是否可用,是否出现bug现象等。如果多语种功能不可用或出现bug现象,则基于测试结果对多语种的软件代码进行修复,解决功能不可用或者bug现象的问题。
在一个例子中,该应用即通常所说的客户端软件,可以运行在终端设备(如PC(Personal Computer,个人计算机)、移动终端、笔记本电脑等)上。以终端设备为移动终端(如手机、平板电脑、ipad等)为例,则该基于多语种的自动化测试方法,可以应用在无线自动化测试的应用场景下。
在一个例子中,上述的终端设备或者移动终端,可以为真实的终端设备或者移动终端,也可以为能够模拟出终端设备功能或者移动终端功能的服务器。
在自动化测试过程中,针对每个语种,可以测试应用上的控件的功能是否可用,是否出现bug现象。控件是对数据和方法的封装,控件可以有自身的属性和方法,该属性是控件数据的访问者,该方法是控件的简单可见的功能。
在一个例子中,每个可以被访问的控件都可以使用一个Javascript对象来描述,因此,每个控件就是一个UIAElement。基于此,可以将控件称为元素、或者控件元素等,为了方便描述,本申请实施例中以控件的表述为例进行说明。
在一个例子中,可以将未完成测试的控件称为待测试控件,并将已完成测试的控件称为已测试控件,本申请实施例正是需要对待测试控件进行测试。其中,对于每个控件来说,该控件首先是待测试控件,在采用本申请实施例提出的技术方案对该待测试控件进行测试之后,则该控件会变成已测试控件。
在一个例子中,为了对待测试控件进行测试,可以预先配置测试用例,该测试用例中可以包括多个测试文案,每个测试文案对应一个待测试控件。其中,该测试文案是研发人员为了测试待测试控件而编制的一组操作集合,通常情况下,一个测试文案可以包含执行环境、预设条件、输入参数、预期结果,并包含若干个操作步骤,可以通过一个测试文案来对该待测试控件进行测试。
例如,针对单语种的应用来说,测试用例中可以包括待测试控件1对应的测试文案A,并包括待测试控件2对应的测试文案B。基于此,可以通过测试文案A对待测试控件1进行测试,并通过测试文案B对待测试控件2进行测试。但是,对于多语种的应用来说,测试用例中可以包括待测试控件1对应的多个测试文案,并包括待测试控件2对应的多个测试文案。以针对待测试控件1为例,则测试用例中可以包括测试文案A1、测试文案A2、测试文案A3等,该测试文案A1用于对应用是英语语种时的待测试控件1进行测试,该测试文案A2用于对应用是法语语种时的待测试控件1进行测试,该测试文案A3用于对应用是阿拉伯语语种时的待测试控件1进行测试。
由于待测试控件1会对应测试文案A1、测试文案A2、测试文案A3,那么,在需要对待测试控件1进行测试时,如何选择出与当前语种相适应的测试文案,以基于该测试文案对待测试控件1进行测试,目前并没有很好的解决方案。
针对上述发现,本申请实施例提出的基于多语种的自动化测试方法,可以选择出与当前语种相适应的测试文案,并基于该测试文案对待测试控件进行测试。本申请实施例中,由于各待测试控件的处理方式相同,后续以一个待测试控件为例进行说明。在上述应用场景下,参见图1所示,为本申请实施例中提出的基于多语种的自动化测试方法的流程图,该方法包括以下步骤:
步骤101,针对应用的待测试控件,获取该待测试控件对应的关键字。
步骤102,获取该应用对应的语种。
步骤103,获取该关键字和该语种对应的测试文案。
步骤104,通过该测试文案对该待测试控件进行测试。
在一个例子中,对于“应用的待测试控件”,可以是应用页面的待测试控件。对于“应用对应的语种”,可以是应用页面对应的语种。
在一个例子中,上述步骤的顺序只是本申请的一个示例,各步骤之间的执行顺序可以根据实际需要进行改变。例如,可以先执行获取该应用对应的语种的步骤,后执行获取该待测试控件对应的关键字的步骤。本申请实施例中,对各步骤之间的执行顺序不做限制,只是以上述顺序为例进行说明。
针对步骤101,在一个例子中,关键字(key)可以是针对待测试控件的一个信息,可以根据实际需要进行选择。在需要对待测试控件进行测试时,就可以得到这个关键字,且该关键字具有唯一性,是该待测试控件的固有属性,即使在不同语种的应用下,该关键字也是唯一的,不会发生变化,只要对待测试控件进行测试时,就可以得到该关键字。例如,当需要对待测试控件1进行测试时,则获取到该待测试控件1对应的关键字为关键字1;当需要对待测试控件2进行测试时,则获取到该待测试控件2对应的关键字为关键字2。
针对步骤102,在一个例子中,应用可以支持多种语种,如英语、法语、阿拉伯语等,当然,上述语种只是本申请实施例的一个示例,在实际应用中,语种还可以更多,如俄语、德语等,在此不再详加赘述。在应用的测试过程中,可以先对英语语种下的应用中的各待测试控件进行测试,即针对英语语种下的应用中的各待测试控件,执行上述步骤101-步骤104的流程。然后,可以对法语语种下的应用中的各待测试控件进行测试,即针对法语语种下的应用中的各待测试控件,执行上述步骤101-步骤104的流程。以此类推,一直到所有语种下的应用中的各待测试控件均已经测试完成。
由于不同语种下的应用中的各待测试控件的测试过程相同,因此,本申请实施例中,以对英语语种下的应用中的各待测试控件进行测试为例进行说明。在此基础上,则获取到的该应用对应的语种为英语。
针对步骤103,在一个例子中,获取该关键字和该语种对应的测试文案的过程,具体可以包括但不限于如下方式:通过该关键字和该语种查询多语种映射关系,得到该关键字和该语种对应的控件名称;其中,该多语种映射关系可以用于记录关键字、语种和控件名称的对应关系。可以利用预先配置的控件名称与测试文案的映射关系,获取该控件名称对应的测试文案。其中,在多语种映射关系内,针对同一个关键字,在不同的语种下所对应的控件名称不同。
在一个例子中,控件名称可以是针对待测试控件的一个属性,但是针对同一个待测试控件,在不同语种的应用下,该待测试控件对应的控件名称是不同的。例如,待测试控件为添加到购物车这个按钮(Button)时,在英语语种下,控件名称可以为detail_add_to_cart_btn。在法语语种下,控件名称可以为détailajouter au chariot。在俄语语种下,控件名称可以为добавитьвкорзину。
在一个例子中,可以预先维护表1或者表2所示的多语种映射关系,在得到关键字和语种之后,就可以通过该关键字和该语种查询多语种映射关系,得到该关键字和该语种对应的控件名称。例如,一个多语种映射关系的示例可以如表3所示,假设在步骤101中得到的关键字为detail_add_to_cart_btn,在步骤102中得到的语种为俄语语种,则可以得到控件名称为добавитьвкорзину。
表1
Figure BDA0001084761790000091
表2
Figure BDA0001084761790000092
表3
Figure BDA0001084761790000093
在一个例子中,针对利用预先配置的控件名称与测试文案的映射关系,获取该控件名称对应的测试文案的过程,对于每个测试文案来说,在测试文案的源代码中,会包含相应的控件名称,例如,在测试文案A中包含détail ajouter au chariot,在测试文案B中包含добавить в корзину等,可以将这种包含关系称为控件名称与测试文案的映射关系。基于此,在得到控件名称为добавить в корзину之后,就可以得到该добавить в корзину对应的测试文案为测试文案B。
在一个例子中,可以在应用的自动化测试过程中,维护多语种映射关系;或者,可以在应用的自动化测试过程之前,就维护多语种映射关系。
针对步骤103,在一个例子中,可以预先配置多语种翻译接口,通过多语种翻译接口完成“通过关键字和语种查询多语种映射关系,得到该关键字和该语种对应的控件名称,并利用预先配置的控件名称与测试文案的映射关系,获取该控件名称对应的测试文案”等操作。如图2所示,为多语种翻译接口的示例。
在一个例子中,自动化脚本(即用于完成自动化测试过程的脚本)可以在本地预先维护多语种映射关系,即在应用的自动化测试过程中,维护多语种映射关系。在自动化测试的执行过程中,在得到待测试控件对应的关键字和应用对应的语种后,将该关键字和该语种输入到多语种翻译接口,向多语种翻译接口请求翻译结果,该翻译结果就是该关键字和该语种对应的测试文案。
多语种翻译接口在接收到该关键字和该语种之后,可以通过该关键字和该语种查询多语种映射关系,如表3所示,从而得到该关键字和该语种对应的控件名称,并可以获取该控件名称对应的测试文案,并返回该测试文案。
在一个例子中,多语种翻译接口可以一次性获取所有待测试控件的所有测试文案,并将这些测试文案存储在map(一种存储数据的结构)或者本地文件中。这样,在自动化测试的执行过程中,多语种翻译接口就可以从map或者本地文件中得到该关键字和该语种对应的测试文案,并返回该测试文案。
在一个例子中,并不局限于通过自动化脚本维护多语种映射关系的方式,例如,在非自动化测试层面,可以直接在多语种文案中配置多语种映射关系,该多语种文案不是自动化测试过程中实现的,而是一个与自动化测试过程无关的文案,属于非自动化测试层面。因此可以在应用的自动化测试过程前,就在多语种文案中维护多语种映射关系。而在自动化测试的执行过程中,可以利用多语种文案中的多语种映射关系,完成后续的相关操作,在此不再赘述。
针对步骤104,在得到该关键字和该语种对应的测试文案后,就可以通过该测试文案对待测试控件进行测试,对于该测试过程,在此不再赘述。
基于上述技术方案,本申请实施例中,对于支持多语种的应用来说,可以通过自动化测试方式对应用的待测试控件进行测试,而不用采用手工方式对应用的待测试控件进行测试,测试工作量较小,且可以测试到应用中的所有控件,可以实现多语种测试的全面性。而且,即使这种应用的发布频次较高,如两周一个版本,也不会额外增加测试人员的测试工作量。
本申请实施例提出的基于多语种的自动化测试方法,可以选择出与当前语种相适应的测试文案,并基于该测试文案对待测试控件进行测试。本申请实施例中,由于各待测试控件的处理方式相同,后续以一个待测试控件为例进行说明。在上述应用场景下,参见图3所示,为本申请实施例中提出的基于多语种的自动化测试方法的流程图,该方法具体可以包括以下步骤:
步骤301,针对应用的待测试控件,获取待测试控件对应的控件名称。
步骤302,获取该应用对应的语种。
步骤303,从该控件名称(即待测试控件对应的控件名称)对应的所有语种的测试文案中,选取该语种(即该应用对应的语种)的测试文案。
步骤304,通过该测试文案对该待测试控件进行测试。
在一个例子中,对于“应用的待测试控件”,可以是应用页面的待测试控件。对于“应用对应的语种”,可以是应用页面对应的语种。
在一个例子中,上述步骤的顺序只是本申请的一个示例,各步骤之间的执行顺序可以根据实际需要进行改变。例如,可以先执行获取该应用对应的语种的步骤,后执行获取该待测试控件对应的控件名称的步骤。本申请实施例中,对各步骤之间的执行顺序不做限制,只是以上述顺序为例进行说明。
针对步骤301,在一个例子中,控件名称可以是针对待测试控件的一个属性,与图1所示流程不同的是,待测试控件在不同语种对应的各测试文案中,均通过打标方式添加了该待测试控件对应的控件名称。而且,针对同一个待测试控件,在不同语种的应用下,该待测试控件对应的控件名称是相同的。
例如,当待测试控件为添加到购物车这个按钮(Button)时,在英语语种下,该控件名称可以为detail_add_to_cart_btn。在法语语种下,该控件名称可以为detail_add_to_cart_btn。在俄语语种下,该控件名称可以为detail_add_to_cart_btn。
在一个例子中,为了实现上述功能,针对待测试控件在不同语种对应的各测试文案,可以在各测试文案的源代码中,对该待测试控件对应的控件名称进行打标,以使该待测试控件在不同语种的测试文案中,控件名称是相同的。
在一个例子中,可以基于iOS(移动操作系统)accessibility(可达性)技术,在各测试文案的源代码中,对待测试控件对应的控件名称进行打标,以使该待测试控件在不同语种的测试文案中,控件名称是相同的。当然在实际应用中,打标技术并不局限于iOSaccessibility技术,本申请实施例中对此不做限制。
其中,iOS accessibility技术最开始应用于盲人导航,目前,在iOS自动化中广泛运用,通过打标的方式,对不同的语种文案进行统一的标签来定位。
如图4所示,为对控件名称进行打标的示意图。在执行自动化测试过程之前,对测试文案的源代码进行修改,将针对相同待测试控件的不同语种的测试文案的源代码,修改为统一的控件名称。例如,针对添加购物车的这个按钮对象(即待测试控件),如图5A所示,为未修改的俄语显示的示意图;如图5B所示,为未修改的西语显示的示意图;如图5C所示,为未修改的阿拉伯语显示的示意图;如图5D所示,为未修改的希伯来语显示的示意图;如图5E所示,为未修改的葡语显示的示意图。经过本申请实施例的打标处理后,如图5F所示,针对添加购物车的这个按钮对象,控件名称统一标识为detail_add_to_cart_btn。
在一个例子中,还可以调用accessibilityLabel(可达性标签)方法,对待测试控件添加accessibilityLabel标签,即为该待测试控件设置控件名称,该控件名称可以称为标签名称。例如,针对添加购物车的这个按钮对象(即待测试控件),可以添加accessibilityLabel标签,将其标记为detail_add_to_cart_btn,如图5G所示。通过自动化控件识别技术,识别出当前添加购物车的按钮,如图5H所示,其控件名称为detail_add_to_cart_btn,这就是待测试控件对应的控件名称。
针对步骤302,在一个例子中,应用可以支持多种语种,如英语、法语、阿拉伯语等,当然,上述语种只是本申请实施例的一个示例,在实际应用中,语种还可以更多,如俄语、德语等,在此不再详加赘述。在应用的测试过程中,可以先对英语语种下的应用中的各待测试控件进行测试,即针对英语语种下的应用中的各待测试控件,执行上述步骤301-步骤304的流程。然后,可以对法语语种下的应用中的各待测试控件进行测试,即针对法语语种下的应用中的各待测试控件,执行上述步骤301-步骤304的流程。以此类推,一直到所有语种下的应用中的各待测试控件均已经测试完成。
由于不同语种下的应用中的各待测试控件的测试过程相同,因此,本申请实施例中,以对英语语种下的应用中的各待测试控件进行测试为例进行说明。在此基础上,则获取到的该应用对应的语种为英语。
针对步骤303,假设待测试控件为添加购物车这个按钮对象,则控件名称可以为detail_add_to_cart_btn。针对这个待测试控件对应的每个测试文案,在测试文案的源代码中都会包含相应控件名称,且控件名称都是detail_add_to_cart_btn。因此,在得到控件名称detail_add_to_cart_btn之后,可以得到该控件名称对应的所有语种的测试文案,例如,包含控件名称detail_add_to_cart_btn的英语语种的测试文案,包含控件名称detail_add_to_cart_btn的法语语种的测试文案,包含控件名称detail_add_to_cart_btn的俄语语种的测试文案。之后,可以从这些测试文案中选取出英语语种(即该应用对应的语种)的测试文案。
针对步骤304,在得到该语种对应的测试文案之后,就可以通过该测试文案对待测试控件进行测试,对于该测试过程,在此不再详加赘述。
基于上述技术方案,本申请实施例中,对于支持多语种的应用来说,可以通过自动化测试方式对应用的待测试控件进行测试,而不用采用手工方式对应用的待测试控件进行测试,测试工作量较小,且可以测试到应用中的所有控件,可以实现多语种测试的全面性。而且,即使这种应用的发布频次较高,如两周一个版本,也不会额外增加测试人员的测试工作量。
本申请实施例提出的基于多语种的自动化测试方法,可以选择出与当前语种相适应的测试文案,并基于该测试文案对待测试控件进行测试。本申请实施例中,由于各待测试控件的处理方式相同,后续以一个待测试控件为例进行说明。在上述应用场景下,参见图6所示,为本申请实施例中提出的基于多语种的自动化测试方法的流程图,该方法具体可以包括以下步骤:
步骤601,针对应用的待测试控件,获取应用对应的语种。
步骤602,获取该语种对应的测试文案。
步骤603,通过该测试文案对待测试控件进行测试。
在一个例子中,对于“应用的待测试控件”,可以是应用页面的待测试控件。对于“应用对应的语种”,可以是应用页面对应的语种。
针对步骤601,参见步骤102或者步骤302,在此不再赘述。
针对步骤603,参见步骤104或者步骤304,在此不再赘述。
针对步骤602,在一个例子中,获取该语种对应的测试文案的过程,具体可以包括但不限于如下方式:方式一、获取该待测试控件对应的关键字;获取该关键字和该语种对应的测试文案。或者,方式二、获取该待测试控件对应的控件名称;从该控件名称对应的所有语种的测试文案中,选取该语种的测试文案。
针对方式一,获取关键字和语种对应的测试文案的过程,可以包括但不限于如下方式:通过该关键字和该语种查询多语种映射关系,得到对应的控件名称;其中,多语种映射关系用于记录关键字、语种和控件名称的对应关系;利用控件名称与测试文案的映射关系,获取该控件名称对应的测试文案。在多语种映射关系内,针对同一个关键字,在不同的语种下所对应的控件名称不同。
进一步的,可以在应用的自动化测试过程中,维护该多语种映射关系;或者,可以在应用的自动化测试过程之前,维护该多语种映射关系。
其中,针对获取该待测试控件对应的关键字的过程,参见步骤101;针对获取该关键字和该语种对应的测试文案的过程,参见步骤103,在此不再赘述。
针对方式二,在获取该待测试控件对应的控件名称的过程中,待测试控件在不同语种对应的各测试文案,均通过打标方式添加了待测试控件对应的控件名称。而且,针对同一个待测试控件,在不同的语种下所对应的控件名称相同。
其中,针对获取待测试控件对应控件名称的过程,参见步骤301;针对从所有语种的测试文案选取该语种的测试文案的过程,参见步骤303,在此不再赘述。
基于上述技术方案,本申请实施例中,对于支持多语种的应用来说,可以通过自动化测试方式对应用的待测试控件进行测试,而不用采用手工方式对应用的待测试控件进行测试,测试工作量较小,且可以测试到应用中的所有控件,可以实现多语种测试的全面性。而且,即使这种应用的发布频次较高,如两周一个版本,也不会额外增加测试人员的测试工作量。
基于与上述方法同样的申请构思,本申请实施例还提供一种基于多语种的自动化测试装置120,该基于多语种的自动化测试装置120应用在移动终端10上。该基于多语种的自动化测试装置120可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过移动终端10的处理器11,读取非易失性存储器12中对应的计算机程序指令形成的。从硬件层面而言,如图7所示,为本申请提出的基于多语种的自动化测试装置120所在的移动终端10的硬件结构图,除图7所示的处理器11、非易失性存储器12外,移动终端10还可包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,移动终端10还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
如图8所示,为本申请提出的基于多语种的自动化测试装置的结构图,所述装置包括:第一获取单元1201,用于针对应用的待测试控件,获取所述待测试控件对应的关键字;第二获取单元1202,用于获取所述应用对应的语种;第三获取单元1203,用于获取所述关键字和所述语种对应的测试文案;第一测试单元1204,用于通过所述测试文案对所述待测试控件进行测试。
所述第三获取单元1203,具体用于在获取关键字和语种对应的测试文案的过程中,通过所述关键字和所述语种查询多语种映射关系,得到对应的控件名称;利用控件名称与测试文案的映射关系,获取所述控件名称对应的测试文案;所述多语种映射关系用于记录关键字、语种和控件名称的对应关系;在所述多语种映射关系内,针对同一个关键字,在不同的语种下所对应的控件名称不同。
基于上述技术方案,本申请实施例中,对于支持多语种的应用来说,可以通过自动化测试方式对应用的待测试控件进行测试,而不用采用手工方式对应用的待测试控件进行测试,测试工作量较小,且可以测试到应用中的所有控件,可以实现多语种测试的全面性。而且,即使这种应用的发布频次较高,如两周一个版本,也不会额外增加测试人员的测试工作量。
如图9所示,为本申请提出的基于多语种的自动化测试装置的结构图,所述装置包括:第四获取单元1205,用于针对应用的待测试控件,获取所述待测试控件对应的控件名称;第五获取单元1206,用于获取所述应用对应的语种;第六获取单元1207,用于从所述控件名称对应的所有语种的测试文案中,选取所述语种的测试文案;第二测试单元1208,用于通过所述测试文案对所述待测试控件进行测试。在一个例子中,所述待测试控件在不同语种对应的各测试文案,均通过打标方式添加了所述待测试控件对应的控件名称;针对所述待测试控件,在不同的语种下所对应的控件名称相同。
基于上述技术方案,本申请实施例中,对于支持多语种的应用来说,可以通过自动化测试方式对应用的待测试控件进行测试,而不用采用手工方式对应用的待测试控件进行测试,测试工作量较小,且可以测试到应用中的所有控件,可以实现多语种测试的全面性。而且,即使这种应用的发布频次较高,如两周一个版本,也不会额外增加测试人员的测试工作量。
如图10所示,为本申请提出的基于多语种的自动化测试装置的结构图,所述装置包括:第七获取单元1209,用于针对应用的待测试控件,获取所述应用对应的语种;第八获取单元1210,用于获取所述语种对应的测试文案;第三测试单元1211,用于通过所述测试文案对所述待测试控件进行测试。
在一个例子中,所述第八获取单元1210,具体用于在获取所述语种对应的测试文案的过程中,获取所述待测试控件对应的关键字,并获取所述关键字和所述语种对应的测试文案;或者,获取所述待测试控件对应的控件名称,并从所述控件名称对应的所有语种的测试文案中,选取所述语种的测试文案。
所述第八获取单元1210,具体用于在获取关键字和语种对应的测试文案的过程中,通过所述关键字和所述语种查询多语种映射关系,得到对应的控件名称,利用控件名称与测试文案的映射关系,获取所述控件名称对应的测试文案;所述多语种映射关系用于记录关键字、语种和控件名称的对应关系;在所述多语种映射关系内,针对同一个关键字,在不同的语种下所对应的控件名称不同。
在一个例子中,所述待测试控件在不同语种对应的各测试文案,均通过打标方式添加了所述待测试控件对应的控件名称;而且,针对所述待测试控件,在不同的语种下所对应的控件名称相同。
基于上述技术方案,本申请实施例中,对于支持多语种的应用来说,可以通过自动化测试方式对应用的待测试控件进行测试,而不用采用手工方式对应用的待测试控件进行测试,测试工作量较小,且可以测试到应用中的所有控件,可以实现多语种测试的全面性。而且,即使这种应用的发布频次较高,如两周一个版本,也不会额外增加测试人员的测试工作量。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本申请的几个具体实施例,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

Claims (22)

1.一种基于多语种的自动化测试方法,其特征在于,所述方法包括:
针对应用的待测试控件,获取所述待测试控件对应的关键字;
获取所述应用对应的语种;
获取所述关键字和所述语种对应的测试文案;
通过所述测试文案对所述待测试控件进行测试;
其中,所述待测试控件对应多个测试文案,多个测试文案与多语种一一对应,测试文案用于对应用是该测试文案对应语种时的所述待测试控件进行测试;
其中,所述测试文案包括以下至少一种:执行环境、预设条件、输入参数、预期结果、操作步骤。
2.根据权利要求1所述的方法,其特征在于,
所述获取所述关键字和所述语种对应的测试文案的过程,具体包括:
通过所述关键字和所述语种查询多语种映射关系,得到对应的控件名称;其中,所述多语种映射关系用于记录关键字、语种和控件名称的对应关系;
利用控件名称与测试文案的映射关系,获取所述控件名称对应的测试文案。
3.根据权利要求2所述的方法,其特征在于,在所述多语种映射关系内,针对同一个关键字,在不同的语种下所对应的控件名称不同。
4.根据权利要求2所述的方法,其特征在于,所述方法进一步包括:
在所述应用的自动化测试过程中,维护所述多语种映射关系;或者,
在所述应用的自动化测试过程之前,维护所述多语种映射关系。
5.一种基于多语种的自动化测试方法,其特征在于,所述方法包括:
针对应用的待测试控件,获取所述待测试控件对应的控件名称;
获取所述应用对应的语种;
从所述控件名称对应的所有语种的测试文案中,选取所述语种的测试文案;
通过所述测试文案对所述待测试控件进行测试;
其中,所述待测试控件对应多个测试文案,多个测试文案与多语种一一对应,测试文案用于对应用是该测试文案对应语种时的所述待测试控件进行测试;
其中,所述测试文案包括以下至少一种:执行环境、预设条件、输入参数、预期结果、操作步骤。
6.根据权利要求5所述的方法,其特征在于,所述待测试控件在不同语种对应的各测试文案,均通过打标方式添加了所述待测试控件对应的控件名称。
7.根据权利要求5或6所述的方法,其特征在于,
针对所述待测试控件,在不同的语种下所对应的控件名称相同。
8.一种基于多语种的自动化测试方法,其特征在于,所述方法包括:
针对应用的待测试控件,获取所述应用对应的语种;
获取所述语种对应的测试文案;
通过所述测试文案对所述待测试控件进行测试;
其中,所述待测试控件对应多个测试文案,多个测试文案与多语种一一对应,测试文案用于对应用是该测试文案对应语种时的所述待测试控件进行测试;
其中,所述测试文案包括以下至少一种:执行环境、预设条件、输入参数、预期结果、操作步骤。
9.根据权利要求8所述的方法,其特征在于,
所述获取所述语种对应的测试文案的过程,具体包括:
获取所述待测试控件对应的关键字;
获取所述关键字和所述语种对应的测试文案;或者,
获取所述待测试控件对应的控件名称;
从所述控件名称对应的所有语种的测试文案中,选取所述语种的测试文案。
10.根据权利要求9所述的方法,其特征在于,
所述获取所述关键字和所述语种对应的测试文案的过程,具体包括:
通过所述关键字和所述语种查询多语种映射关系,得到对应的控件名称;其中,所述多语种映射关系用于记录关键字、语种和控件名称的对应关系;
利用控件名称与测试文案的映射关系,获取所述控件名称对应的测试文案。
11.根据权利要求10所述的方法,其特征在于,在所述多语种映射关系内,针对同一个关键字,在不同的语种下所对应的控件名称不同。
12.根据权利要求10所述的方法,其特征在于,所述方法进一步包括:
在所述应用的自动化测试过程中,维护所述多语种映射关系;或者,
在所述应用的自动化测试过程之前,维护所述多语种映射关系。
13.根据权利要求9所述的方法,其特征在于,所述待测试控件在不同语种对应的各测试文案,均通过打标方式添加了所述待测试控件对应的控件名称。
14.根据权利要求9或13所述的方法,其特征在于,
针对所述待测试控件,在不同的语种下所对应的控件名称相同。
15.一种基于多语种的自动化测试装置,其特征在于,所述装置包括:
第一获取单元,用于针对应用的待测试控件,获取所述待测试控件对应的关键字;
第二获取单元,用于获取所述应用对应的语种;
第三获取单元,用于获取所述关键字和所述语种对应的测试文案;
第一测试单元,用于通过所述测试文案对所述待测试控件进行测试;
其中,所述待测试控件对应多个测试文案,多个测试文案与多语种一一对应,测试文案用于对应用是该测试文案对应语种时的所述待测试控件进行测试;
其中,所述测试文案包括以下至少一种:执行环境、预设条件、输入参数、预期结果、操作步骤。
16.根据权利要求15所述的装置,其特征在于,
所述第三获取单元,具体用于在获取关键字和语种对应的测试文案的过程中,通过所述关键字和所述语种查询多语种映射关系,得到对应的控件名称;利用控件名称与测试文案的映射关系,获取所述控件名称对应的测试文案;所述多语种映射关系用于记录关键字、语种和控件名称的对应关系;在所述多语种映射关系内,针对同一个关键字,在不同的语种下所对应的控件名称不同。
17.一种基于多语种的自动化测试装置,其特征在于,所述装置包括:
第四获取单元,用于针对应用的待测试控件,获取所述待测试控件对应的控件名称;
第五获取单元,用于获取所述应用对应的语种;
第六获取单元,用于从所述控件名称对应的所有语种的测试文案中,选取所述语种的测试文案;
第二测试单元,用于通过所述测试文案对所述待测试控件进行测试;
其中,所述待测试控件对应多个测试文案,多个测试文案与多语种一一对应,测试文案用于对应用是该测试文案对应语种时的所述待测试控件进行测试;
其中,所述测试文案包括以下至少一种:执行环境、预设条件、输入参数、预期结果、操作步骤。
18.根据权利要求17所述的装置,其特征在于,所述待测试控件在不同语种对应的各测试文案,均通过打标方式添加了所述待测试控件对应的控件名称;
针对所述待测试控件,在不同的语种下所对应的控件名称相同。
19.一种基于多语种的自动化测试装置,其特征在于,所述装置包括:
第七获取单元,用于针对应用的待测试控件,获取所述应用对应的语种;
第八获取单元,用于获取所述语种对应的测试文案;
第三测试单元,用于通过所述测试文案对所述待测试控件进行测试;
其中,所述待测试控件对应多个测试文案,多个测试文案与多语种一一对应,测试文案用于对应用是该测试文案对应语种时的所述待测试控件进行测试;
其中,所述测试文案包括以下至少一种:执行环境、预设条件、输入参数、预期结果、操作步骤。
20.根据权利要求19所述的装置,其特征在于,
所述第八获取单元,具体用于在获取所述语种对应的测试文案的过程中,获取所述待测试控件对应的关键字,并获取所述关键字和所述语种对应的测试文案;或者,获取所述待测试控件对应的控件名称,并从所述控件名称对应的所有语种的测试文案中,选取所述语种的测试文案。
21.根据权利要求20所述的装置,其特征在于,
所述第八获取单元,具体用于在获取关键字和语种对应的测试文案的过程中,通过所述关键字和所述语种查询多语种映射关系,得到对应的控件名称,并利用控件名称与测试文案的映射关系,获取所述控件名称对应的测试文案;所述多语种映射关系用于记录关键字、语种和控件名称的对应关系;在所述多语种映射关系内,针对同一个关键字,在不同的语种下所对应的控件名称不同。
22.根据权利要求20所述的装置,其特征在于,所述待测试控件在不同语种对应的各测试文案,均通过打标方式添加了所述待测试控件对应的控件名称;
针对所述待测试控件,在不同的语种下所对应的控件名称相同。
CN201610695247.9A 2016-08-19 2016-08-19 一种基于多语种的自动化测试方法和装置 Active CN107766228B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610695247.9A CN107766228B (zh) 2016-08-19 2016-08-19 一种基于多语种的自动化测试方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610695247.9A CN107766228B (zh) 2016-08-19 2016-08-19 一种基于多语种的自动化测试方法和装置

Publications (2)

Publication Number Publication Date
CN107766228A CN107766228A (zh) 2018-03-06
CN107766228B true CN107766228B (zh) 2021-07-16

Family

ID=61262500

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610695247.9A Active CN107766228B (zh) 2016-08-19 2016-08-19 一种基于多语种的自动化测试方法和装置

Country Status (1)

Country Link
CN (1) CN107766228B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109840273B (zh) * 2019-01-18 2020-09-15 珠海天燕科技有限公司 一种文案生成方法和装置
CN111274458B (zh) * 2020-01-17 2023-12-01 中国工商银行股份有限公司 一种应用软件的多语言核对方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567296A (zh) * 2003-05-07 2005-01-19 中兴通讯股份有限公司 一种嵌入式系统的多语言显示方法
CN100511129C (zh) * 2003-06-26 2009-07-08 华为技术有限公司 支持多语言的用户界面实现方法及其装置
KR100803714B1 (ko) * 2006-08-16 2008-02-15 엔에이치엔(주) 개선된 ui의 품질을 검증하는 테스트 방법 및 상기방법을 수행하는 시스템
KR101728170B1 (ko) * 2011-03-21 2017-04-19 네이버 주식회사 키워드에 기반하여 웹 서비스의 테스트를 자동적으로 수행하는 시스템 및 방법
CN102289376A (zh) * 2011-09-16 2011-12-21 烽火通信科技股份有限公司 基于嵌入式的多语言web页面实现方法及系统
CN103713958B (zh) * 2012-09-28 2016-12-21 国际商业机器公司 在不同语言的机器间同步图形用户界面操作的方法和设备
CN104750670B (zh) * 2013-12-31 2018-07-03 阿里巴巴集团控股有限公司 页面文案的处理方法及装置

Also Published As

Publication number Publication date
CN107766228A (zh) 2018-03-06

Similar Documents

Publication Publication Date Title
CN107644286B (zh) 工作流处理方法及装置
US8887135B2 (en) Generating test cases for functional testing of a software application
CN112765023B (zh) 测试用例生成方法、装置
CN107133165B (zh) 浏览器兼容性检测方法及装置
CN110928802A (zh) 基于自动生成用例的测试方法、装置、设备及存储介质
CN111414391A (zh) 一种访问多数据源的方法及系统
US10175958B2 (en) Acquiring identification of an application lifecycle management entity associated with similar code
US8984487B2 (en) Resource tracker
CN110990274A (zh) 一种生成测试案例的数据处理方法、装置及系统
CN109144799A (zh) 一体化测试方法、装置、计算机设备和存储介质
CN113704110A (zh) 用户界面的自动化测试方法及装置
CN106294480A (zh) 一种文件格式转换方法、装置及试题导入系统
CN107766228B (zh) 一种基于多语种的自动化测试方法和装置
CN110941547A (zh) 自动化测试用例库管理方法、装置、介质及电子设备
CN112395182A (zh) 自动化测试方法、装置、设备及计算机可读存储介质
US10073852B2 (en) Computer-readable storage medium, file management apparatus, and file management method
CN110196952B (zh) 程序代码的搜索处理方法、装置、设备及存储介质
CN109558319B (zh) Web页面控件的测试方法、设备和存储介质
EP3425510B1 (en) Automated testing method for application program user interface, electronic device, system, and storage medium
US20180278472A1 (en) System and method for performing mass renaming of list of items at run-time with variable differentiation factor
CN115129596A (zh) 接口自动测试方法、系统、装置和存储介质
CN110471708B (zh) 基于可重用组件的配置项获取的方法及装置
CN115705297A (zh) 代码调用检测方法、装置、计算机设备以及存储介质
US8726206B1 (en) Deadlock detection method and related machine readable medium
CN111078574A (zh) 生成影响分析报告的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant