CN105468527A - 一种应用中组件的测试方法及装置 - Google Patents
一种应用中组件的测试方法及装置 Download PDFInfo
- Publication number
- CN105468527A CN105468527A CN201510900544.8A CN201510900544A CN105468527A CN 105468527 A CN105468527 A CN 105468527A CN 201510900544 A CN201510900544 A CN 201510900544A CN 105468527 A CN105468527 A CN 105468527A
- Authority
- CN
- China
- Prior art keywords
- test
- assignment component
- information
- test result
- 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.)
- Granted
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种应用中组件的测试方法及装置。一方面,本发明实施例通过对应用中的指定组件进行测试时,读取存储的第一配置文件,所述第一配置文件包括用于定义测试时需要执行的操作的测试操作信息和用于定义测试时需要使用的测试策略信息;从而,根据所述第一配置文件对应用中的指定组件进行测试,以获得所述指定组件的测试结果。因此,本发明实施例提供的技术方案能够实现对混合模式类应用的测试,弥补了现有技术的空白。
Description
【技术领域】
本发明涉及计算机技术领域,尤其涉及一种应用中组件的测试方法及装置。
【背景技术】
目前,应用包括本地类应用(NativeAPP)和混合模式应用(HybridAPP)两种类型。其中,本地应用的测试可以是对应用的端到端的响应时间的测试,该测试结果可以作为评估应用性能的依据,如应用的耗电量和应用占用的内存等。
现有技术中,测试应用的方法都是针对本地应用的,混合模式应用与本地应用的很大区别在于混合模式应用中包含各种组件,所以本地应用的测试方法无法应用于混合模式应用上,因此,目前还没有针对混合模式应用的测试方法,如何对混合模式应用进行测试是亟待解决的问题。
【发明内容】
有鉴于此,本发明实施例提供了一种应用中组件的测试方法及装置,可以实现对混合模式类应用中组件的测试,弥补了现有技术的空白。
本发明实施例的一方面,提供一种应用中组件的测试方法,包括:
对应用中的指定组件进行测试时,读取存储的第一配置文件,所述第一配置文件包括用于定义测试时需要执行的操作的测试操作信息和用于定义测试时需要使用的测试策略信息;
根据所述第一配置文件对应用中的指定组件进行测试,以获得所述指定组件的测试结果。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述对应用中的指定组件进行测试时,读取存储的第一配置文件之前,所述方法还包括:
为应用中的指定组件生成所述测试操作信息,并根据所述测试操作信息生成第二配置文件;
为应用中的指定组件生成所述测试策略信息,并根据所述指定组件加载所述第二配置文件,并根据所述测试操作信息和所述第二配置文件,生成所述第一配置文件;
存储所述第一配置文件。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述测试操作信息包括:操作顺序、操作类型、所述指定组件展现的页面中的元素的属性和所述元素的识别方式。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述测试策略信息包括:测试场景信息、采集样本数目、超时设置信息、是否通知测试结果的设置信息和是否展现测试结果的设置信息。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,根据所述第一配置文件对应用中的指定组件进行测试,以获得所述指定组件的测试结果,包括:
根据所述操作顺序,确定所述指定组件展现的页面中需要识别的元素;
根据所述元素的属性,并利用所述识别方式对所述指定组件展现的页面中的所述元素进行识别;
根据所述操作类型,对识别出的元素执行操作;
记录并存储所述元素被执行操作的时刻、所述指定组件在所述操作之后展现其他页面完毕的时刻以及两个时刻之间的时间间隔,以作为所述指定组件的测试结果。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述测试配置信息还包括输入值;
所述对识别出的元素执行操作,包括:在识别出的元素中填入所述输入值。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
若所述测试场景信息为非缓存场景,对所述应用中的缓存数据进行清除处理;或者,
若所述指定组件的测试结果的数目达到所述采集样本数目,停止对应用中的指定组件的测试;或者,
对识别出的元素执行操作之后,若根据超时设置信息,判断出达到超时时长且所述指定组件在所述操作之后没有展现出其他页面,停止对应用中的指定组件的测试,并输出报警信息。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
若所述是否通知测试结果的设置信息为需要通知测试结果,将所述测试结果发送到指定邮箱;或者,
若是否展现测试结果的设置信息为需要展现测试结果,将所述测试结果发送给后台服务器,以便于后台服务器对所述测试结果进行展现。
本发明实施例的一方面,提供一种应用中组件的测试装置,包括:
测试驱动模块,用于对应用中的指定组件进行测试时,读取存储的第一配置文件,并利用所述第一配置文件驱动测试执行模块;所述第一配置文件包括用于定义测试时需要执行的操作的测试操作信息和用于定义测试时需要使用的测试策略信息;
测试执行模块,用于被所述测试驱动模块驱动后,根据所述第一配置文件对应用中的指定组件进行测试,以获得所述指定组件的测试结果。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括组件配置模块、测试配置模块和第一存储模块;
所述组件配置模块,用于为应用中的指定组件生成所述测试操作信息,并根据所述测试操作信息生成第二配置文件;
所述测试配置模块,用于为应用中的指定组件生成所述测试策略信息,并根据所述指定组件加载所述第二配置文件,并根据所述测试操作信息和所述第二配置文件,生成所述第一配置文件;
所述第一存储模块,用于存储所述第一配置文件。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述测试操作信息包括:操作顺序、操作类型、所述指定组件展现的页面中的元素的属性和所述元素的识别方式。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述测试策略信息包括:测试场景信息、采集样本数目、超时设置信息、是否通知测试结果的设置信息和是否展现测试结果的设置信息。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述测试执行模块,具体用于:根据所述操作顺序,确定所述指定组件展现的页面中需要识别的元素;根据所述元素的属性,并利用所述识别方式对所述指定组件展现的页面中的所述元素进行识别;根据所述操作类型,对识别出的元素执行操作;
所述装置还包括:数据处理模块,用于记录所述元素被执行操作的时刻、所述指定组件在所述操作之后展现其他页面完毕的时刻以及两个时刻之间的时间间隔,以作为所述指定组件的测试结果,并将所述指定组件的测试结果存储在第二存储模块。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述测试配置信息还包括输入值;
所述测试执行模块用于对识别出的元素执行操作时,具体用于:在识别出的元素中填入所述输入值。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括:接口模块,用于若所述测试场景信息为非缓存场景,对所述应用中的缓存数据进行清除处理;或者,
所述测试执行模块,还用于:若所述指定组件的测试结果的数目达到所述采集样本数目,停止对应用中的指定组件的测试;或者,还用于对识别出的元素执行操作之后,若根据超时设置信息,判断出达到超时时长且所述指定组件在所述操作之后没有展现出其他页面,停止对应用中的指定组件的测试,并输出报警信息。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述数据处理模块,还用于若所述是否通知测试结果的设置信息为需要通知测试结果,将所述测试结果发送到指定邮箱;或者,用于若是否展现测试结果的设置信息为需要展现测试结果,将所述测试结果发送给后台服务器,以便于后台服务器对所述测试结果进行展现。
由以上技术方案可以看出,本发明实施例具有以下有益效果:
本发明实施例通过对应用中的指定组件进行测试时,读取存储的第一配置文件,所述第一配置文件包括用于定义测试时需要执行的操作的测试操作信息和用于定义测试时需要使用的测试策略信息;从而,根据所述第一配置文件对应用中的指定组件进行测试,以获得所述指定组件的测试结果。因此,本发明实施例提供的技术方案能够实现自动的对混合模式类应用中组件的测试,弥补了现有技术的空白。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例所提供的应用中组件的测试方法的实施例一的流程示意图;
图2是本发明实施例所提供的应用中组件的测试方法的实施例二的流程示意图;
图3是本发明实施例所提供的应用组件的测试框架的示例图;
图4是本发明实施例所提供的测试操作信息的生成示例图;
图5是本发明实施例所提供的生成第一配置文件的示例图;
图6是本发明实施例所提供的应用中指定组件的测试方法的示例图;
图7是本发明实施例所提供的应用中组件的测试装置的实施例一的功能方块图;
图8是本发明实施例所提供的应用中组件的测试装置的实施例二的功能方块图;
图9是本发明实施例所提供的应用中组件的测试装置的实施例三的功能方块图;
图10是本发明实施例所提供的应用中组件的测试装置的实施例四的功能方块图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二等来描述配置文件,但这些配置文件不应限于这些术语。这些术语仅用来将配置文件彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一配置文件也可以被称为第二配置文件,类似地,第二配置文件也可以被称为第一配置文件。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
实施例一
本发明实施例给出一种应用中组件的测试方法,请参考图1,其为本发明实施例所提供的应用中组件的测试方法的实施例一的流程示意图,如图所示,该方法包括以下步骤:
S101,对应用中的指定组件进行测试时,读取存储的第一配置文件,所述第一配置文件包括用于定义测试时需要执行的操作的测试操作信息和用于定义测试时需要使用的测试策略信息。
S102,根据所述第一配置文件对应用中的指定组件进行测试,以获得所述指定组件的测试结果。
实施例二
本发明实施例还给出一种应用中组件的测试方法,请参考图2,其为本发明实施例所提供的应用中组件的测试方法的实施例二的流程示意图,如图所示,在实施例一中步骤S101之前,所述测试方法还可以包括以下步骤:
S100,为应用中的指定组件生成所述测试操作信息,并根据所述测试操作信息生成第二配置文件,以及,为应用中的指定组件生成所述测试策略信息,并根据所述指定组件加载所述第二配置文件,并根据所述测试操作信息和所述第二配置文件,生成所述第一配置文件;存储所述第一配置文件。
实施例三
基于上述实施例二所提供的应用中组件的测试方法,本发明实施例对S100的具体实现方法进行描述。该步骤具体可以包括:
请参考图3,其为本发明实施例所提供的应用组件的测试框架的示例图,如图所示,可以包括:配置框架和测试框架;其中配置框架可以包括:组件配置模块、测试配置模块;测试框架可以包括:第一存储模块、测试驱动模块、测试执行模块、数据处理模块和第二存储模块。
本发明实施例中,所述组件配置模块用于根据用户在组件配置模块中的设置,生成对应的测试操作信息。该设置可以包括:设置操作顺序、设置操作顺序中每个操作的操作类型、设置操作针对的元素以及每个元素的识别方式。相应的,组件配置模块根据这些设置,生成的测试操作信息可以包括:操作顺序、操作类型、所述指定组件展现的页面中的元素的属性和所述元素的识别方式。
另外,如果操作针对的元素是输入框,用户还需要设置输入值,这样,所述测试操作信息中还需要包括输入值。
可选的,所述测试操作信息还可以包括操作说明信息。
本发明实施例中,待测试的应用是混合模式应用,例如,如图3所示,待测试的应用可以包括若干组件,每个组件用于实现该应用的一个业务功能,如某应用可以包括如下组件:T10组件、电影组件、酒店组件、外卖组件、上门组件等。
可以理解的是,本发明实施例中,若需要测试该应用中某指定组件的端到端的响应时间,可以为指定组件生成对应的测试操作信息,测试操作信息用于所述测试执行模块在对该指定组件的端到端的响应时间进行测试时,模拟用户在应用的指定组件中的操作,以实现自动测试。
需要说明的是,指定组件的端到端的响应时间指的是在指定组件中的元素上执行操作的时刻与指定组件展现出新页面之间的时间间隔。
请参考图4,其为本发明实施例所提供的测试操作信息的生成示例图,如图所示,以指定组件为电影组件为例,操作顺序包括步骤1、步骤2、步骤3、步骤4,对应的操作类型包括在输入框中的输入操作、点击操作、点击操作、点击操作,其中,输入操作有对应的输入值“上海国际影城”,点击操作没有对应的输入值,各操作所针对的元素的属性分别为:上海国际影城、安卓微图文本视图控件(android.widget.TextView)、特惠购票、android.widget.TextView,其中,各操作对应的说明信息为:找到上海国际影城、进入上海国际影城、进入特惠购票、选座。根据上述设置,可以生成测试操作信息,并将测试操作信息以脚本对象表示法(JavaScriptObjectNotation,JSON)格式记录在第二配置文件中,生成所需要的第二配置文件,生成的第二配置文件可以先存储在服务器中的指定存储位置。
如图3所示,本发明实施例中,所述测试配置模块用于根据用户在测试配置模块中的设置,生成对应的测试策略信息。该设置可以包括:测试场景的设置、采集样本数目的设置、超时设置、指定组件的设置、是否通知测试结果的设置和是否展现测试结果的设置。
相应的,所述测试策略信息包括:测试场景信息、采集样本数目、超时设置信息、是否通知测试结果的设置信息和是否展现测试结果的设置信息。
在一个具体的实现过程中,测试场景信息包括缓存场景和非缓存场景,由于两种场景下测试出的端到端的响应时间完全不同,因此通过该项设置可以检测不同场景下的响应时间。其中,若为缓存场景,则在对应用中指定组件进行测试时,可以保留应用中的缓存数据;若为非缓存场景,在对应用中指定组件进行测试时,不能保留应用中的缓存数据,因此需要对应用中的缓存数据进行清除处理,从而可以模拟出应用在安装之后的首次使用场景。
在一个具体的实现过程中,所述采集样本数目相当于测试截止条件,若所述指定组件的测试结果的数目达到该采集样本数目,则停止对应用中的指定组件的测试。
在一个具体的实现过程中,所述超时设置可以包括设置是否启用超时等待机制,以及若启用超时等待机制,设置超时时长。这样,在对指定组件进行测试的过程中,执行操作之后,根据超时设置信息,开始计时,若达到超时时长后,所述指定组件在所述操作之后还没有展现出其他页面,则停止对应用中的指定组件的测试,并输出报警信息。
在一个具体的实现过程中,还可以设置是否通知测试结果,若是否通知测试结果的设置信息为需要通知测试结果,则需要在测试完毕之后,将所述测试结果发送到指定邮箱;反之,若是否通知测试结果的设置信息为不需要通知测试结果,则不发送测试结果。
在一个具体的实现过程中,还可以设置是否展现测试结果,若是否展现测试结果的设置信息为需要展现测试结果,将所述测试结果发送给后台服务器,以便于后台服务器对所述测试结果进行展现,反之,是否展现测试结果的设置信息为不需要展现测试结果,则不发送测试结果给后台服务器。
请参考图5,其为本发明实施例所提供的生成第一配置文件的示例图,如图所示,测试配置模块还可以接收用户设置的指定组件,从而可以确定需要测试的是应用中的哪个组件,并且测试配置模块可以根据该指定组件,自动生成访问服务器的链接地址,进而从该链接地址加载上述存储在服务器中的第二配置文件,然后将生成的测试策略信息也以JSON格式记录在该第二配置文件中,生成新的配置文件,本发明实施例称为第一配置文件。
实施例四
基于上述实施例一和实施例二所提供的应用中组件的测试方法,本发明实施例对S101和S102的具体实现方法进行描述。该步骤具体可以包括:
请参考图6,其为本发明实施例所提供的应用中指定组件的测试方法的示例图,如图所示,本发明实施例中,当需要对应用中的指定组件进行测试时,测试驱动模块从存储模块中读取存储的第一配置文件,然后根据该第一配置文件驱动测试执行模块,以使得测试执行模块被驱动并获得测试驱动模块传入的第一配置文件,进而测试执行模块可以根据输入的第一配置文件,对应用中的指定组件进行测试,以获得测试结果。
举例说明,测试执行模块根据所述第一配置文件对应用中的指定组件进行测试,以获得所述指定组件的测试结果的方法可以包括但不限于:
首先,测试执行模块可以先根据操作顺序,确定指定组件展现的页面中需要识别的元素,然后,测试执行模块可以根据该元素的属性,并利用所述识别方式对所述指定组件展现的页面中的元素进行识别,以定位应用中指定组件展现的页面中的元素。接着,测试执行模块可以根据所述操作类型,对识别出的元素执行与该操作类型对应的操作;最后,由数据处理模块记录所述元素被执行操作的时刻、所述指定组件在所述操作之后展现其他页面完毕的时刻以及两个时刻之间的时间间隔,这两个时刻以及两个时刻之间间隔作为本发明实施例所需要的应用中指定组件的测试结果,并且可以由第二存储模块存储该指定组件的测试结果。
可以理解的是,测试执行模块可以根据测试配置信息,自动模拟用户在指定组件展现的页面中的元素的操作,以使得指定组件可以展现不同页面,从而可以在操作过程中记录下端到端的响应时间。
在一个具体的实现过程中,数据处理模块可以根据指定组件的测试结果,生成逗号分隔值(Comma-SeparatedValues,CSV)格式的文件,并将该文件存储在第二存储模块中。例如,该第二存储模块可以为安全数码卡(SecureDigitalMemoryCard,SD卡)。
在一个具体的实现过程中,数据处理模块可以将记录的元素被执行操作的时刻、所述指定组件在所述操作之后展现其他页面完毕的时刻以及两个时刻之间的时间间隔,以数据流的形式存储在第二存储模块中。例如,数据处理模块可以记录表1所示的数据。
HomePageRT | BeginTime | 11:21.3 | EndTime | 11:25.7 | 4458 |
HomePageRT | BeginTime | 11:48.0 | EndTime | 11:51.5 | 3568 |
MoviePage | BeginTime | 12:07.8 | EndTime | 12:12.8 | 5080 |
HomePageRT | BeginTime | 12:26.3 | EndTime | 12:30.4 | 4033 |
MoviePage | BeginTime | 12:45.9 | EndTime | 12:47.6 | 1681 |
MovieDetailPage | BeginTime | 12:58.3 | EndTime | 13:04.7 | 6387 |
HomePageRT | BeginTime | 13:13.3 | EndTime | 13:16.1 | 2830 |
MoviePage | BeginTime | 13:32.3 | EndTime | 13:34.1 | 1816 |
MovieDetailPage | BeginTime | 13:44.9 | EndTime | 13:51.3 | 6398 |
HomePageRT | BeginTime | 14:00.4 | EndTime | 14:03.1 | 2739 |
MoviePage | BeginTime | 14:19.1 | EndTime | 14:21.1 | 1971 |
MovieDetailPage | BeginTime | 14:31.8 | EndTime | 14:38.3 | 6418 |
表1
如表1所示,第一列数据为应用中指定组件的名称;第二列数据和第三列数据表示指定组件展现的页面中元素被执行操作的时刻,第四列和第五列数据表示指定组件在所述操作之后展现其他页面完毕的时刻,第六列数据表示两个时刻之间的时间间隔,即端到端的响应时长。其中,该时间间隔是以毫秒为单位记录的。
可选地,在本实施例的一个可能的实现方式中,若所述测试配置信息还包括输入值,且识别出的元素为输入框,则可以在识别出的元素中填入所述输入值。
可选地,在本实施例的一个可能的实现方式中,如图6所示,若所述测试场景信息为非缓存场景,则测试执行模块将获得的第一配置文件发送给应用,该应用可以调用接口模块,并将第一配置文件传输给该接口模块,这样,接口模块可以根据第一配置文件获知测试场景信息为非缓存场景,并对所述应用中的缓存数据进行清除处理,以模拟应用首次安装后的场景,即应用中没有缓存数据的场景。
例如,所述接口模块可以为安卓调试桥(AndroidDebugBridge,ADB)壳(shell)接口。
可选地,在本实施例的一个可能的实现方式中,所述测试执行模块在对指定组件进行测试的过程中,可以对指定组件的测试结果进行计数,若检测到所述指定组件的测试结果的数目达到设置的采集样本数目,则停止对应用中的指定组件的测试。
可选地,在本实施例的一个可能的实现方式中,所述测试执行模块在对指定组件进行测试的过程中,对识别出的元素执行操作之后,开始进行计时,若根据超时设置信息,判断出达到超时时长,但是所述指定组件在所述操作之后还没有展现出其他页面,则测试执行模块停止对应用中的指定组件的测试,并输出报警信息。
可选地,在本实施例的一个可能的实现方式中,如图6所示,若所述是否通知测试结果的设置信息为需要通知测试结果,则测试执行模块将获得的第一配置文件发送给应用,该应用可以调用数据处理模块,并将第一配置文件传输给该数据处理模块,这样,数据处理模块根据第一配置信息,获知需要通知测试结果,则将所述测试结果发送到指定邮箱。
可以理解的是,如果预先设置邮箱地址,则可以根据该邮箱地址将测试结果发送到指定邮箱,以便于用户能够获得该测试结果。或者,如果预先没有设置邮箱地址,可以在测试完毕后显示提示信息,用以测试完毕,以便于用户根据该提示信息可以从第二存储模块中获取测试结果。
可选地,在本实施例的一个可能的实现方式中,如图6所示,若是否展现测试结果的设置信息为需要展现测试结果,数据处理模块根据第一配置信息,获知需要展现测试结果,则调用后台服务器提供的接口,将所述测试结果发送给后台服务器,以便于后台服务器对所述测试结果进行展现。
在一个具体的实现过程中,数据处理模块可以将指定组件的测试结果直接发送给后台服务器,后台服务器展现该测试结果,如可以展现表1所示的测试结果。或者,数据处理模块也可根据该测试结果生成折线图或者数据图,将折线图或者数据图发送给后台服务器,以使得后台服务器展现折线图或者数据图。本发明实施例对测试结果的展现方式不进行特别限定。
本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。
图7是本发明实施例所提供的应用中组件的测试装置的实施例一的功能方块图,如图7所示,所述测试装置包括:
测试驱动模块70,用于对应用中的指定组件进行测试时,读取存储的第一配置文件,并利用所述第一配置文件驱动测试执行模块;所述第一配置文件包括用于定义测试时需要执行的操作的测试操作信息和用于定义测试时需要使用的测试策略信息;
测试执行模块71,用于被所述测试驱动模块驱动后,根据所述第一配置文件对应用中的指定组件进行测试,以获得所述指定组件的测试结果。
图8是本发明实施例所提供的应用中组件的测试装置的实施例二的功能方块图,如图8所示,所述测试装置还可以包括:组件配置模块72、测试配置模块73和第一存储模块74;
所述组件配置模块72,用于为应用中的指定组件生成所述测试操作信息,并根据所述测试操作信息生成第二配置文件;
所述测试配置模块73,用于为应用中的指定组件生成所述测试策略信息,并根据所述指定组件加载所述第二配置文件,并根据所述测试操作信息和所述第二配置文件,生成所述第一配置文件;
所述第一存储模块74,用于存储所述第一配置文件。
在一个具体的实现过程中,所述测试操作信息包括:操作顺序、操作类型、所述指定组件展现的页面中的元素的属性和所述元素的识别方式。
在一个具体的实现过程中,所述测试策略信息包括:测试场景信息、采集样本数目、超时设置信息、是否通知测试结果的设置信息和是否展现测试结果的设置信息。
在一个具体的实现过程中,所述测试配置信息还包括输入值;所述测试执行模块71用于对识别出的元素执行操作时,具体用于:在识别出的元素中填入所述输入值。
图9是本发明实施例所提供的应用中组件的测试装置的实施例三的功能方块图,如图9所示,所述测试装置还可以包括数据处理模块75和第二存储模块76;
所述测试执行模块71,具体用于:根据所述操作顺序,确定所述指定组件展现的页面中需要识别的元素;根据所述元素的属性,并利用所述识别方式对所述指定组件展现的页面中的所述元素进行识别;根据所述操作类型,对识别出的元素执行操作;
所述装置还包括:数据处理模块75,用于记录所述元素被执行操作的时刻、所述指定组件在所述操作之后展现其他页面完毕的时刻以及两个时刻之间的时间间隔,以作为所述指定组件的测试结果,并将所述指定组件的测试结果存储在第二存储模块76。
图10是本发明实施例所提供的应用中组件的测试装置的实施例四的功能方块图,如图10所示,所述测试装置还可以包括:接口模块77。
接口模块77,用于若所述测试场景信息为非缓存场景,对所述应用中的缓存数据进行清除处理;或者,
所述测试执行模块71,还用于:若所述指定组件的测试结果的数目达到所述采集样本数目,停止对应用中的指定组件的测试;或者,还用于对识别出的元素执行操作之后,若根据超时设置信息,判断出达到超时时长且所述指定组件在所述操作之后没有展现出其他页面,停止对应用中的指定组件的测试,并输出报警信息。
在一个具体的实现过程中,所述数据处理模块75,还用于若所述是否通知测试结果的设置信息为需要通知测试结果,将所述测试结果发送到指定邮箱;或者,用于若是否展现测试结果的设置信息为需要展现测试结果,将所述测试结果发送给后台服务器,以便于后台服务器对所述测试结果进行展现。
由于装置的实施例中的各单元能够执行图1和图2所示的方法,本实施例未详细描述的部分,可参考对图1和图2的相关说明。
本发明实施例的技术方案具有以下有益效果:
本发明实施例通过对应用中的指定组件进行测试时,读取存储的第一配置文件,所述第一配置文件包括用于定义测试时需要执行的操作的测试操作信息和用于定义测试时需要使用的测试策略信息;从而,根据所述第一配置文件对应用中的指定组件进行测试,以获得所述指定组件的测试结果。因此,本发明实施例提供的技术方案能够实现自动的对混合模式类应用中组件的测试,弥补了现有技术的空白。
本发明实施例中,可以对混合模式类应用中组件的端到端的响应时间进行测试,因此能够较高效率的完成测试,且降低了测试成本,并为混合模式类应用的性能评估提供可靠和准确的依据,方便了用户对混合模式类应用的优化和更新,提高了混合模式类应用的更新和研发效率。
本发明实施例可以实现自动的存储混合模式类应用中组件的测试结果,从而可以将组件的不同版本的测试结果之间进行比对,以便于用户了解应用中组件的性能趋势,决定优化策略。
本发明实施例可以实现自动的记录混合模式类应用中组件的测试结果,并可以将测试结果提供给用户,使得用户可以及时、清晰的了解混合模式类应用中组件的测试结果。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (16)
1.一种应用中组件的测试方法,其特征在于,所述方法包括:
对应用中的指定组件进行测试时,读取存储的第一配置文件,所述第一配置文件包括用于定义测试时需要执行的操作的测试操作信息和用于定义测试时需要使用的测试策略信息;
根据所述第一配置文件对应用中的指定组件进行测试,以获得所述指定组件的测试结果。
2.根据权利要求1所述的方法,其特征在于,所述对应用中的指定组件进行测试时,读取存储的第一配置文件之前,所述方法还包括:
为应用中的指定组件生成所述测试操作信息,并根据所述测试操作信息生成第二配置文件;
为应用中的指定组件生成所述测试策略信息,并根据所述指定组件加载所述第二配置文件,并根据所述测试操作信息和所述第二配置文件,生成所述第一配置文件;
存储所述第一配置文件。
3.根据权利要求2所述的方法,其特征在于,所述测试操作信息包括:操作顺序、操作类型、所述指定组件展现的页面中的元素的属性和所述元素的识别方式。
4.根据权利要求3所述的方法,其特征在于,所述测试策略信息包括:测试场景信息、采集样本数目、超时设置信息、是否通知测试结果的设置信息和是否展现测试结果的设置信息。
5.根据权利要求4所述的方法,其特征在于,根据所述第一配置文件对应用中的指定组件进行测试,以获得所述指定组件的测试结果,包括:
根据所述操作顺序,确定所述指定组件展现的页面中需要识别的元素;
根据所述元素的属性,并利用所述识别方式对所述指定组件展现的页面中的所述元素进行识别;
根据所述操作类型,对识别出的元素执行操作;
记录并存储所述元素被执行操作的时刻、所述指定组件在所述操作之后展现其他页面完毕的时刻以及两个时刻之间的时间间隔,以作为所述指定组件的测试结果。
6.根据权利要求5所述的方法,其特征在于,
所述测试配置信息还包括输入值;
所述对识别出的元素执行操作,包括:在识别出的元素中填入所述输入值。
7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:
若所述测试场景信息为非缓存场景,对所述应用中的缓存数据进行清除处理;或者,
若所述指定组件的测试结果的数目达到所述采集样本数目,停止对应用中的指定组件的测试;或者,
对识别出的元素执行操作之后,若根据超时设置信息,判断出达到超时时长且所述指定组件在所述操作之后没有展现出其他页面,停止对应用中的指定组件的测试,并输出报警信息。
8.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:
若所述是否通知测试结果的设置信息为需要通知测试结果,将所述测试结果发送到指定邮箱;或者,
若是否展现测试结果的设置信息为需要展现测试结果,将所述测试结果发送给后台服务器,以便于后台服务器对所述测试结果进行展现。
9.一种应用中组件的测试装置,其特征在于,所述装置包括:
测试驱动模块,用于对应用中的指定组件进行测试时,读取存储的第一配置文件,并利用所述第一配置文件驱动测试执行模块;所述第一配置文件包括用于定义测试时需要执行的操作的测试操作信息和用于定义测试时需要使用的测试策略信息;
测试执行模块,用于被所述测试驱动模块驱动后,根据所述第一配置文件对应用中的指定组件进行测试,以获得所述指定组件的测试结果。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括组件配置模块、测试配置模块和第一存储模块;
所述组件配置模块,用于为应用中的指定组件生成所述测试操作信息,并根据所述测试操作信息生成第二配置文件;
所述测试配置模块,用于为应用中的指定组件生成所述测试策略信息,并根据所述指定组件加载所述第二配置文件,并根据所述测试操作信息和所述第二配置文件,生成所述第一配置文件;
所述第一存储模块,用于存储所述第一配置文件。
11.根据权利要求10所述的装置,其特征在于,所述测试操作信息包括:操作顺序、操作类型、所述指定组件展现的页面中的元素的属性和所述元素的识别方式。
12.根据权利要求11所述的装置,其特征在于,所述测试策略信息包括:测试场景信息、采集样本数目、超时设置信息、是否通知测试结果的设置信息和是否展现测试结果的设置信息。
13.根据权利要求12所述的装置,其特征在于,
所述测试执行模块,具体用于:根据所述操作顺序,确定所述指定组件展现的页面中需要识别的元素;根据所述元素的属性,并利用所述识别方式对所述指定组件展现的页面中的所述元素进行识别;根据所述操作类型,对识别出的元素执行操作;
所述装置还包括:数据处理模块,用于记录所述元素被执行操作的时刻、所述指定组件在所述操作之后展现其他页面完毕的时刻以及两个时刻之间的时间间隔,以作为所述指定组件的测试结果,并将所述指定组件的测试结果存储在第二存储模块。
14.根据权利要求13所述的装置,其特征在于,所述测试配置信息还包括输入值;
所述测试执行模块用于对识别出的元素执行操作时,具体用于:在识别出的元素中填入所述输入值。
15.根据权利要求13或14所述的装置,其特征在于,
所述装置还包括:接口模块,用于若所述测试场景信息为非缓存场景,对所述应用中的缓存数据进行清除处理;或者,
所述测试执行模块,还用于:若所述指定组件的测试结果的数目达到所述采集样本数目,停止对应用中的指定组件的测试;或者,还用于对识别出的元素执行操作之后,若根据超时设置信息,判断出达到超时时长且所述指定组件在所述操作之后没有展现出其他页面,停止对应用中的指定组件的测试,并输出报警信息。
16.根据权利要求13或14所述的装置,其特征在于,
所述数据处理模块,还用于若所述是否通知测试结果的设置信息为需要通知测试结果,将所述测试结果发送到指定邮箱;或者,用于若是否展现测试结果的设置信息为需要展现测试结果,将所述测试结果发送给后台服务器,以便于后台服务器对所述测试结果进行展现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510900544.8A CN105468527B (zh) | 2015-12-09 | 2015-12-09 | 一种应用中组件的测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510900544.8A CN105468527B (zh) | 2015-12-09 | 2015-12-09 | 一种应用中组件的测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105468527A true CN105468527A (zh) | 2016-04-06 |
CN105468527B CN105468527B (zh) | 2018-09-04 |
Family
ID=55606258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510900544.8A Active CN105468527B (zh) | 2015-12-09 | 2015-12-09 | 一种应用中组件的测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105468527B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851370A (zh) * | 2019-11-20 | 2020-02-28 | 北京小米移动软件有限公司 | 程序测试方法及装置、存储介质 |
CN117093466A (zh) * | 2023-10-19 | 2023-11-21 | 腾讯科技(深圳)有限公司 | 性能测试方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090199047A1 (en) * | 2008-01-31 | 2009-08-06 | Yahoo! Inc. | Executing software performance test jobs in a clustered system |
CN102880535A (zh) * | 2012-07-24 | 2013-01-16 | 北京播思软件技术有限公司 | 一种用于移动设备的无线自动化测试装置及方法 |
CN103399810A (zh) * | 2013-08-01 | 2013-11-20 | 北京安兔兔科技有限公司 | 移动终端的性能测评方法、装置和移动终端 |
-
2015
- 2015-12-09 CN CN201510900544.8A patent/CN105468527B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090199047A1 (en) * | 2008-01-31 | 2009-08-06 | Yahoo! Inc. | Executing software performance test jobs in a clustered system |
CN102880535A (zh) * | 2012-07-24 | 2013-01-16 | 北京播思软件技术有限公司 | 一种用于移动设备的无线自动化测试装置及方法 |
CN103399810A (zh) * | 2013-08-01 | 2013-11-20 | 北京安兔兔科技有限公司 | 移动终端的性能测评方法、装置和移动终端 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851370A (zh) * | 2019-11-20 | 2020-02-28 | 北京小米移动软件有限公司 | 程序测试方法及装置、存储介质 |
CN110851370B (zh) * | 2019-11-20 | 2024-04-26 | 北京小米移动软件有限公司 | 程序测试方法及装置、存储介质 |
CN117093466A (zh) * | 2023-10-19 | 2023-11-21 | 腾讯科技(深圳)有限公司 | 性能测试方法、装置、电子设备及存储介质 |
CN117093466B (zh) * | 2023-10-19 | 2024-01-16 | 腾讯科技(深圳)有限公司 | 性能测试方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105468527B (zh) | 2018-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9454467B2 (en) | Method and apparatus for mining test coverage data | |
KR102537875B1 (ko) | 차량 ecu 소프트웨어 검증을 위한 동적 결함 주입 방법 및 장치 | |
CN110659256B (zh) | 多机房同步方法、计算设备及计算机存储介质 | |
US20170115969A1 (en) | System and method for automatically generating device drivers for run time environments | |
CN104424094A (zh) | 一种异常信息获取方法、装置及智能终端设备 | |
CN103049371A (zh) | Android应用程序测试方法和测试装置 | |
CN104182335A (zh) | 软件测试方法和装置 | |
CN102402479B (zh) | 用于静态分析的中间表示结构 | |
CN100498715C (zh) | 利用bios模拟ipmi的方法 | |
CN105653438B (zh) | 安卓设备的跨进程自动化测试方法和装置 | |
CN107608609B (zh) | 一种事件对象发送方法与装置 | |
US20130055205A1 (en) | Filtering source code analysis results | |
CN104317712A (zh) | 一种基于linux的存储服务器疲劳测试方法 | |
CN111538659B (zh) | 业务场景的接口测试方法、***、电子设备和存储介质 | |
CN103077241A (zh) | 将文件拆分后并行加载数据入库的方法 | |
JP2017084082A (ja) | シミュレーション装置、試験シナリオファイル作成方法、及び試験シナリオファイルを用いた試験方法 | |
US11003570B2 (en) | Performing a mirror test for localization testing | |
US7783927B2 (en) | Intelligent processing tools | |
CN106528429A (zh) | 一种ui界面测试方法及装置 | |
EP2883134A1 (en) | Executable software specification generation | |
CN113518187B (zh) | 视频编辑方法及设备 | |
CN105468527A (zh) | 一种应用中组件的测试方法及装置 | |
CN112395182A (zh) | 自动化测试方法、装置、设备及计算机可读存储介质 | |
KR102103590B1 (ko) | 프로그램 호환성 자동테스트 방법 및 이를 이용하는 장치 | |
CN105373339A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |