基于安卓系统的测试方法、装置及设备制造方法及图纸

技术编号:21453781 阅读:22 留言:0更新日期:2019-06-26 04:44
本发明专利技术实施例提供一种基于安卓系统的测试方法、装置及设备,其中,该方法包括:创建第一线程,并在所述第一线程上运行测试用例;创建第二线程,并在所述第二线程上创建包括Handler的被测对象,使得所述被测对象在所述测试用例对其检测前运行;通过所述测试用例对所述被测对象进行测试。本实施例提供的方法、装置及设备,能够实现对包含Handler的被测对象的测试。

【技术实现步骤摘要】
基于安卓系统的测试方法、装置及设备
本专利技术实施例涉及计算机
,尤其涉及一种基于安卓系统的测试方法、装置及设备。
技术介绍
目前针对安卓(Android)逻辑部分进行自动化测试,比较好的方式是采用安卓回归测试框架(AndroidJunit)。AndroidJunit主要提供了以下测试包进行测试:AndroidTestCase,提供了可以让我们控制事件(context)的入口,通常对单个类进行测试;ApplicationTestCase:主要是来测试应用的;ProviderTestCase:主要是来测试内容提供器(ContentProvider)的;ServiceTestCase:主要是来测试安卓服务(androidservice)的。但是,如果在使用AndroidTestCase进行类测试的时候,被测试类中使用了解决线程和线程之间通信的Handler机制,会出现无法得到期望结果的问题。
技术实现思路
本专利技术实施例提供一种基于安卓系统的测试方法、装置及设备,用以实现对包含Handler的被测对象的测试。本专利技术实施例第一方面提供一种基于安卓系统的测试方法,该方法包括:创建第一线程,并在所述第一线程上运行测试用例;创建第二线程,并在所述第二线程上创建包括Handler的被测对象,使得所述被测对象在所述测试用例对其检测前运行;通过所述测试用例对所述被测对象进行测试。可选的,所述创建第二线程,并在所述第二线程上创建包括Handler的被测对象,包括:通过预设的创建setup函数创建第二线程,并在所述第二线程中调用预设的虚函数创建包括Handler的被测对象。可选的,所述通过所述测试用例对所述被测对象进行测试,包括:通过所述测试用例调用所述被测对象的运行信息,并基于预设的检测点对所述运行信息进行检测。可选的,所述方法还包括:在完成测试后,拆除所述第二线程。本专利技术实施例第二方面提供一种测试装置,包括:第一创建模块,用于创建第一线程,并在所述第一线程上运行测试用例;第二创建模块,用于创建第二线程,并在所述第二线程上创建包括Handler的被测对象,使得所述被测对象在所述测试用例对其检测前运行;测试模块,用于通过所述测试用例对所述被测对象进行测试。可选的,所述第二创建模块,具体用于:通过预设的创建setup函数创建第二线程,并在所述第二线程中调用预设的虚函数创建包括Handler的被测对象。可选的,所述测试模块,具体用于:通过所述测试用例调用所述被测对象的运行信息,并基于预设的检测点对所述运行信息进行检测。可选的,所述装置还包括:线程拆除模块,用于在完成测试后,拆除所述第二线程。本专利技术实施例第三方面提供一种测试设备,包括:处理器;用于存储所述处理器可执行指令的存储器;当所述处理器执行所述可执行指令时,执行如下操作:创建第一线程,并在所述第一线程上运行测试用例;创建第二线程,并在所述第二线程上创建包括Handler的被测对象,使得所述被测对象在所述测试用例对其检测前运行;通过所述测试用例对所述被测对象进行测试。本专利技术实施例第四方面提供一种计算机可读存储介质包括指令,当所述指令在所述计算机上运行时,所述计算机执行如下操作:创建第一线程,并在所述第一线程上运行测试用例;创建第二线程,并在所述第二线程上创建包括Handler的被测对象,使得所述被测对象在所述测试用例对其检测前运行;通过所述测试用例对所述被测对象进行测试。本专利技术实施例,通过创建第一线程,在第一线程上运行测试用例,创建第二线程,在第二线程上创建包括Handler的被测对象,使得该被测对象在测试用例对其检测前运行,从而通过测试用例对被测对象进行测试。由于本专利技术实施例中测试用例和包括Handler的被测对象在不同的线程上运行,这样就能够保证被测对象在测试用例对其检测前就运行,使得测试用例能够根据其运行信息对其进行测试。解决了现有技术中因被测对象和测试用例在同一线程上运行所导致的测试用例测试时被测对象仍未运行的问题。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为现有技术提供的测试方法流程图;图2为本专利技术实施例提供的一种基于安卓系统的测试方法的流程图;图3为本专利技术实施例提供的一种测试装置的结构示意图;图4为本专利技术实施例提供的一种测试设备的结构示意图;图5是根据一示例性实施例示出的一种终端设备的框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术的说明书和权利要求书的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤的过程或结构的装置不必限于清楚地列出的那些结构或步骤而是可包括没有清楚地列出的或对于这些过程或装置固有的其它步骤或结构。图1为现有技术提供的测试方法流程图,如图1所示,在现有技术中测试用例和Handler消息(即包含Handler的被测对象)在同一个线程上运行。当测试用例在运行时,系统会创建一个线程运行测试用例中的内容,线程顺序会执行被测对象的创建、被测对象方法的调用、结果检查;而Handler的运行机制是在创建时确定执行线程,此后的Handler消息会进入队列中,等待执行线程空闲后进行处理,可以发现在实际执行情况中由于线程顺序执行,一直没有空闲,在执行测试用例中预设的检查点的时候Handler消息仍未被执行,导致无法获得正确的测试结果。针对上述问题,本专利技术实施例提供一种基于安卓系统的测试方法,该方法通过将测试用例和包括Handler的被测对象在两个不同的线程上运行,使得被测对象能够在测试用例对其检测之前提前运行,确保测试的正确进行。图2为本专利技术实施例提供的一种基于安卓系统的测试方法的流程图,如图2所示,该方法包括:步骤201、创建第一线程,并在所述第一线程上运行测试用例。本实施例中,可以通过预设的创建(setup)函数创建第一线程,并在第一线程上运行测试用例。本实施例中第一线程的创建方法,以及在第一线程上运行测试用例的方法可以参见现有技术,在这里不再赘述。步骤202、创建第二线程,并在所述第二线程上创建包括Handler的被测对象,使得所述被测对象在所述测试用例对其检测前运行。可选的,本实施例中第二线程的创建方法与第一线程的创建方法类似,可以通过预设的setup函数创建第二线程。通过在第二线程中调用预设的虚函数来创建包括Handler的被测对象。使得被测对象与测试用例在不同的线程上运行。本实施例中第二线程的创建方法,以及在第二线程中创建被测对象的方法可以参考现有技术,本实施例中不多做赘述。步骤203、通过所述测试用例对所述被测对象进行测试。在被测对象运行之后,测试用例获取被测对象的运行信息,并基于预设的检测点,对运行信息中的相应部分进行检测,获得测试结果。本本文档来自技高网...

【技术保护点】
1.一种基于安卓系统的测试方法,其特征在于,包括:创建第一线程,并在所述第一线程上运行测试用例;创建第二线程,并在所述第二线程上创建包括Handler的被测对象,使得所述被测对象在所述测试用例对其检测前运行;通过所述测试用例对所述被测对象进行测试。

【技术特征摘要】
1.一种基于安卓系统的测试方法,其特征在于,包括:创建第一线程,并在所述第一线程上运行测试用例;创建第二线程,并在所述第二线程上创建包括Handler的被测对象,使得所述被测对象在所述测试用例对其检测前运行;通过所述测试用例对所述被测对象进行测试。2.根据权利要求1所述的方法,其特征在于,所述创建第二线程,并在所述第二线程上创建包括Handler的被测对象,包括:通过预设的创建setup函数创建第二线程,并在所述第二线程中调用预设的虚函数创建包括Handler的被测对象。3.根据权利要求2所述的方法,其特征在于,所述通过所述测试用例对所述被测对象进行测试,包括:通过所述测试用例调用所述被测对象的运行信息,并基于预设的检测点对所述运行信息进行检测。4.根据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:在完成测试后,拆除所述第二线程。5.一种测试装置,其特征在于,包括:第一创建模块,用于创建第一线程,并在所述第一线程上运行测试用例;第二创建模块,用于创建第二线程,并在所述第二线程上创建包括Handler的被测对象,使得所述被测对象在所述测试用例对其检测前运行;测试模块,用于通过所述测试用例对所述被测对象进行测试。6.根据权利要求...

【专利技术属性】
技术研发人员:谭垠
申请(专利权)人:成都鼎桥通信技术有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1