测试应用程序的方法及装置、计算机设备、存储介质与流程

文档序号:17720861发布日期:2019-05-22 02:09阅读:174来源:国知局
测试应用程序的方法及装置、计算机设备、存储介质与流程

本发明涉及计算机领域,尤其涉及一种测试应用程序的方法及装置、计算机设备、存储介质。



背景技术:

应用程序app的测试过程中,通过测试app的测试页面的性能可以得知应用程序的功能的好坏。

现有技术中,应用程序一般包括两部分:前端的ui部分(形成用户界面),后台的功能部分(如算法处理等),功能部分通过ui部分展示给用户,通过测试ui部分的功能可以获知应用程序的性能。在测试ui的测试页面时,如果需要app的登录态,测试方法为:在测试代码生成测试页面后,用户输入账密登录测试app查看代码功能,且每次修改代码重新生成测试环境时,都需要用户输入账密登录测试app查看前端代码结果,流程繁琐,大大增加开发人员的测试时间。

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



技术实现要素:

有鉴于此,本发明实施例提供了一种测试应用程序的方法及装置、计算机设备、存储介质,用以解决。

一方面,本发明实施例提供了一种测试应用程序的方法,所述方法包括:

在检测到应用程序的测试页面更改时,通过调用测试接口获取登录账号信息;

使用所述登录账号信息在所述应用程序的本地浏览器上登录所述测试页面,创建所述测试页面的登录态;

在所述测试页面的登录态下,测试所述测试页面的功能。

可选的,在通过调用测试接口获取登录账号信息之前,所述方法还包括:

在所述应用程序上配置所述测试接口,其中,所述测试接口用于在所述应用程序的测试状态提供与数据库之间的通讯接口,其中,所述数据库保存所述登录账号信息。

可选的,通过调用测试接口获取登录账号信息包括:

在所述应用程序在非登录态的测试页面发起本地请求时,根据反向代理nginx服务器的配置信息,将所述本地请求的对象修改为所述测试接口;

使用所述nginx服务器调用所述测试接口在指定存储位置读取所述登录账号信息。

可选的,在通过所述测试接口在指定存储位置读取所述登录账号信息之后,所述方法还包括:

根据所述登录账号信息生成后端配置文件,并将所述后端配置文件封装成模拟接口返回数据,其中,所述模拟接口返回数据为预定格式的数据;

解析所述模拟接口返回数据,得到所述登录账号信息。

可选的,在通过调用测试接口获取登录账号信息之后,所述方法还包括:

将所述登录账号信息以请求参数的形式保存到android服务的intent中,其中,所述android服务的intent为所述应用程序和第三方服务之间的互通通道。

可选的,在所述登录账号信息包括多套登录账号和登录密钥时,在所述测试页面的登录态下,测试所述测试页面的功能包括:

在所述第一登录账号信息登录在所述测试页面的状态下,测试所述测试页面的第一功能;

在所述第一功能测试完成后,将所述第一登录账号信息切换为第二登录账号信息,在所述第二登录账号信息登录在所述测试页面的状态下,测试所述测试页面的第二功能。

可选的,检测到应用程序的测试页面更改包括:

检测到所述应用程序的测试代码更改,其中,所述测试代码用于在所述应用程序的用户界面生成所述测试页面。

另一方面,本发明实施例提供了一种测试应用程序的装置,所述装置包括:

获取模块,用于在检测到应用程序的测试页面更改时,通过调用测试接口获取登录账号信息;

登录模块,用于使用所述登录账号信息在所述应用程序的本地浏览器上登录所述测试页面,创建所述测试页面的登录态;

测试模块,用于在所述测试页面的登录态下,测试所述测试页面的功能。

可选的,所述装置还包括:

配置模块,用于在所述获取模块通过调用测试接口获取登录账号信息之前,在所述获取模块通过调用测试接口获取登录账号信息之前,在所述应用程序上配置所述测试接口,其中,所述测试接口用于在所述应用程序的测试状态提供与数据库之间的通讯接口,其中,所述数据库保存所述登录账号信息。

可选的,所述获取模块包括:

修改单元,用于在所述应用程序在非登录态的测试页面发起本地请求时,根据反向代理nginx服务器的配置信息,将所述本地请求的对象修改为所述测试接口;

读取单元,用于使用所述nginx服务器调用所述测试接口在指定存储位置读取所述登录账号信息。

可选的,所述获取模块所述装置还包括:

封装单元,用于在所述读取单元通过所述测试接口在指定存储位置读取所述登录账号信息之后,根据所述登录账号信息生成后端配置文件,并将所述后端配置文件封装成模拟接口返回数据,其中,所述模拟接口返回数据为预定格式的数据;

解析单元,用于解析所述模拟接口返回数据,得到所述登录账号信息。

可选的,所述装置还包括:

存储模块,用于在所述获取模块通过调用测试接口获取登录账号信息之后,将所述登录账号信息以请求参数的形式保存到android服务的intent中,其中,所述android服务的intent为所述应用程序和第三方服务之间的互通通道。

可选的,在所述登录账号信息包括多套登录账号和登录密钥时,所述测试模块包括:

第一测试单元,用于在所述第一登录账号信息登录在所述测试页面的状态下,测试所述测试页面的第一功能;

第二测试单元,用于在所述第一功能测试完成后,将所述第一登录账号信息切换为第二登录账号信息,在所述第二登录账号信息登录在所述测试页面的状态下,测试所述测试页面的第二功能。

可选的,所述获取模块检测到应用程序的测试页面更改包括:检测到所述应用程序的测试代码更改,其中,所述测试代码用于在所述应用程序的用户界面生成所述测试页面。

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

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

本发明通过调用测试接口获取登录账号信息,并登录到前端的测试页面,无需将代码上传到测试环境,也无需用户使用终端登录应用程序,就可以创建应用程序登录态,从而在登录态下进行测试,解决了现有技术中测试应用程序时效率低下的技术问题,提升了前后端的测试效率。

【附图说明】

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1是本发明实施例的一种测试应用程序的移动终端的硬件结构框图;

图2是根据本发明实施例的测试应用程序的方法的流程图;

图3是本发明实施例通过测试接口获取登录账号信息的流程图;

图4是根据本发明实施例的测试应用程序的装置的结构框图。

【具体实施方式】

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

实施例1

本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种测试应用程序的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

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

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

在本实施例中提供了一种测试应用程序的方法,图2是根据本发明实施例的测试应用程序的方法的流程图,如图2所示,该流程包括如下步骤:

步骤s202,在检测到应用程序的测试页面更改时,通过调用测试接口获取登录账号信息;

步骤s204,使用所述登录账号信息在所述应用程序的本地浏览器上登录所述测试页面,创建所述测试页面的登录态;

本实施例的测试页面可以是h5(hypertextmarkuplanguage5,第五代超级文本标记语言)页面。

步骤s206,在所述测试页面的登录态下,测试所述测试页面的功能。

通过本实施例的方案,通过调用测试接口获取登录账号信息,并登录到前端的测试页面,无需将代码上传到测试环境,也无需用户使用终端登录应用程序,就可以创建应用程序登录态,从而在登录态下进行测试,解决了现有技术中测试应用程序时效率低下的技术问题,提升了前后端的测试效率。

本实施例中的登录账号信息是用于登录或鉴权的账号和密钥(有些场景下是不需要密钥),使用登录账号信息登录到h5页面后,可以创建h5页面的登录态,在该状态下,测试页面的前端可以使用各种项目接口(即各种功能的接口)与后台通信和交互,测试页面的后台会生成一个特定的信息(可以理解为一个字符串),这个字符串就是一个令牌,是一种身份和状态的标志,用户在使用应用程序的时候(如使用博发帖时),客户端不需要携带密码,而是携带这个令牌就行了,微博后台验证这个令牌信息,从而来确定发帖请求是否是用户自己真正的请求。

本实施例获取登录账号信息完成后,使用app的登录账号信息在浏览器页面上登录,创建登录态,登录态创建成功后,浏览器注入app测试环境登录态;如果在浏览器在没有登录态的情况下直接访问,或者是登录app的账号和密钥获取失败,则会提示测试失败。

本实施例中的方案中,在通过调用测试接口获取登录账号信息之前,所述方法还包括:在所述应用程序上配置所述测试接口,其中,所述测试接口用于在所述应用程序的测试状态提供与数据库之间的通讯接口,其中,所述数据库保存所述登录账号信息。

使用该测试接口,只需要在前端通过浏览器访问,连接该测试接口的前端在本地浏览器就可以注入app测试环境登录态,app一部分运行在后台,一部分运行在前端,是一个整体,前后端通过测试接口通信,前端是用户可以看到和操作的界面,后台通过可以连接到服务器和数据库或者是其他管理实体。

图3是本发明实施例通过测试接口获取登录账号信息的流程图,如图3所示,通过调用测试接口获取登录账号信息包括:

s302,在所述应用程序在非登录态的测试页面发起本地请求时,根据反向代理nginx服务器的配置信息,将所述本地请求的对象修改为所述测试接口;

s304,使用所述nginx服务器调用所述测试接口在指定存储位置读取所述登录账号信息。

首先启动反向代理服务器(反向代理服务器用于将本地请求通过nginx服务器转发到测试环境,nginx服务器接受返回结果再返回到本地),根据在nginx本地服务器配置,在所述应用程序在非登录态的测试页面发起本地请求时,修改本地请求,如将本地请求的对象修改为测试接口的地址,通过接口在后端的指定存储位置获取用于登录app的账号和密钥,指定存储位置通过接口url(统一资源定位符)来表示;后端返回模拟app登录接口的数据,在一个示例中,账号的数据格式如:https://test-yzthd.pingan.com.cn:6443/api/autologin?clientno=“123456789”,clientno为测试账号的clientnumber,每个账号是唯一的,作为示范这里填写为123456789。请求完成后,使用app的账号和密钥在前端的浏览器页面上登录,创建登录态,登录态创建成功,浏览器已经注入了app测试环境登录态。

可选的,在通过所述测试接口在指定存储位置读取所述登录账号信息之后,方法还包括:

s11,根据所述登录账号信息生成后端配置文件,并将所述后端配置文件封装成模拟接口返回数据,其中,所述模拟接口返回数据为预定格式的数据;

s12,解析所述模拟接口返回数据,得到所述登录账号信息。

通过使用模拟接口返回数据来封装登录账号信息,可以避免登录账号信息被前端屏蔽。

在本实施例中,在通过调用测试接口获取登录账号信息之后,还包括:将所述登录账号信息以请求参数的形式保存到android服务的intent中,其中,所述android服务的intent为所述应用程序和第三方服务之间的互通通道。由于android服务的intent作为app和第三方服务之间的互通通道,在第三方服务被触发时,第三方服务可以直接从intent中获取用户的登录态信息,由此关联到app,可以起到授权登录和快速登录的效果,避免用户从前在第三方服务上重新获取登录账号信息或者是创建登录账号信息。

在本实施例的一个实施方式中,在所述登录账号信息包括多套登录账号和登录密钥时,在所述测试页面的登录态下,测试所述测试页面的功能包括:

s21,在所述第一登录账号信息登录在所述测试页面的状态下,测试所述测试页面的第一功能;

s22,在所述第一功能测试完成后,将所述第一登录账号信息切换为第二登录账号信息,在所述第二登录账号信息登录在所述测试页面的状态下,测试所述测试页面的第二功能。

第一功能与第一登录账号信息,第二功能与第二登录账号信息,或者,第一功能与第二功能相同。

可选的,将所述第一登录账号信息切换为第二登录账号信息包括:退出当前登录到本地浏览器的测试页面第一登录账号信息;在候选账号集中选择第二登录账号信息,使用第二登录账号信息在所述应用程序的本地浏览器上登录所述测试页面,创建所述测试页面的登录态。

通过本实施方式,可以使用多个登录账号信息依次登录,或者是在多个登录账号信息中切换。测试所述测试页面的功能,软件测试是为了发现错误而执行程序的过程,或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而设计的一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。

通过本实施例的整体方案,可以实现在浏览器访问本地h5页面就可以获取测试环境登录态,前端就可以在本地开发环境中的js通过ajax反向代理去请求实际的项目接口,而且只需修改模拟app登录接口的clientno(每个clientno对应不同的用户数据或数据场景),就可以返回不同的用户数据或数据场景,不需要把项目上传测试环境并在真机上切换账号查看请求结果,极大的提高开发和联调效率。比如微信,每个用户都有个账号,每个人的微信里的数据都是不同的,改变了微信的登录账号,可以从微信中获取不同的用户数据。

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

实施例2

在本实施例中还提供了一种调试桥接口的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图4是根据本发明实施例的测试应用程序的装置的结构框图,如图4所示,该装置包括:

获取模块40,用于在检测到应用程序的测试页面更改时,通过调用测试接口获取登录账号信息;

登录模块42,用于使用所述登录账号信息在所述应用程序的本地浏览器上登录所述测试页面,创建所述测试页面的登录态;

测试模块44,用于在所述测试页面的登录态下,测试所述测试页面的功能。

可选的,所述装置还包括:

配置模块,用于在所述获取模块通过调用测试接口获取登录账号信息之前,在所述获取模块通过调用测试接口获取登录账号信息之前,在所述应用程序上配置所述测试接口,其中,所述测试接口用于在所述应用程序的测试状态提供与数据库之间的通讯接口,其中,所述数据库保存所述登录账号信息。

可选的,所述获取模块包括:

修改单元,用于在所述应用程序在非登录态的测试页面发起本地请求时,根据反向代理nginx服务器的配置信息,将所述本地请求的对象修改为所述测试接口;

读取单元,用于使用所述nginx服务器调用所述测试接口在指定存储位置读取所述登录账号信息。

可选的,所述获取模块所述装置还包括:

封装单元,用于在所述读取单元通过所述测试接口在指定存储位置读取所述登录账号信息之后,根据所述登录账号信息生成后端配置文件,并将所述后端配置文件封装成模拟接口返回数据,其中,所述模拟接口返回数据为预定格式的数据;

解析单元,用于解析所述模拟接口返回数据,得到所述登录账号信息。

可选的,所述装置还包括:

存储模块,用于在所述获取模块通过调用测试接口获取登录账号信息之后,将所述登录账号信息以请求参数的形式保存到android服务的intent中,其中,所述android服务的intent为所述应用程序和第三方服务之间的互通通道。

可选的,在所述登录账号信息包括多套登录账号和登录密钥时,所述测试模块包括:

第一测试单元,用于在所述第一登录账号信息登录在所述测试页面的状态下,测试所述测试页面的第一功能;

第二测试单元,用于在所述第一功能测试完成后,将所述第一登录账号信息切换为第二登录账号信息,在所述第二登录账号信息登录在所述测试页面的状态下,测试所述测试页面的第二功能。

可选的,所述获取模块检测到应用程序的测试页面更改包括:检测到所述应用程序的测试代码更改,其中,所述测试代码用于在所述应用程序的用户界面生成所述测试页面。

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

实施例3

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

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

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,在检测到应用程序的测试页面更改时,通过调用测试接口获取登录账号信息;

s2,使用所述登录账号信息在所述应用程序的本地浏览器上登录所述测试页面,创建所述测试页面的登录态;

s3,在所述测试页面的登录态下,测试所述测试页面的功能。

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

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

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,在检测到应用程序的测试页面更改时,通过调用测试接口获取登录账号信息;

s2,使用所述登录账号信息在所述应用程序的本地浏览器上登录所述测试页面,创建所述测试页面的登录态;

s3,在所述测试页面的登录态下,测试所述测试页面的功能。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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