CN112115057A - 应用程序页面搭建流程的自动测试方法、装置及设备 - Google Patents

应用程序页面搭建流程的自动测试方法、装置及设备 Download PDF

Info

Publication number
CN112115057A
CN112115057A CN202011019570.7A CN202011019570A CN112115057A CN 112115057 A CN112115057 A CN 112115057A CN 202011019570 A CN202011019570 A CN 202011019570A CN 112115057 A CN112115057 A CN 112115057A
Authority
CN
China
Prior art keywords
page
test
data
building
application program
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
Application number
CN202011019570.7A
Other languages
English (en)
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.)
JD Digital Technology Holdings Co Ltd
Original Assignee
JD Digital Technology Holdings Co 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 JD Digital Technology Holdings Co Ltd filed Critical JD Digital Technology Holdings Co Ltd
Priority to CN202011019570.7A priority Critical patent/CN112115057A/zh
Publication of CN112115057A publication Critical patent/CN112115057A/zh
Pending legal-status Critical Current

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
    • G06F11/3672Test 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

应用程序页面搭建流程的自动测试方法、装置及设备
技术领域
本申请涉及软件测试技术领域,尤其涉及一种应用程序页面搭建流程的自动测试方法、装置及设备。
背景技术
在应用程序启动过程中,往往会利用页面搭建***实现应用程序中各个页面的搭建。一般,页面搭建***在搭建某个页面时,会根据页面标识获取到该页面中需要搭建的一个或多个页面模板,然后根据每个页面模板中包含的数据源链接以及用户标识定向获取符合用户画像的数据,从而展现在应用程序中。
相关技术中,页面模板在展示相关数据前,往往会判断待展示的数据是否满足预先设置的约束条件,满足则展示;不满足则不展示,同时发出报警。在应用程序上线前,都会经过软件测试,以测试其在运行过程中是否会出现漏洞,对于应用程序的页面搭建过程,也会有相应的测试,但是获取的数据往往会因为用户画像的问题或者数据源本身的数量问题,出现无法满足约束条件而发出报警的情况,而目前对于页面搭建过程的测试中,仅仅是依靠人工对于不同用户标识搭建页面的情况进行测试,人工测试耗时较长,效率较低,在有限的测试周期中,只能使用部分用户标识进行测试,覆盖的用户面不全。
发明内容
为至少在一定程度上克服相关技术中存在的问题,本申请提供一种应用程序页面搭建流程的自动测试方法、装置及设备。
根据本申请的第一方面,提供一种应用程序页面搭建流程自动测试方法,所述方法包括:
获取测试数据,所述测试数据包括页面数据获取路径、用户标识和约束条件;
基于所述用户标识和所述页面数据获取路径,获取与所述用户标识对应的页面数据;
运行预配置的测试代码,利用所述页面数据和所述约束条件对应用程序页面搭建流程进行测试。
可选的,所述获取测试数据,包括:
周期性地获取测试数据,其中,每一个周期获取的所述用户标识不同。
可选的,在所述运行预配置的测试代码之前,所述方法还包括:
基于所述约束条件和所述预配置的测试代码之间的映射关系,以及所述约束条件,获取预配置的测试代码。
可选的,所述测试数据包括用于搭建应用程序页面的页面搭建代码,所述页面搭建代码包括所述页面数据获取路径,所述方法还包括:
将所述页面搭建代码发送到预设运行环境中,以利用所述页面搭建代码在所述预设运行环境中搭建所述应用程序页面;
利用预设抓包工具抓取搭建所述应用程序页面过程中上报的异常数据,以根据所述异常数据测试搭建所述应用程序页面过程中的异常上报情况。
可选的,在将所述页面搭建代码发送到预设运行环境中,以利用所述页面搭建代码在所述预设运行环境中搭建所述应用程序页面之后,所述方法还包括:
获取搭建所述应用程序页面过程中返回的页面白屏参数;
根据所述页面白屏参数确定在搭建所述应用程序页面的过程中是否出现异常白屏情况,并在出现所述异常白屏情况时,发出报警提示。
根据本申请的第二方面,提供一种应用程序页面搭建流程的自动测试装置,所述装置包括:
第一获取模块,用于获取测试数据,所述测试数据包括页面数据获取路径、用户标识和约束条件;
第二获取模块,用于基于所述用户标识和所述页面数据获取路径,获取与所述用户标识对应的页面数据;
自动测试模块,用于运行预配置的测试代码,利用所述页面数据和所述约束条件对应用程序页面搭建流程进行测试。
可选的,所述第一获取模块包括:
第一获取单元,用于周期性地获取测试数据,其中,每一个周期获取的所述用户标识不同。
可选的,所述装置还包括:
第三获取模块,用于基于所述约束条件和所述预配置的测试代码之间的映射关系,以及所述约束条件,获取预配置的测试代码。
可选的,所述测试数据包括用于搭建应用程序页面的页面搭建代码,所述页面搭建代码包括所述页面数据获取路径,所述装置还包括:
发送模块,用于将所述页面搭建代码发送到预设运行环境中,以利用所述页面搭建代码在所述预设运行环境中搭建所述应用程序页面;
数据抓取模块,用于利用预设抓包工具抓取搭建所述应用程序页面过程中上报的异常数据,以根据所述异常数据测试搭建所述应用程序页面过程中的异常上报情况。
可选的,所述装置还包括:
第四获取模块,用于获取搭建所述应用程序页面过程中返回的页面白屏参数;
确定模块,用于根据所述页面白屏参数确定在搭建所述应用程序页面的过程中是否出现异常白屏情况,并在出现所述异常白屏情况时,发出报警提示。
根据本申请的第三方面,提供一种应用程序页面搭建流程的自动测试设备,包括:至少一个处理器和存储器;
所述处理器用于执行所述存储器中存储的应用程序页面搭建流程的自动测试程序,以实现本申请第一方面所述的应用程序页面搭建流程的自动测试方法。
本申请提供的技术方案可以包括以下有益效果:本申请首先获取测试数据,其中,测试数据包括页面数据获取路径、用户标识和约束条件,然后基于用户标识和页面数据获取路径,获取与用户标识对应的页面数据,进而运行预配置的测试代码,再利用页面数据和约束条件对应用程序页面搭建流程进行测试。基于此,利用测试数据便可以自动获取到用户标识对应的页面数据,从而利用测试代码,根据页面数据和约束条件对应用程序页面搭建流程进行自动测试,由于页面数据获取以及利用测试代码测试的过程都是基于本申请的方案自动进行的,相比于人工测试的过程,测试的速度可以大幅提升,效率也对应提高,在一定的测试周期内,本申请的自动测试方法能够测试的用户标识数量必然多于现有技术中人工测试能够测试的用户标识数量,利用本申请的方法对应用程序页面搭建流程的测试,能够覆盖的用户面更广。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请的一个实施例提供的一种应用程序页面搭建流程自动测试方法的流程示意图;
图2是本申请的另一实施例提供的一种应用程序页面搭建流程中对异常数据是否上报的测试流程示意图;
图3是本申请的另一实施例提供的一种应用程序页面搭建流程中白屏测试的流程示意图;
图4是本申请的另一实施例提供的一种应用程序页面搭建流程的自动测试装置的结构示意图;
图5是本申请的另一实施例提供的一种应用程序页面搭建流程的自动测试设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
为了便于理解本申请的方案,特对本申请中提到的应用程序页面搭建流程进行说明。一般,应用程序页面搭建流程是由应用程序页面搭建***来实现的,相关技术中,应用程序的页面往往是由多个组件构成,比如对于常见的“首页页面”,其可能是由用于展示用户基本信息的用户信息组件、用于推荐活动产品的推荐组件等组成。在搭建“首页页面”时,会从应用程序页面搭建***中获取到“首页页面”需要展示的组件,然后加载这些组件。由于各组件的底层代码中会包含一些数据获取路径(也就是在组件中需要展示的数据的数据获取路径),在加载组件的过程中,就会通过数据获取路径获取到相应的数据,进而展示到页面中。
在页面搭建技术领域中,由于搭建的过程与乐高搭建的过程类似,呈模块化,因此,在页面搭建技术领域中,会将应用程序页面搭建***称为乐高***,上述组件则会称为乐高模板。
另外,为了满足应用程序开发者的业务需求,每个乐高模板在加载时都会涉及到相应的约束条件,在加载乐高模板时,乐高模板会根据其底层涉及到的数据获取路径获取相应的数据(为了增加应用程序页面显示内容更加个性化,在获取数据时,会将用户标识加入到数据请求中,以便于能够获取到与该用户标识具有一定对应关系的数据,也就是根据用户标识对应的用户画像定向推荐数据),此时,会判断获取到的数据是否满足约束条件,比如该数据为需要展示在页面中的两个保险的简略信息(此处只有两个保险的原因可能是保险种类库中适合该用户画像的保险只有这两个,也可能是保险种类库中的有效保险只有两个,也可能是其他情况等),而约束条件为在页面中至少展示4个保险,此时,获取的数据显然不能满足该约束条件,而不满足该约束条件时,该乐高模板就不会被展示在页面中(满足则会展示),同时会将不满足约束条件的情况视为异常情况,并进行上报。
而现有技术中,对乐高模板的测试往往依赖测试速度较慢的人工测试方式,在有限的测试周期内,人工测试的效率就比较低,能够测试的用户标识的数量也会相应减少,这就会导致在测试过程中,无法较为全面的覆盖不同画像的用户,从而导致应用程序在上线后,可能有很大一部分用户在打开页面时,需要展示的数据无法满足约束条件,从而无法展示,这就会使用户体验降低。
为了解决上述技术问题,本申请利用乐高模板底层代码中涉及到的数据获取路径直接获取相应数据,并利用预配置的测试代码,确定获取的数据是否满足约束条件,从而实现对应用程序页面搭建流程的自动测试,下面以实施例的方式进行说明。
请参阅图1,图1是本申请的一个实施例提供的一种应用程序页面搭建流程自动测试方法的流程示意图。
如1所示,本实施例提供的应用程序页面搭建流程自动测试方法可以包括:
步骤S101、获取测试数据,测试数据包括页面数据获取路径、用户标识和约束条件。
其中,本步骤中,获取测试数据的方式可以是通过一个人机交互界面进行获取,比如可以是由人工将相关的测试数据输入到该人机交互界面中,以实现获取该测试数据的目的。当然,由于软件测试本身属于一个不断重复的过程,因此,每次测试的过程可能都会涉及到重复的数据,比如本步骤中的页面数据获取路径以及约束条件,因此,可以将该数据直接集成在某个存储器中,人机交互界面显示出各类数据的名称或者标识,由人工再人机交互界面中进行勾选,从而在获取测试数据时,根据勾选的名称或者标识从存储器中获取对应的数据即可。
需要说明的是,页面数据获取路径可以是获取页面数据的路径,比如可以是网络地址、存储路径等。页面数据指的是需要在应用程序页面中显示的数据,该数据可以是数值、图标、图片等。另外,用户标识可以是用于区别不同用户的标识,一般来说,每个用户都会有唯一的用户标识。由于目前的应用程序在显示数据时,都会根据不同的用户画像进行显示,以使应用程序适应各个用户的个性化需求,而该用户画像,往往会与用户标识进行映射,在通过页面数据获取路径获取数据时,会根据用户标识找到对应的用户画像,然后由其他平台根据用户画像定向推荐页面数据。
在本实施例中,页面数据获取路径可以是乐高模板的底层代码中涉及到的路径,为了简化本实施例自动测试过程中人工涉及到的工作量,可以直接将该底层代码复制到前述人机交互界面中,由于该底层代码的作用本身就是为了获取到该乐高模板要显示的数据,因此,在测试过程中,可以直接运行该乐高模板,便能获取到页面数据。本步骤中获取的约束条件是该乐高模板要呈现需要满足的条件,对于约束条件的具体说明,可以参考前述内容。
需要说明的是,本实施例的自动测试方法可以实现对不同乐高模板进行基于大量不同用户标识的自动测试,因此,本步骤中,获取的页面数据获取路径可以是不同乐高模板中涉及到的路径,而用户标识可以是大量的用户标识。再具体执行时,对于某一个乐高模板,对不同的用户标识进行轮询即可。
为了减轻测试过程中数据处理的压力,还可以周期性地获取测试数据,其中,每一个周期获取的用户标识都不同。在一个具体的例子中,比如共有100个用户标识,本步骤便可以将用户标识分成5批,每批20个,先获取20个用户标识,然后完成轮询后,即本周期的测试过程完成,再获取另外20个用户标识,然后再重复测试的过程,直到100个用户标识全被获取到。
步骤S102、基于用户标识和页面数据获取路径,获取与用户标识对应的页面数据。
本步骤中,获取页面数据的过程可以有多种,由于在获取时,需要根据用户标识对应的用户画像获取适应于该用户画像的数据,因此,若要获取到本步骤中的页面数据,则需要找到用户标识对应的用户画像,而获取用户画像的过程可以由执行本实施例方法的处理器实现,也可以由与本实施例的处理器通信连接的其他平台(比如用于定向推荐数据的策略平台)实现。
若由执行本实施例方法的处理器实现,本步骤则可以包括先根据用户标识匹配到相对应的用户画像,然后根据用户画像按照页面数据获取路径获取与该用户画像匹配的页面数据。在一个具体的例子中,会预先存储用户标识与用户画像之间的映射关系,其中,用户画像具体可以表现为与该用户日常行为匹配的标签,比如“游戏”、“外卖”、“网购”等标签,根据上述标签,则可以通过页面数据获取路径选择适应这些标签的页面数据,比如此时测试的乐高模板是用于投放广告的模板,那么获取到的页面数据可能就是某些游戏的图标链接或者是直达某个外卖平台的图标链接等。
若需要依靠前述提到的策略平台获取页面数据,那么本步骤中,则可以先将用户标识和页面数据获取路径发送给策略平台,然后由策略平台根据用户标识匹配对应的用户画像,再通过页面数据获取路径选择适应用户画像的页面数据,最后再返回该页面数据。需要说明的是,根据用户画像获取页面数据的过程可以参考前述对于标签的相关说明,此处不再赘述。
步骤S103、运行预配置的测试代码,利用页面数据和约束条件对应用程序页面搭建流程进行测试。
本步骤中,测试代码指的是用来测试页面数据是否满足约束条件的代码,比如约束条件为至少4个广告数据,获取的页面数据中包含2个广告数据,而预配置的测试代码就是用来比较页面数据中的数量与约束条件中的数量,从而得到测试的结果。
需要说明的是,预配置的测试代码指的是与约束条件对应的测试代码。由于不同乐高模板对应的约束条件可能不尽相同,因此,面对不同的约束条件,需要预先配置不同的测试代码,在一个例子中,每个约束条件都会对应一个测试代码,因此,在本步骤之前,本实施例的方法还可以包括获取预配置的测试代码的过程,具体可以为:基于预设的映射关系获取预配置的测试代码,映射关系为约束条件与测试代码一一对应的关系,预配置的测试代码为映射关系中与约束条件对应的测试代码。
另外,在实际的测试过程中,相似的模板之间对应的约束条件可能也会相似甚至相同,因此,为了减少测试代码的数量,对于相似或者相同的约束条件,可以采用同一个测试代码进行测试,也就是说,不同的约束条件会一一对应有各自的测试代码,但是某一个测试代码,可以对应多个约束条件。
本步骤中,通过测试代码对应用程序页面搭建流程进行测试后,会对应得出测试结果,该测试结果可以显示在显示屏的预设位置,以供测试人员进行监控以及调整约束条件。当然,为了便于测试人员对测试结果的评估,在显示测试结果时,可以针对某一约束条件直接展示不同用户标识的测试结果,比如以列表的形式显示,或者将测试过程中,符合约束条件次数以及不符合约束条件的次数显示出来。基于显示出的数据,测试人员可以直接判断出约束条件设立的是否合理,比如有很大一部分用户标识对应的页面数据无法满足约束条件,此时显示的不符合约束条件的数量会较多,这就说明约束条件设定的较不合理,可以适当调低约束条件中的要求。
本实施例中,首先获取测试数据,其中,测试数据包括页面数据获取路径、用户标识和约束条件,然后基于用户标识和页面数据获取路径,获取与用户标识对应的页面数据,进而运行预配置的测试代码,再利用页面数据和约束条件对应用程序页面搭建流程进行测试。基于此,利用测试数据便可以自动获取到用户标识对应的页面数据,从而利用测试代码,根据页面数据和约束条件对应用程序页面搭建流程进行自动测试,由于页面数据获取以及利用测试代码测试的过程都是基于本申请的方案自动进行的,相比于人工测试的过程,测试的速度可以大幅提升,效率也对应提高,在一定的测试周期内,本申请的自动测试方法能够测试的用户标识数量必然多于现有技术中人工测试能够测试的用户标识数量,利用本申请的方法对应用程序页面搭建流程的测试,能够覆盖的用户面更广。
上述实施例中,测试的为应用程序页面搭建流程中约束条件是否合理的测试,为了测试的更为全面,本申请的另一实施例还提供了在应用程序页面搭建流程中测试对不符合约束条件的数据是否进行上报的方法,请参阅图2,图2是本申请的另一实施例提供的一种应用程序页面搭建流程中对异常数据是否上报的测试流程示意图。
如图2所示,本实施例对异常数据是否上报的测试的方法可以包括:
步骤S201、将页面搭建代码发送到预设运行环境中,以利用页面搭建代码在预设运行环境中搭建应用程序页面。
需要说明的是,预设运行环境可以指虚拟机环境或者实体移动终端环境,一般,预设运行环境可以直接利用乐高模板的底层搭建代码将该乐高模板直接搭建出来,也就是类似于正常使用应用程序时的过程。在正常搭建过程中,对不符合约束条件的页面数据都会进行上报,但是不乏会出现不上报的软件缺陷,本实施例会对是否正确上报异常数据进行测试。因此,本步骤中,会先将页面搭建代码发送到预设运行环境中,预设运行环境便会利用页面搭建代码搭建该应用程序页面。
其中,页面搭建代码为测试数据中的一部分,其用于搭建应用程序页面,而且,页面搭建代码中包括了前述的页面数据获取路径,关于页面搭建代码和页面数据获取路径之间的关系,前述内容已经进行了说明,此处便不再赘述。
步骤S202、利用预设抓包工具抓取搭建应用程序页面过程中上报的异常数据,以根据异常数据测试搭建应用程序页面过程中的异常上报情况。
本步骤中,预设抓包工具为拦截查看网络数据包内容的软件。抓包工具可以对数据通信过程中的所有IP报文实施捕获并进行逐层拆包分析,在本实施例中,预先将抓包工具设置在预设运行环境中,以拦截预设运行环境上行的数据,即上报的异常数据,然后根据拦截到的异常数据测试搭建应用程序页面过程中的异常上报情况。
具体的,可以将本实施例中拦截的异常数据与前述实施例中的测试结果进行对比,以判断预设运行环境是否将所有的异常数据进行了上报。在一个具体的例子中,在预设运行环境中进行搭建时也是要基于用户标识的,以用户标识为a、约束条件为m和n为例,上述实施例的测试结果可能是a的页面数据不满足m,但是满足n,若此时抓取的异常数据空,则可以得出异常上报情况有误的结论;若此时抓取的异常数据为a的页面数据不满足m,则可以说明,该页面搭建代码的异常上报能力正常,则可以得出异常上报情况正常的结论。
另外,在应用程序页面搭建的过程中,很有可能会碰到异常白屏的情况,即无法显示出应该显示的内容,由于搭载该应用程序的终端所处的网络环境不同,白屏可能是因为网络不佳导致的,因此,为了测试除网络不佳外的硬性因素下,是否会出现异常白屏,本申请特提出了白屏测试的方法,请参阅图3,图3是本申请的另一实施例提供的一种应用程序页面搭建流程中白屏测试的流程示意图。
如图3所示,本实施例基于前述实施例中在预设运行环境搭建应用程序页面的过程实现,白屏测试的过程可以包括:
步骤S301、获取搭建应用程序页面过程中返回的页面白屏参数。
需要说明的是,页面白屏参数可以有两种,第一种是表示开始搭建到搭建完成所消耗的时间,第二种是搭建过程中未出现搭建完成的情况,而直接返回的参数,对于这两种页面白屏参数的获取以及处理,将在对步骤S302的说明中体现。
步骤S302、根据页面白屏参数确定在搭建应用程序页面的过程中是否出现异常白屏情况,并在出现异常白屏情况时,发出报警提示。
本实施例中,页面白屏参数可以有两种,根据两种页面白屏参数,确定的异常白屏情况可能也会有所不同。
对于第一种,由于开始搭建到搭建完成的过程中,应用程序页面是无法显示页面数据的,这个阶段便可以称为白屏,这种情况下,白屏的时间越长,给用户的体验就会越差,因此,可以在预设运行环境中设置定时器,利用代码控制定时器的定时过程,监测到页面搭建代码开始运行时,启动定时器,监测到搭建完成时,停止定时器,然后将定时的时间值以页面白屏参数的形式存储在预设的存储地址,等待被获取,或者直接显示在屏幕的预设位置,以起到报警提示的作用。
对于第二种,根据预设运行环境(安卓、ios等环境)的特性出现白屏且在一段时间内无法显示页面时,会直接范围一个固定的参数,该参数的出现一般是因为页面搭建代码崩溃、页面渲染崩溃等较为严重的问题,本实施例直接检测该参数,将该参数以页面白屏参数的形式存储在预设的存储地址,等待被获取,或者直接显示在屏幕的预设位置,以起到报警提示的作用。
上述两种页面白屏参数,可以直接以显示的方式反馈给测试人员,或者由测试人员主动查询获取,进而根据页面白屏参数调整页面搭建代码,以缩短白屏时间,或者解决其他问题(比如页面搭建代码崩溃、页面渲染崩溃等问题)导致的异常白屏。
请参阅图4,图4是本申请的另一实施例提供的一种应用程序页面搭建流程的自动测试装置的结构示意图。
如图4所示,本实施例提供的应用程序页面搭建流程的自动测试装置可以包括:
第一获取模块401,用于获取测试数据,测试数据包括页面数据获取路径、用户标识和约束条件;
第二获取模块402,用于基于用户标识和页面数据获取路径,获取与用户标识对应的页面数据;
自动测试模块403,用于运行预配置的测试代码,利用页面数据和约束条件对应用程序页面搭建流程进行测试。
本实施例中,首先第一获取模块会获取测试数据,其中,测试数据包括页面数据获取路径、用户标识和约束条件,然后第二获取模块基于用户标识和页面数据获取路径,获取与用户标识对应的页面数据,进而自动测试模块运行预配置的测试代码,再利用页面数据和约束条件对应用程序页面搭建流程进行测试。基于此,利用测试数据便可以自动获取到用户标识对应的页面数据,从而利用测试代码,根据页面数据和约束条件对应用程序页面搭建流程进行自动测试,由于页面数据获取以及利用测试代码测试的过程都是基于本申请的方案自动进行的,相比于人工测试的过程,测试的速度可以大幅提升,效率也对应提高,在一定的测试周期内,本申请的自动测试方法能够测试的用户标识数量必然多于现有技术中人工测试能够测试的用户标识数量,利用本申请的方法对应用程序页面搭建流程的测试,能够覆盖的用户面更广。
进一步地,第一获取模块包括:
第一获取单元,用于周期性地获取测试数据,其中,每一个周期获取的用户标识不同。
进一步地,装置还包括:
第三获取模块,用于基于预设的映射关系获取预配置的测试代码,映射关系为约束条件与测试代码一一对应的关系,预配置的测试代码为映射关系中与约束条件对应的测试代码。
进一步地,测试数据包括用于搭建应用程序页面的页面搭建代码,页面搭建代码包括页面数据获取路径,装置还包括:
发送模块,用于将页面搭建代码发送到预设运行环境中,以利用页面搭建代码在预设运行环境中搭建应用程序页面;
数据抓取模块,用于利用预设抓包工具抓取搭建应用程序页面过程中上报的异常数据,以根据异常数据测试搭建应用程序页面过程中的异常上报情况。
进一步地,装置还包括:
第四获取模块,用于获取搭建应用程序页面过程中返回的页面白屏参数;
确定模块,用于根据页面白屏参数确定在搭建应用程序页面的过程中是否出现异常白屏情况,并在出现异常白屏情况时,发出报警提示。
需要说明的是,上述模块的作用的具体说明可以参考前述实施例中相应的方法说明,此处不再赘述。
请参阅图5,图5是本申请的另一实施例提供的一种应用程序页面搭建流程的自动测试设备的结构示意图。
如图5所示,本实施例提供的自动测试设备500包括:至少一个处理器501、存储器502、至少一个网络接口503和其他用户接口504。生产节点管理生产节点管理***500中的各个组件通过总线***505耦合在一起。可理解,总线***505用于实现这些组件之间的连接通信。总线***505除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线***505。
其中,用户接口504可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
可以理解,本发明实施例中的存储器502可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本文描述的存储器502旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器502存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作***5021和第二应用程序5022。
其中,操作***5021,包含各种***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。第二应用程序5022,包含各种第二应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在第二应用程序5022中。
在本发明实施例中,通过调用存储器502存储的程序或指令,具体的,可以是第二应用程序5022中存储的程序或指令,处理器501用于执行各方法实施例所提供的方法步骤,例如包括:
获取测试数据,测试数据包括页面数据获取路径、用户标识和约束条件;
基于用户标识和页面数据获取路径,获取与用户标识对应的页面数据;
运行预配置的测试代码,利用页面数据和约束条件对应用程序页面搭建流程进行测试。
可选的,获取测试数据,包括:
周期性地获取测试数据,其中,每一个周期获取的用户标识不同。
可选的,在运行预配置的测试代码之前,方法还包括:
基于预设的映射关系获取预配置的测试代码,映射关系为约束条件与测试代码一一对应的关系,预配置的测试代码为映射关系中与约束条件对应的测试代码。
可选的,测试数据包括用于搭建应用程序页面的页面搭建代码,页面搭建代码包括页面数据获取路径,方法还包括:
将页面搭建代码发送到预设运行环境中,以利用页面搭建代码在预设运行环境中搭建应用程序页面;
利用预设抓包工具抓取搭建应用程序页面过程中上报的异常数据,以根据异常数据测试搭建应用程序页面过程中的异常上报情况。
可选的,在将页面搭建代码发送到预设运行环境中,以利用页面搭建代码在预设运行环境中搭建应用程序页面之后,方法还包括:
获取搭建应用程序页面过程中返回的页面白屏参数;
根据页面白屏参数确定在搭建应用程序页面的过程中是否出现异常白屏情况,并在出现异常白屏情况时,发出报警提示。
上述本发明实施例揭示的方法可以应用于处理器501中,或者由处理器501实现。处理器501可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器501中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器501可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器502,处理器501读取存储器502中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSPDevice,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文功能的单元来实现本文的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (11)

1.一种应用程序页面搭建流程自动测试方法,其特征在于,所述方法包括:
获取测试数据,所述测试数据包括页面数据获取路径、用户标识和约束条件;
基于所述用户标识和所述页面数据获取路径,获取与所述用户标识对应的页面数据;
运行预配置的测试代码,利用所述页面数据和所述约束条件对应用程序页面搭建流程进行测试。
2.根据权利要求1所述的方法,其特征在于,所述获取测试数据,包括:
周期性地获取测试数据,其中,每一个周期获取的所述用户标识不同。
3.根据权利要求1所述的方法,其特征在于,在所述运行预配置的测试代码之前,所述方法还包括:
基于所述约束条件和所述预配置的测试代码之间的映射关系,以及所述约束条件,获取预配置的测试代码。
4.根据权利要求1所述的方法,其特征在于,所述测试数据包括用于搭建应用程序页面的页面搭建代码,所述页面搭建代码包括所述页面数据获取路径,所述方法还包括:
将所述页面搭建代码发送到预设运行环境中,以利用所述页面搭建代码在所述预设运行环境中搭建所述应用程序页面;
利用预设抓包工具抓取搭建所述应用程序页面过程中上报的异常数据,以根据所述异常数据测试搭建所述应用程序页面过程中的异常上报情况。
5.根据权利要求4所述的方法,其特征在于,在将所述页面搭建代码发送到预设运行环境中,以利用所述页面搭建代码在所述预设运行环境中搭建所述应用程序页面之后,所述方法还包括:
获取搭建所述应用程序页面过程中返回的页面白屏参数;
根据所述页面白屏参数确定在搭建所述应用程序页面的过程中是否出现异常白屏情况,并在出现所述异常白屏情况时,发出报警提示。
6.一种应用程序页面搭建流程的自动测试装置,其特征在于,所述装置包括:
第一获取模块,用于获取测试数据,所述测试数据包括页面数据获取路径、用户标识和约束条件;
第二获取模块,用于基于所述用户标识和所述页面数据获取路径,获取与所述用户标识对应的页面数据;
自动测试模块,用于运行预配置的测试代码,利用所述页面数据和所述约束条件对应用程序页面搭建流程进行测试。
7.根据权利要求6所述的装置,其特征在于,所述第一获取模块包括:
第一获取单元,用于周期性地获取测试数据,其中,每一个周期获取的所述用户标识不同。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第三获取模块,用于基于所述约束条件和所述预配置的测试代码之间的映射关系,以及所述约束条件,获取预配置的测试代码。
9.根据权利要求6所述的装置,其特征在于,所述测试数据包括用于搭建应用程序页面的页面搭建代码,所述页面搭建代码包括所述页面数据获取路径,所述装置还包括:
发送模块,用于将所述页面搭建代码发送到预设运行环境中,以利用所述页面搭建代码在所述预设运行环境中搭建所述应用程序页面;
数据抓取模块,用于利用预设抓包工具抓取搭建所述应用程序页面过程中上报的异常数据,以根据所述异常数据测试搭建所述应用程序页面过程中的异常上报情况。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第四获取模块,用于获取搭建所述应用程序页面过程中返回的页面白屏参数;
确定模块,用于根据所述页面白屏参数确定在搭建所述应用程序页面的过程中是否出现异常白屏情况,并在出现所述异常白屏情况时,发出报警提示。
11.一种应用程序页面搭建流程的自动测试设备,其特征在于,包括:至少一个处理器和存储器;
所述处理器用于执行所述存储器中存储的应用程序页面搭建流程的自动测试程序,以实现权利要求1-5任一项所述的应用程序页面搭建流程的自动测试方法。
CN202011019570.7A 2020-09-24 2020-09-24 应用程序页面搭建流程的自动测试方法、装置及设备 Pending CN112115057A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011019570.7A CN112115057A (zh) 2020-09-24 2020-09-24 应用程序页面搭建流程的自动测试方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011019570.7A CN112115057A (zh) 2020-09-24 2020-09-24 应用程序页面搭建流程的自动测试方法、装置及设备

Publications (1)

Publication Number Publication Date
CN112115057A true CN112115057A (zh) 2020-12-22

Family

ID=73800112

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011019570.7A Pending CN112115057A (zh) 2020-09-24 2020-09-24 应用程序页面搭建流程的自动测试方法、装置及设备

Country Status (1)

Country Link
CN (1) CN112115057A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821443A (zh) * 2021-09-30 2021-12-21 腾讯科技(深圳)有限公司 应用程序的功能检测方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260308A (zh) * 2015-10-22 2016-01-20 南方科技大学 一种测试安卓Android终端的方法及装置
CN108491331A (zh) * 2018-04-13 2018-09-04 平安普惠企业管理有限公司 软件测试方法、装置、设备和计算机存储介质
CN109062780A (zh) * 2018-06-25 2018-12-21 深圳市远行科技股份有限公司 自动化测试用例的开发方法及终端设备
CN109766256A (zh) * 2018-12-21 2019-05-17 中国平安财产保险股份有限公司 应用程序中h5页面性能测试方法、装置和计算机设备
CN110750441A (zh) * 2019-09-06 2020-02-04 平安健康保险股份有限公司 一种自动化测试方法、装置、计算机设备及存储介质
CN110765001A (zh) * 2019-09-06 2020-02-07 赛诺贝斯(北京)营销技术股份有限公司 针对应用***的模块化自动测试方法和装置
US20200272558A1 (en) * 2019-02-21 2020-08-27 Microsoft Technology Licensing, Llc Automated layout testing for mobile device applications

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260308A (zh) * 2015-10-22 2016-01-20 南方科技大学 一种测试安卓Android终端的方法及装置
CN108491331A (zh) * 2018-04-13 2018-09-04 平安普惠企业管理有限公司 软件测试方法、装置、设备和计算机存储介质
CN109062780A (zh) * 2018-06-25 2018-12-21 深圳市远行科技股份有限公司 自动化测试用例的开发方法及终端设备
CN109766256A (zh) * 2018-12-21 2019-05-17 中国平安财产保险股份有限公司 应用程序中h5页面性能测试方法、装置和计算机设备
US20200272558A1 (en) * 2019-02-21 2020-08-27 Microsoft Technology Licensing, Llc Automated layout testing for mobile device applications
CN110750441A (zh) * 2019-09-06 2020-02-04 平安健康保险股份有限公司 一种自动化测试方法、装置、计算机设备及存储介质
CN110765001A (zh) * 2019-09-06 2020-02-07 赛诺贝斯(北京)营销技术股份有限公司 针对应用***的模块化自动测试方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821443A (zh) * 2021-09-30 2021-12-21 腾讯科技(深圳)有限公司 应用程序的功能检测方法、装置、设备及存储介质
CN113821443B (zh) * 2021-09-30 2023-06-16 腾讯科技(深圳)有限公司 应用程序的功能检测方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN108647141B (zh) 自动测试方法、装置、计算机可读介质及电子设备
CN112199093B (zh) 资源检查方法、装置、设备及计算机可读存储介质
CN108399119B (zh) 浏览服务内核引擎数据处理、自动化测试的方法和装置
CN113127347A (zh) 一种接口测试方法、装置、设备及可读存储介质
CN105404574B (zh) 一种智能卡与移动终端一致性测试方法及装置
CN112286825A (zh) 智能座舱的屏幕测试方法、装置及电子设备
CN115617780A (zh) 数据导入方法、装置、设备及存储介质
CN110888800A (zh) 服务交互功能的测试方法、装置、存储介质及测试***
CN111324540A (zh) 一种接口测试方法及装置
CN111563032A (zh) App调试方法、装置、计算机设备及存储介质
CN111400167A (zh) Redfish服务合规性验证方法、装置及设备和介质
CN112115057A (zh) 应用程序页面搭建流程的自动测试方法、装置及设备
CN108717357B (zh) 页面展示代码转换方法、装置、设备及计算机存储介质
CN110297749B (zh) 一种测试新功能的方法及终端
CN111104331A (zh) 软件管理方法、终端设备及计算机可读存储介质
CN108776601B (zh) 安卓h5页面的加载方法、装置、设备及存储介质
WO2014067368A1 (zh) 资源预览图的获取方法、装置以及设备
CN108037914B (zh) 一种安卓原生***结合js开发的方法及装置
CN112631949B (zh) 一种调试方法、装置、计算机设备及存储介质
CN112100086B (zh) 软件自动化测试方法、装置、设备和计算机可读存储介质
CN112068895B (zh) 代码配置方法、装置、视频播放设备及存储介质
CN112307379B (zh) 页面生成方法、装置及设备
CN110347409B (zh) 自动控制方法、客户端和服务器
CN109739752B (zh) 内置资源测试方法、装置、电子设备及可读存储介质
CN115730272A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Jingdong Technology Holding Co.,Ltd.

Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant before: Jingdong Digital Technology Holding Co., Ltd