测试页面跳转的方法、装置、存储介质、电子装置与流程

文档序号:19216873发布日期:2019-11-26 01:46阅读:299来源:国知局
测试页面跳转的方法、装置、存储介质、电子装置与流程

本发明涉及页面测试领域,具体而言,涉及一种测试页面跳转的方法、装置、存储介质、电子装置。



背景技术:

app应用里存在着大量的schemaurl跳转,常见的http跳转就是schema为http的链接,当前schemaurl链接的跳转测试主要采用人工配置链接,检测跳转,这样的问题随着业务的发展,跳转的链接数量巨大,如果代码重构后,需要对已有的做回归测试,检测链接是否工作,即是否能够跳转,这往往是一个巨大的任务。

针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。



技术实现要素:

本发明实施例提供了一种测试页面跳转的方法、装置、存储介质、电子装置,以至少解决现有技术中测试url链接的测试方式操作复杂的问题。

根据本发明的一个实施例,提供了一种测试页面跳转的方法,包括:获取针对目标应用待检测的页面跳转功能表,其中,页面跳转功能表中包括多条功能定义数据,每条功能定义数据用于定义目标应用的一个功能;分别将每条功能定义数据转换为符合预设页面跳转协议的页面跳转链接;将每个页面跳转链接分别发送至页面跳转路由中心,以使页面跳转路由中心根据预设页面跳转协议跳转至对应的页面跳转链接指示的页面;在每发送一条页面跳转链接至页面跳转路由中心之后,检测任务栈中的栈顶任务是否与对应的页面跳转链接的功能定义数据中所指示的任务相匹配,并记录检测结果。

进一步地,每条功能定义数据包括用于定义一个页面跳转功能的多个数据项,分别将每条功能定义数据转换为符合预设页面跳转协议的页面跳转链接,包括:获取符合预设跳转协议的页面跳转链接模板;确定页面跳转链接模板中的待替换字段、以及待替换字段所对应的属性;提取每条功能定义数据中对应属性的数据项,并替换至页面跳转链接模板中的对应字段位置,得到符合预设页面跳转协议的页面跳转链接。

进一步地,页面跳转功能表为sql数据表,确定页面跳转链接模板中的待替换字段、以及待替换字段所对应的属性,包括:利用sql数据库的游标对目标功能定义数据的数据项执行顺序定位;提取每条功能定义数据中对应属性的数据项,并替换至页面跳转链接模板中的对应字段位置,包括:将游标当前定位的数据项的字符替换至页面跳转链接模板中的对应字段位置。

进一步地,检测任务栈中的栈顶任务是否与对应的页面跳转链接的功能定义数据中所指示的任务相匹配,包括:获取对应的页面跳转链接的功能定义数据中的目标数据项,其中,目标数据项为页面跳转链接所指示页面的任务名称;判断任务栈的栈顶任务的名称是否为目标数据项相同。

根据本发明的另一个实施例,提供了一种测试页面跳转的装置,包括:获取模块,用于获取针对目标应用待检测的页面跳转功能表,其中,页面跳转功能表中包括多条功能定义数据,每条功能定义数据用于定义目标应用的一个功能;转换模块,用于分别将每条功能定义数据转换为符合预设页面跳转协议的页面跳转链接;发送模块,用于将每个页面跳转链接分别发送至页面跳转路由中心,以使页面跳转路由中心根据预设页面跳转协议跳转至对应的页面跳转链接指示的页面;检测模块,用于在每发送一条页面跳转链接至页面跳转路由中心之后,检测任务栈中的栈顶任务是否与对应的页面跳转链接的功能定义数据中所指示的任务相匹配,并记录检测结果。

进一步地,每条功能定义数据包括用于定义一个页面跳转功能的多个数据项,转换模块包括:第一获取单元,用于获取符合预设跳转协议的页面跳转链接模板;确定单元,用于确定页面跳转链接模板中的待替换字段、以及待替换字段所对应的属性;提取单元,用于提取每条功能定义数据中对应属性的数据项,并替换至页面跳转链接模板中的对应字段位置,得到符合预设页面跳转协议的页面跳转链接。

进一步地,页面跳转功能表为sql数据表,确定单元还用于利用sql数据库的游标对目标功能定义数据的数据项执行顺序定位;提取单元还用于将游标当前定位的数据项的字符替换至页面跳转链接模板中的对应字段位置。

进一步地,检测模块包括:第二获取单元,用于获取对应的页面跳转链接的功能定义数据中的目标数据项,其中,目标数据项为页面跳转链接所指示页面的任务名称;判断单元,用于判断任务栈的栈顶任务的名称是否为目标数据项相同。

根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

通过本发明,利用已有的页面跳转功能表,将每条功能定义数据转换为符合页面跳转协议的页面跳转链接,在将页面跳转链接发送至页面跳转路由中心跳转至对应页面之后,可以通过检测任务栈的栈顶是否与对应的功能定义数据所指示的任务相匹配来判断是否跳转成功,从而可以实现自动的对页面跳转功能表中的每个功能进行测试并自动记录结果,解决了相关技术中测试url链接的测试方式操作复杂的技术问题,达到了自动化地测试页面跳转功能的技术效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的测试页面跳转的方法的流程图;

图2是根据本发明实施例的测试页面跳转的装置的示意图;

图3是本发明实施例的一种电子装置的硬件结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

本实施例提供了一种测试页面跳转的方法,可以运行于移动终端、手持终端或类似的运算设备之中。运行在不同的运算设备仅是方案在执行主体上的差异,本领域人员可预见在不同运算设备中运行能够产生相同的技术效果。

本实施例提供的测试页面跳转的方法,利用已有的页面跳转功能表,将每条功能定义数据转换为符合页面跳转协议的页面跳转链接,在将页面跳转链接发送至页面跳转路由中心跳转至对应页面之后,可以通过检测任务栈的栈顶是否与对应的功能定义数据所指示的任务相匹配来判断是否跳转成功,从而可以实现自动的对页面跳转功能表中的每个功能进行测试并自动记录结果,解决了相关技术中测试url链接的测试方式操作复杂的技术问题,达到了自动化地测试页面跳转功能的技术效果。

如图1所示,本实施例提供的测试页面跳转的方法包括如下步骤:

步骤101,获取针对目标应用待检测的页面跳转功能表。

页面跳转功能表是存储数据的表,可以是任意形式的文件,在后续根据表中的数据自动生成链接时,可以根据表对应的数据库语言逐条读取数据并处理。例如,页面跳转功能表可以是sql数据库表等配置有操作命令集的表,表中的每一条数据用于定义一种跳转功能。

页面跳转功能表中包括多条功能定义数据,每条功能定义数据用于定义目标应用的一个功能。每条功能定义数据可以包括用于定义一个页面跳转功能的多个数据项。多个数据项可以包括例如跳转路径、跳转目标、跳转条件参数等等。其中,跳转目标用于指示跳转的目标页面,具体值可以是目标页面的任务(activity)名称。

举例来说,一个可选的页面跳转功能表可以包括如下数据项:

一条功能定义数据针对上述数据项的具体值可以是:

也即,该条功能定义数据定义了页面跳转功能的跳转目标页面的名称为“产品详情页”,跳转路径是“/community/product”,跳转的目标页面类(任务)的名称为com.xxx.productdetailactivity,登录类型如果是0则无需登录,是1则为用户登录,是2则需设置密码,是3则需预设的五项信息均齐全,该条功能定义数据中的登录类型为2。

步骤102,分别将每条功能定义数据转换为符合预设页面跳转协议的页面跳转链接。

预设页面跳转协议为urlschema协议,预设页面跳转协议用于定义页面跳转链接的具体格式,可以根据功能定义数据中所包括的数据项以及预定义的默认参数构造一个完整的页面跳转链接。

在每条功能定义数据包括用于定义一个页面跳转功能的多个数据项的情况下,步骤102分别将每条功能定义数据转换为符合预设页面跳转协议的页面跳转链接可以包括如下步骤:

步骤201,获取符合预设跳转协议的页面跳转链接模板;

步骤202,确定页面跳转链接模板中的待替换字段、以及待替换字段所对应的属性;

步骤203,提取每条功能定义数据中对应属性的数据项,并替换至页面跳转链接模板中的对应字段位置,得到符合预设页面跳转协议的页面跳转链接。

例如,一种可选的预设页面跳转协议格式为:

schema://host[:port#]/path/.../[?query-string][#anchor]

其中,字段schema为目标应用的schema协议的名称,该字段的值可以是预设的默认值,例如patoa,由于同一个目标应用所使用的schema协议的名称相同,因此,该字段可以不在页面跳转数据表中进行定义,而是在生成页面跳转链接时将该字段的默认值填充至对应位置,path为上述例举的数据项中的跳转路径。

不同应用的urlschema协议可以根据具体情况而定,本实施例对此不作具体限定。

页面跳转功能表可以是sql数据表,在执行步骤202确定页面跳转链接模板中的待替换字段、以及待替换字段所对应的属性时,可以包括:

步骤301,利用sql数据库的游标对目标功能定义数据的数据项执行顺序定位;

在执行步骤203提取每条功能定义数据中对应属性的数据项,并替换至页面跳转链接模板中的对应字段位置时,可以包括:

步骤302,将游标当前定位的数据项的字符替换至页面跳转链接模板中的对应字段位置。

举例而言,可以利用页面跳转功能表的数据库的操作指令集提供的游标功能循环地对每一条功能定义数据执行处理,每次循环中处理的具体操作是读取游标所指示的当前数据行的目标字段(如path字段)的值(如/community/product),将读取的字段值替换预设的预设页面跳转协议格式中的预设字段,如,将当前数据行的path字段的值/community/product提取出来,替换至预设的预设页面跳转协议格式“patoa://pingan.com/path”中的/path,得到patoa://pingan.com/community/product,也即,在每次循环中,基于目标应用的预设页面跳转协议所定义的格式提取所需要的数据项,拼接成一条完整的页面跳转链接(url)。

步骤103,将每个页面跳转链接分别发送至页面跳转路由中心,以使页面跳转路由中心根据预设页面跳转协议跳转至对应的页面跳转链接指示的页面。

页面跳转路由中心也即app路由中心,用于根据预设页面跳转协议解析接收到的页面跳转链接并执行相应的跳转。具体的,页面跳转路由中心通过解析接收到的url,找到跳转目标(所要跳转至的页面),处理依赖和传递参数,实现客户端各页面之间通过url跳转。

其中,页面跳转路由中心预先已经获取到目标应用的预设页面跳转协议,可以根据目标应用的预设页面跳转协议解析接收到的页面跳转链接,确定出所要跳转至的页面,并执行页面跳转。

步骤104,在每发送一条页面跳转链接至页面跳转路由中心之后,检测任务栈中的栈顶任务是否与对应的页面跳转链接的功能定义数据中所指示的任务相匹配,并记录检测结果。

任务栈是移动终端设备的操作系统中用于记录历史页面的集合,任务栈用于以先进后出的顺序存储任务,任务是与用户交互的页面的activity(任务)组件。页面的activity基于用户的操作、按照各自的打开顺序被压入任务栈中,每打开一个页面,就将该页面的activity压入任务栈中,因此,当前屏幕上显示的页面的activity在任务栈的栈顶,进而,可以用检测任务栈的栈顶的activity的名称是否与当前检测的页面跳转功能的目标页面的activity名称相同,来判断是否跳转成功。例如,检测任务栈中的栈顶任务是否与对应的页面跳转链接的功能定义数据中所指示的任务相匹配,可以包括如下步骤:

步骤401,获取对应的页面跳转链接的功能定义数据中的目标数据项,其中,目标数据项为页面跳转链接所指示页面的任务名称;

步骤402,判断任务栈的栈顶任务的名称是否为目标数据项相同。

具体的,在页面跳转功能表中的每一条功能定义数据中,存在一个用于定义目标页面的activity的数据项,数据项的值即为目标页面的activity。

在每发送一条页面跳转链接至页面跳转路由中心之后,如果检测到当前任务栈的栈顶任务为当前检测的功能定义数据中所指示的任务,则说明跳转成功(也即,跳转至功能定义数据中所指示的跳转目标的页面),并记录跳转结果。

如果当前任务栈的栈顶任务的名称不是跳转目标的页面对应的任务名称,则说明跳转失败,未跳转到指定的目标页面,可以记录跳转失败结果,后续可以由人工调试来查找跳转失败的原因。

可选的,本实施例所提供的方法可以通过脚本实现,作为一个测试工具内嵌到目标应用中,并可以和其他测试工具组成测试包,适用于目标应用的开发测试阶段。其中,上述的页面跳转路由中心也是一种测试用的工具,在发布版本中会去除测试包。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例2

在本实施例中还提供了一种测试页面跳转的装置,该装置用于实现上述实施例1及其优选实施方式,对于本实施例中未详述的术语或实现方式,可参见实施例1中的相关说明,已经进行过说明的不再赘述。

如以下所使用的术语“模块”,是可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可以被构想的。

图2是根据本发明实施例的测试页面跳转的装置的示意图,如图2所示,该装置包括:获取模块10,转换模块20,发送模块30和检测模块40。

其中,获取模块用于获取针对目标应用待检测的页面跳转功能表,其中,页面跳转功能表中包括多条功能定义数据,每条功能定义数据用于定义目标应用的一个功能;转换模块用于分别将每条功能定义数据转换为符合预设页面跳转协议的页面跳转链接;发送模块用于将每个页面跳转链接分别发送至页面跳转路由中心,以使页面跳转路由中心根据预设页面跳转协议跳转至对应的页面跳转链接指示的页面;检测模块用于在每发送一条页面跳转链接至页面跳转路由中心之后,检测任务栈中的栈顶任务是否与对应的页面跳转链接的功能定义数据中所指示的任务相匹配,并记录检测结果。

可选的,每条功能定义数据包括用于定义一个页面跳转功能的多个数据项,转换模块包括:第一获取单元,用于获取符合预设跳转协议的页面跳转链接模板;确定单元,用于确定页面跳转链接模板中的待替换字段、以及待替换字段所对应的属性;提取单元,用于提取每条功能定义数据中对应属性的数据项,并替换至页面跳转链接模板中的对应字段位置,得到符合预设页面跳转协议的页面跳转链接。

可选的,页面跳转功能表为sql数据表,确定单元还用于利用sql数据库的游标对目标功能定义数据的数据项执行顺序定位;提取单元还用于将游标当前定位的数据项的字符替换至页面跳转链接模板中的对应字段位置。

可选的,检测模块包括:第二获取单元,用于获取对应的页面跳转链接的功能定义数据中的目标数据项,其中,目标数据项为页面跳转链接所指示页面的任务名称;判断单元,用于判断任务栈的栈顶任务的名称是否为目标数据项相同。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

实施例3

本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

实施例4

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。以电子装置为电子装置为例,图3是本发明实施例的一种电子装置的硬件结构框图。如图3所示,电子装置可以包括一个或多个(图3中仅示出一个)处理器302(处理器302可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器304,可选地,上述电子装置还可以包括用于通信功能的传输设备306以及输入输出设备308。本领域普通技术人员可以理解,图3所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。

存储器304可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的图像的识别方法对应的计算机程序,处理器302通过运行存储在存储器304内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器304可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器304可进一步包括相对于处理器302远程设置的存储器,这些远程存储器可以通过网络连接至电子装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置306用于经由一个网络接收或者发送数据。上述的网络具体实例可包括电子装置的通信供应商提供的无线网络。在一个实例中,传输装置306包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置306可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1