自动化测试方法、装置、计算机设备和存储介质与流程

专利2022-06-29  91


本申请涉及计算机测试技术领域,具体涉及一种自动化测试方法、装置、计算机设备和存储介质。



背景技术:

传统的应用于移动设备的自动化测试技术是在pc(personalcomputer,个人计算机)端启动一个http(hypertexttransferprotocol,超文本传输协议)服务器,在移动端安装一个类似代理的代理服务器,然后http服务器与代理服务器通过tcp(transmissioncontrolprotocol,传输控制协议)通信进行发送测试命令和收集测试结果,从而完成自动化测试。这种现有的自动化测试方式由于需要测试人员手动控制各自的移动设备直连到pc端的http服务器,从而限制了移动设备的连接数量,当需要进行测试的移动设备的数量较大时,则需要调用较多的测试人员进行测试工作,且控制多个移动设备间同时执行脚本的难度较大,导致自动化测试流程的灵活性低、人工测试工作量偏大。另外,由于采用持续连接不能断开的形式,导致在执行测试脚本的测试过程中,移动设备与pc端的http服务器之间不能轻易断开,否则会容易导致测试脚本的执行结果丢失,这样极大的缩减了测试脚本的执行效率和稳定性。



技术实现要素:

本申请的主要目的为提供一种自动化测试方法、装置、计算机设备和存储介质,旨在解决现有的自动化测试方式容易导致自动化测试流程的灵活性低、人工测试工作量偏大,且测试脚本的执行效率和稳定性不高的技术问题。

本申请提出一种自动化测试方法,所述方法包括步骤:

当接收到用户触发的设备测试指令时,显示测试界面,其中,所述测试界面显示有与多个测试设备分别对应的设备标识;

接收所述用户从所述显示界面中选定的与指定测试设备对应的指定设备标识,其中,所述指定测试设备的数量为一个或多个;

根据所述指定设备标识,控制各所述指定测试设备分别安装预设的测试app,其中,每一个指定测试设备均对应安装一个相同的测试app;

在各所述指定测试设备均完成所述测试app的安装后,将与所述指定测试设备对应的测试脚本分发至各所述指定测试设备内的测试app,以通过各所述测试app分别将所述测试脚本安装于对应的各所述指定测试设备中;

当接收到所述用户触发的对所有所述指定测试设备进行自动测试的执行指令时,通过各所述测试app分别控制对应的各所述指定测试设备执行所述测试脚本中的测试用例。

可选地,所述在各所述指定测试设备均完成所述测试app的安装后,将与所述指定测试设备对应的测试脚本分发至各所述指定测试设备内的测试app的步骤之前,包括:

根据接收到的所述设备测试指令,触发预先封装的应用代码执行编译操作;

获取所述应用代码执行编译操作后生成的编译结果;

根据所述编译结果生成所述测试脚本。

可选地,所述将与所述指定测试设备对应的测试脚本分发至各所述指定测试设备内的测试app的步骤,包括:

获取所有所述指定测试设备的数量;

生成与所述数量相同的多个所述测试脚本;

将各所述测试脚本对应分配至预创建的与所述数量相同的多个子线程;

通过各所述子线程将接收到的各所述测试脚本,分发至与各所述子线程一一对应的各指定测试设备内的测试app中。

可选地,所述当接收到所述用户触发的对所有所述指定测试设备进行自动测试的执行指令时,通过各所述测试app分别控制对应的各所述指定测试设备执行所述测试脚本中的测试用例的步骤之后,包括:

接收由各所述测试app分别反馈的各测试结果,其中,所述测试结果是所述指定测试设备在执行完成所述测试脚本中的测试用例后生成的;

展示各所述测试结果。

可选地,所述接收由各所述测试app分别反馈的各测试结果的步骤之后,包括:

将所有所述测试结果填充至预创建的报告模板,生成对应的测试报告;

将所述测试报告发送至预设的收件端。

可选地,所述当接收到所述用户触发的对所有所述指定测试设备进行自动测试的执行指令时,通过各所述测试app分别控制对应的各所述指定测试设备执行所述测试脚本中的测试用例的步骤之后,包括:

判断是否接收到所述用户触发的对于指定接口的接口调试指令;

若是,通过预创建的拦截器对各所述指定测试设备的所有请求进行拦截,并展示当前的接口调用信息;

判断是否接收到所述用户输入的对于所述指定接口的操作指令;

若是,根据所述操作指令,对所述指定接口执行对应的处理。

可选地,所述根据所述操作指令,对所述指定接口执行对应的处理的步骤之后,包括:

获取所述指定接口在执行对应的处理后生成的处理结果;

根据所述处理结果,判断所述指定接口是否存在错误信息;

若是,对与所述错误信息对应的异常故障位置进行定位;

将所述错误信息与所述异常故障位置发送给测试人员。

本申请还提供一种自动化测试装置,包括:

第一接收模块,用于当接收到用户触发的设备测试指令时,显示测试界面,其中,所述测试界面显示有与多个测试设备分别对应的设备标识;

第二接收模块,用于接收所述用户从所述显示界面中选定的与指定测试设备对应的指定设备标识,其中,所述指定测试设备的数量为一个或多个;

安装模块,用于根据所述指定设备标识,控制各所述指定测试设备分别安装预设的测试app,其中,每一个指定测试设备均对应安装一个相同的测试app;

分发模块,用于在各所述指定测试设备均完成所述测试app的安装后,将与所述指定测试设备对应的测试脚本分发至各所述指定测试设备内的测试app,以通过各所述测试app分别将所述测试脚本安装于对应的各所述指定测试设备中;

测试模块,用于当接收到所述用户触发的对所有所述指定测试设备进行自动测试的执行指令时,通过各所述测试app分别控制对应的各所述指定测试设备执行所述测试脚本中的测试用例。

本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。

本申请中提供的自动化测试方法、装置、计算机设备和存储介质,具有以下有益效果:

本申请中提供的自动化测试方法、装置、计算机设备和存储介质,当接收到用户触发的设备测试指令时,显示测试界面,其中,所述测试界面显示有与多个测试设备分别对应的设备标识;接收所述用户从所述显示界面中选定的与指定测试设备对应的指定设备标识,其中,所述指定测试设备的数量为一个或多个;根据所述指定设备标识,控制各所述指定测试设备分别安装预设的测试app,其中,每一个指定测试设备均对应安装一个相同的测试app;在各所述指定测试设备均完成所述测试app的安装后,将与所述指定测试设备对应的测试脚本分发至各所述指定测试设备内的测试app,以通过各所述测试app分别将所述测试脚本安装于对应的各所述指定测试设备中;当接收到所述用户触发的对所有所述指定测试设备进行自动测试的执行指令时,通过各所述测试app分别控制对应的各所述指定测试设备执行所述测试脚本中的测试用例。通过本申请实现了对于测试设备大批量的自动化测试,有效的提高了自动化测试的效率,降低人工测试工作量,降低人工成本。另外,自动测试化装置可以通过内置于测试设备中的测试app与测试设备进行沟通交互,而不再局限于有线直连,大大增加了可管理的用于进行测试的测试设备的机型数量,进而有效的提高了自动化测试流程的智能性与灵活性。

附图说明

图1是本申请一实施例的自动化测试方法的流程示意图;

图2是本申请一实施例的自动化测试装置的结构示意图;

图3是本申请一实施例的计算机设备的结构示意图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用于解释本申请,并不用于限定本申请。

需要说明,本申请实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变,所述的连接可以是直接连接,也可以是间接连接。

参照图1,本申请一实施例的自动化测试方法,包括:

s1:当接收到用户触发的设备测试指令时,显示测试界面,其中,所述测试界面显示有与多个测试设备分别对应的设备标识;

s2:接收所述用户从所述显示界面中选定的与指定测试设备对应的指定设备标识,其中,所述指定测试设备的数量为一个或多个;

s3:根据所述指定设备标识,控制各所述指定测试设备分别安装预设的测试app,其中,每一个指定测试设备均对应安装一个相同的测试app;

s4:在各所述指定测试设备均完成所述测试app的安装后,将与所述指定测试设备对应的测试脚本分发至各所述指定测试设备内的测试app,以通过各所述测试app分别将所述测试脚本安装于对应的各所述指定测试设备中;

s5:当接收到所述用户触发的对所有所述指定测试设备进行自动测试的执行指令时,通过各所述测试app分别控制对应的各所述指定测试设备执行所述测试脚本中的测试用例。

如上述步骤s1至s5所述,本方法实施例的执行主体为自动化测试装置,具体可以为移动分发测试平台。在实际应用中,该移动分发测试平台可以通过虚拟装置,例如软件代码实现,也可以通过写入或集成有相关执行代码的实体装置实现,且可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。本实施例提供的自动化测试装置能够有效的提高对移动设备进行自动化测试的测试效率。具体地,首先判断是否接收到用户触发的设备测试指令,其中,可以在自动化测试装置上预先设置好与上述设备测试指令对应的功能开关,且用户可以通过该功能开关触发设备测试指令。上述功能开关可以是虚拟图标,字符按键,也可以是语音指令。当用户触摸上述虚拟图标或者字符按键,抑或发出预设语音时,自动化测试装置侦测到上述虚拟图标或者字符按键接收到了触摸的信号,或者自动化测试装置接收到上述预设语音时,则判定用户当前触发了设备测试指令的功能开关。如果接收到用户触发的设备测试指令,则会显示测试界面,其中,上述测试界面显示有与多个测试设备分别对应的设备标识,以供用户根据个人需求选择所需的指定测试设备进行自动化测试。在接收到上述用户从上述显示界面中选定的与指定测试设备对应的指定设备标识后,会根据上述指定设备标识,控制各上述指定测试设备分别安装预设的测试app。其中,上述指定测试设备的数量为一个或多个,且每一个指定测试设备均对应安装一个相同的测试app。在各上述指定设备均完成上述测试app的安装后,会将与上述指定测试设备对应的测试脚本分发至各上述指定测试设备内的测试app,以通过各上述测试app将上述测试脚本安装于对应的各上述指定测试设备中。其中,上述测试脚本可由自动化测试装置自动生成,也可由开发人员根据实际的功能需求进行编写后输入得到。上述测试app用于与自动化测试装置进行无线通讯、以及具有对于自动化测试装置分发的测试脚本的下载、管理、上传等功能。最后在接收到上述用户触发的对所有上述指定测试设备进行自动测试的执行指令时,则通过各上述测试app分别控制对应的各上述指定测试设备执行上述测试脚本中的测试用例,以进行对于所有指定测试设备的自动化测试。其中,可以在当前页面上设置与上述指定指令对应的预设按键,该预设按键属于虚拟控件,可选的,可以在该预设按键上设置显示文字提示,该显示文字提示用于向用户提示该预设按键会产生什么功能。举例地,对应于上述执行指令,该显示文字提示为“对测试设备进行自动测试的执行指令”。另外,上述测试脚本中包括了多个测试用例,每个测试用例可以包括多个测试步骤。通过本实施例实现了对于测试设备大批量的自动化测试,有效的提高了自动化测试的效率,降低人工测试工作量,降低人工成本。另外,自动测试胡装置可以通过内置于测试设备中的测试app与测试设备进行沟通交互,而不再局限于有线直连,大大增加了可管理的用于进行测试的测试设备的机型数量,进而有效的提高了自动化测试流程的智能性与灵活性。

进一步地,本申请一实施例中,上述步骤s4之前,包括:

s400:根据接收到的所述设备测试指令,触发预先封装的应用代码执行编译操作;

s401:获取所述应用代码执行编译操作后生成的编译结果;

s402:根据所述编译结果生成所述测试脚本。

如上述步骤s400至s402所述,在将与上述指定测试设备对应的测试脚本分发至各上述测试app之前,还包括生成上述测试脚本的过程。具体地,自动化测试装置预先存储有用于生成上述测试脚本的应用代码,当接收到用户发出的设备测试指令时,则会自动触发预先封装的应用代码执行编译操作,以通过编译测试脚本的应用代码生成对应的编译结果,进而根据该编辑结果来生成用于对指定测试设备进行自动化测试的测试脚本。其中,可以通过编译器对应用代码进行编译得到上述编译结果(即测试脚本),该编译方法可以采用现有常用的代码编译方案,在此不再赘述。本实施例通过预先设置用于生成测试脚本的应用代码,进而在需要对测试设备进行自动化测试时,能够实现用于进行自动化测试的测试脚本的自动生成,有效的减少了用户手工编写测试代码的时间,改善了用户的使用体验。在另一个实施例中,上述测试脚本除了是由测试装置自动生成,还可以是由开发人员编写并输入至测试装置中的。具体地,上述将与上述指定测试设备对应的测试脚本分发至各上述测试app的步骤之前,包括:接收测试人员输入的测试脚本;对上述测试脚本进行存储。其中,上述自动测试脚本是测试人员根据测试设备的功能所对应编写的程序代码,该程序代码可以被测试设备自动运行,用于自动测试测试设备的各项功能。另外,测试脚本在运行完成后可以提供对应的测试结果。

进一步地,本申请一实施例中,上述步骤s4,包括:

s410:获取所有所述指定测试设备的数量;

s411:生成与所述数量相同的多个所述测试脚本;

s412:将各所述测试脚本对应分配至预创建的与所述数量相同的多个子线程;

s413:通过各所述子线程将接收到的各所述测试脚本,分发至与各所述子线程一一对应的各指定测试设备内的测试app中。

如上述步骤s410至s413所述,当用户具有对多个指定测试设备进行测试的需求时,自动化测试装置可以将多个测试脚本由自动化测试装置中配置的线程池进行分配,再通过线程池将多个测试脚本对应分发至每一个指定测试设备内的测试app中。具体地,首先获取所有上述指定测试设备的数量。在获得了所有指定测试设备的数量后,再生成与上述数量相同的多个测试脚本。其中,可通过预生成的原始的一个测试脚本进行拷贝处理,来得到与上述数量相同的多个测试脚本。然后将各上述测试脚本对应分配至预创建的与上述数量相同的多个子线程;其中,上述线程池被划分为多个子线程,每一子线程对应连接一个指定测试设备,线程池用于限制自动化测试装置中执行线程的数量。最后通过各上述子线程将接收到的各上述测试脚本,依次分发至与各上述子线程一一对应的指定测试设备内的测试app中。本实施例可以根据指定测试设备的数量来自动设置对应的子线程数量,有效实现为各指定测试装备并行分配测试脚本,进而达到系统运行的最佳效果,有效避免出现线程少了浪费了系统资源,线程多了造成系统拥挤效率不高的情况。

进一步地,本申请一实施例中,上述步骤s5之后,包括:

s500:接收由各所述测试app分别反馈的各测试结果,其中,所述测试结果是所述指定测试设备在执行完成所述测试脚本中的测试用例后生成的;

s501:展示各所述测试结果。

如上述步骤s500至s501所述,在上述测试脚本中的测试用例被指定测试设备执行完成后,会自动生成对应的测试结果。上述通过各上述测试app分别控制对应的各上述指定测试设备执行上述测试脚本中的测试用例的步骤之后,包括:接收由各上述测试app分别反馈的各测试结果,其中,上述测试结果是上述指定测试设备在执行完成上述测试脚本中的测试用例后生成的。另外,上述测试结果具体可包括:测试成功或者测试失败,可以使用不同的标识来表示不同的测试结果,例如,用第一标识1表示测试结果为测试成功,用第二标识0表示测试结果为测试失败,且测试结果可以以json的方式保存。在接收到各上述测试结果后,再对各上述测试结果进行展示,例如将各上述测试结果展示在当前界面,以供用户能够清楚明了的查看到每一个指定测试设备在运行完测试脚本后的测试结果。其中,多个测试结果在自动化测试装置的当前界面上可以是以列表的形式显示,每一个指定测试设备为列表中的一行,且每一行指定测试设备在执行完测试脚本后都显示有对应的测试结果。另外,由于在对于指定测试设备进行自动化测试的过程中,测试app会对每一测试脚本在指定测试设备中的执行过程进行实施监控,并获取各指定测试设备在测试脚本执行完成后的测试结果,且上述测试结果采用了测试app按照每测试完成一个测试脚本即时回传的方式回传到自动化测试装置。当自动化测试装置获知了上述测试结果,便会将该测试脚本在对应的指定测试设备的测试结果在对应行进行显示。使得测试人员可以通过自动化测试装置的界面来查看各指定测试设备所对应的测试结果,并便于测试人员对整个自动化测试项目所包括的测试结果进行监控。

进一步地,本申请一实施例中,上述步骤s500之后,包括:

s502:将所有所述测试结果填充至预创建的报告模板,生成对应的测试报告;

s503:将所述测试报告发送至预设的收件端。

如上述步骤s502至s503所述,在接收到各测试app返回的各上述测试结果后,还可进一步根据所有该测试结果来生成对应的测试报告。具体地,首先将所有上述测试结果填充至预创建的报告模板,生成对应的测试报告,其中,上述测试报告可以包括:测试用例的名称、测试用例的编号、测试结果以及运行时间。在生成了上述测试报告后,还可对该测试报告进行展示,例如将各上述测试结果展示在当前界面,以供用户能够清楚查看。举例地,可以基于测试结果进行统计,例如对所有指定测试设备的测试结果进行统计和整合后,以测试报告的形式输出。另外,上述测试报告内容至少包括测试案例总数,测试通过数,测试通过率,测试失败数,测试失败率,测试失败案例展示,失败原因展示等统计信息。并可在当前界面将统计信息用柱形图,折线图、或饼图进行展示,以方便用户可以直观清楚的知晓本次自动化测试的测试相关信息。进一步地,还可将生成的上述测试报告发送至预设的收件端,以使得收件端用户能够接收此次自动化测试的测试相关信息,并根据测试报告进行后续的对应处理。

本申请一实施例中,上述步骤s5之后,包括:

s510:判断是否接收到所述用户触发的对于指定接口的接口调试指令;

s511:若是,通过预创建的拦截器对各所述指定测试设备的所有请求进行拦截,并展示当前的接口调用信息;

s512:判断是否接收到所述用户输入的对于所述指定接口的操作指令;

s513:若是,根据所述操作指令,对所述指定接口执行对应的处理。

如上述步骤s510至s513所述,在进行对于前端的指定测试设备的自动测试过程中,自动化测试装置还具有对于后端接口进行接口调试的功能。具体地,首先判断是否接收到用户触发的对于指定接口的接口调试指令。其中,上述指定接口为后端包含的所有接口中的任意一个接口。另外,上述接口调试指令的触发方式可参照上述设备测试指令或者执行指令的触发方式,在此不再赘述。如果接收到上述接口调试指令,则通过预创建的拦截器对各上述指定测试设备的所有请求进行拦截,并展示当前的接口调用信息。其中,通过拦截指定测试设备的所有请求,可以使得测试人员能够方便的查看后端接口的调用情况。进一步地,自动化测试装置还提供了对于后端接口的断点和重写功能。当接收到上述用户输入的对于上述指定接口的操作指令时,则会根据操作指令,对上述指定接口执行对应的处理,以实现为用户提供方便快捷对于后端接口的接口调试功能。举例地,测试人员可以对接口的request和response进行修改(例如暂停和改写处理),或者对指定接口设置断点等。

进一步地,本申请一实施例中,上述步骤s513之后,包括:

s514:获取所述指定接口在执行对应的处理后生成的处理结果;

s515:根据所述处理结果,判断所述指定接口是否存在错误信息;

s516:若是,对与所述错误信息对应的异常故障位置进行定位;

s517:将所述错误信息与所述异常故障位置发送给测试人员。

如上述步骤s514至s517所述,在对上述指定接口执行对应的处理后,会生成相应的处理结果。且在上述处理结果中可能会存在该指定接口存在接口错误的情况,此时需要查找出这些接口错误的错误信息并发给测试人员进行对应的处理。具体地,首先获取上述指定接口在执行对应的处理后生成的处理结果。然后根据上述处理结果,判断上述指定接口是否存在错误信息。如果存在错误信息,则会与上述错误信息对应的异常故障位置进行定位。其中,可以调用自动化测试装置中预先封装好的与异常处理对应的方法(例如为assert静态方法),来快速并精确定位出与上述错误信息对应的异常故障位置。在获得了上述异常故障位置,再将上述错误信息与上述异常故障位置发送给测试人员,以使得测试人员可以清楚查看到指定接口中存在错误信息的异常故障位置,以及详细的错误信息,从而后续可以针对该错误信息对接口进行重新修复处理,有效的提高了测试人员的开发沟通效率。

参照图2,本申请一实施例中还提供了一种自动化测试装置,包括:

第一接收模块1,用于当接收到用户触发的设备测试指令时,显示测试界面,其中,所述测试界面显示有与多个测试设备分别对应的设备标识;

第二接收模块2,用于接收所述用户从所述显示界面中选定的与指定测试设备对应的指定设备标识,其中,所述指定测试设备的数量为一个或多个;

安装模块3,用于根据所述指定设备标识,控制各所述指定测试设备分别安装预设的测试app,其中,每一个指定测试设备均对应安装一个相同的测试app;

分发模块4,用于在各所述指定测试设备均完成所述测试app的安装后,将与所述指定测试设备对应的测试脚本分发至各所述指定测试设备内的测试app,以通过各所述测试app分别将所述测试脚本安装于对应的各所述指定测试设备中;

测试模块5,用于当接收到所述用户触发的对所有所述指定测试设备进行自动测试的执行指令时,通过各所述测试app分别控制对应的各所述指定测试设备执行所述测试脚本中的测试用例。

本实施例中,上述自动化测试装置中的第一接收模块、第二接收模块、安装模块、分发模块与测试模块的功能和作用的实现过程具体详见上述自动化测试方法中对应步骤s1至s5的实现过程,在此不再赘述。

进一步地,本申请一实施例中,上述自动化测试装置,包括:

触发模块,用于根据接收到的所述设备测试指令,触发预先封装的应用代码执行编译操作;

第一获取模块,用于获取所述应用代码执行编译操作后生成的编译结果;

第一生成模块,用于根据所述编译结果生成所述测试脚本。

本实施例中,上述自动化测试装置中的触发模块、第一获取模块与第一生成模块的功能和作用的实现过程具体详见上述自动化测试方法中对应步骤s400至s402的实现过程,在此不再赘述。

进一步地,本申请一实施例中,上述分发模块,包括:

获取单元,用于获取所有所述指定测试设备的数量;

生成单元,用于生成与所述数量相同的多个所述测试脚本;

分配单元,用于将各所述测试脚本对应分配至预创建的与所述数量相同的多个子线程;

分发单元,用于通过各所述子线程将接收到的各所述测试脚本,分发至与各所述子线程一一对应的各指定测试设备内的测试app中。

本实施例中,上述自动化测试装置中的获取单元、生成单元、分配单元与分发单元的功能和作用的实现过程具体详见上述自动化测试方法中对应步骤s410至s413的实现过程,在此不再赘述。

进一步地,本申请一实施例中,上述自动化测试装置,包括:

第三接收模块,用于接收由各所述测试app分别反馈的各测试结果,其中,所述测试结果是所述指定测试设备在执行完成所述测试脚本中的测试用例后生成的;

展示模块,用于展示各所述测试结果。

本实施例中,上述自动化测试装置中的第三接收模块与展示模块的功能和作用的实现过程具体详见上述自动化测试方法中对应步骤s500至s501的实现过程,在此不再赘述。

进一步地,本申请一实施例中,上述自动化测试装置,包括:

第二生成模块,用于将所有所述测试结果填充至预创建的报告模板,生成对应的测试报告;

第一发送模块,用于将所述测试报告发送至预设的收件端。

本实施例中,上述自动化测试装置中的第二生成模块与第一发送模块的功能和作用的实现过程具体详见上述自动化测试方法中对应步骤s502至s503的实现过程,在此不再赘述。

进一步地,本申请一实施例中,上述自动化测试装置,包括:

第一判断模块,用于判断是否接收到所述用户触发的对于指定接口的接口调试指令;

拦截模块,用于若是,通过预创建的拦截器对各所述指定测试设备的所有请求进行拦截,并展示当前的接口调用信息;

第二判断模块,用于判断是否接收到所述用户输入的对于所述指定接口的操作指令;

处理模块,用于若是,根据所述操作指令,对所述指定接口执行对应的处理。

本实施例中,上述自动化测试装置中的第一判断模块、拦截模块、第二判断模块与处理模块的功能和作用的实现过程具体详见上述自动化测试方法中对应步骤s510至s513的实现过程,在此不再赘述。

进一步地,本申请一实施例中,上述自动化测试装置,还包括:

第二获取模块,用于获取所述指定接口在执行对应的处理后生成的处理结果;

第三判断模块,用于根据所述处理结果,判断所述指定接口是否存在错误信息;

定位模块,用于若是,对与所述错误信息对应的异常故障位置进行定位;

第二发送模块,用于将所述错误信息与所述异常故障位置发送给测试人员。

本实施例中,上述自动化测试装置中的第二获取模块、第三判断模块、定位模块与第二发送模块的功能和作用的实现过程具体详见上述自动化测试方法中对应步骤s514至s517的实现过程,在此不再赘述。

参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储测试app与测试脚本等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种自动化测试方法。

上述处理器执行上述自动化测试方法的步骤:

当接收到用户触发的设备测试指令时,显示测试界面,其中,所述测试界面显示有与多个测试设备分别对应的设备标识;

接收所述用户从所述显示界面中选定的与指定测试设备对应的指定设备标识,其中,所述指定测试设备的数量为一个或多个;

根据所述指定设备标识,控制各所述指定测试设备分别安装预设的测试app,其中,每一个指定测试设备均对应安装一个相同的测试app;

在各所述指定测试设备均完成所述测试app的安装后,将与所述指定测试设备对应的测试脚本分发至各所述指定测试设备内的测试app,以通过各所述测试app分别将所述测试脚本安装于对应的各所述指定测试设备中;

当接收到所述用户触发的对所有所述指定测试设备进行自动测试的执行指令时,通过各所述测试app分别控制对应的各所述指定测试设备执行所述测试脚本中的测试用例。

本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的装置、计算机设备的限定。

本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种自动化测试方法,具体为:

当接收到用户触发的设备测试指令时,显示测试界面,其中,所述测试界面显示有与多个测试设备分别对应的设备标识;

接收所述用户从所述显示界面中选定的与指定测试设备对应的指定设备标识,其中,所述指定测试设备的数量为一个或多个;

根据所述指定设备标识,控制各所述指定测试设备分别安装预设的测试app,其中,每一个指定测试设备均对应安装一个相同的测试app;

在各所述指定测试设备均完成所述测试app的安装后,将与所述指定测试设备对应的测试脚本分发至各所述指定测试设备内的测试app,以通过各所述测试app分别将所述测试脚本安装于对应的各所述指定测试设备中;

当接收到所述用户触发的对所有所述指定测试设备进行自动测试的执行指令时,通过各所述测试app分别控制对应的各所述指定测试设备执行所述测试脚本中的测试用例。

综上所述,本申请实施例中提供的自动化测试方法、装置、计算机设备和存储介质,当接收到用户触发的设备测试指令时,显示测试界面,其中,所述测试界面显示有与多个测试设备分别对应的设备标识;接收所述用户从所述显示界面中选定的与指定测试设备对应的指定设备标识,其中,所述指定测试设备的数量为一个或多个;根据所述指定设备标识,控制各所述指定测试设备分别安装预设的测试app,其中,每一个指定测试设备均对应安装一个相同的测试app;在各所述指定测试设备均完成所述测试app的安装后,将与所述指定测试设备对应的测试脚本分发至各所述指定测试设备内的测试app,以通过各所述测试app分别将所述测试脚本安装于对应的各所述指定测试设备中;当接收到所述用户触发的对所有所述指定测试设备进行自动测试的执行指令时,通过各所述测试app分别控制对应的各所述指定测试设备执行所述测试脚本中的测试用例。通过本申请实现了对于测试设备大批量的自动化测试,有效的提高了自动化测试的效率,降低人工测试工作量,降低人工成本。另外,自动测试化装置可以通过内置于测试设备中的测试app与测试设备进行沟通交互,而不再局限于有线直连,大大增加了可管理的用于进行测试的测试设备的机型数量,进而有效的提高了自动化测试流程的智能性与灵活性。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram通过多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。


技术特征:

1.一种自动化测试方法,其特征在于,包括:

当接收到用户触发的设备测试指令时,显示测试界面,其中,所述测试界面显示有与多个测试设备分别对应的设备标识;

接收所述用户从所述显示界面中选定的与指定测试设备对应的指定设备标识,其中,所述指定测试设备的数量为一个或多个;

根据所述指定设备标识,控制各所述指定测试设备分别安装预设的测试app,其中,每一个指定测试设备均对应安装一个相同的测试app;

在各所述指定测试设备均完成所述测试app的安装后,将与所述指定测试设备对应的测试脚本分发至各所述指定测试设备内的测试app,以通过各所述测试app分别将所述测试脚本安装于对应的各所述指定测试设备中;

当接收到所述用户触发的对所有所述指定测试设备进行自动测试的执行指令时,通过各所述测试app分别控制对应的各所述指定测试设备执行所述测试脚本中的测试用例。

2.根据权利要求1所述的自动化测试方法,其特征在于,所述在各所述指定测试设备均完成所述测试app的安装后,将与所述指定测试设备对应的测试脚本分发至各所述指定测试设备内的测试app的步骤之前,包括:

根据接收到的所述设备测试指令,触发预先封装的应用代码执行编译操作;

获取所述应用代码执行编译操作后生成的编译结果;

根据所述编译结果生成所述测试脚本。

3.根据权利要求1所述的自动化测试方法,其特征在于,所述将与所述指定测试设备对应的测试脚本分发至各所述指定测试设备内的测试app的步骤,包括:

获取所有所述指定测试设备的数量;

生成与所述数量相同的多个所述测试脚本;

将各所述测试脚本对应分配至预创建的与所述数量相同的多个子线程;

通过各所述子线程将接收到的各所述测试脚本,分发至与各所述子线程一一对应的各指定测试设备内的测试app中。

4.根据权利要求1所述的自动化测试方法,其特征在于,所述当接收到所述用户触发的对所有所述指定测试设备进行自动测试的执行指令时,通过各所述测试app分别控制对应的各所述指定测试设备执行所述测试脚本中的测试用例的步骤之后,包括:

接收由各所述测试app分别反馈的各测试结果,其中,所述测试结果是所述指定测试设备在执行完成所述测试脚本中的测试用例后生成的;

展示各所述测试结果。

5.根据权利要求4所述的自动化测试方法,其特征在于,所述接收由各所述测试app分别反馈的各测试结果的步骤之后,包括:

将所有所述测试结果填充至预创建的报告模板,生成对应的测试报告;

将所述测试报告发送至预设的收件端。

6.根据权利要求1所述的自动化测试方法,其特征在于,所述当接收到所述用户触发的对所有所述指定测试设备进行自动测试的执行指令时,通过各所述测试app分别控制对应的各所述指定测试设备执行所述测试脚本中的测试用例的步骤之后,包括:

判断是否接收到所述用户触发的对于指定接口的接口调试指令;

若是,通过预创建的拦截器对各所述指定测试设备的所有请求进行拦截,并展示当前的接口调用信息;

判断是否接收到所述用户输入的对于所述指定接口的操作指令;

若是,根据所述操作指令,对所述指定接口执行对应的处理。

7.根据权利要求6所述的自动化测试方法,其特征在于,所述根据所述操作指令,对所述指定接口执行对应的处理的步骤之后,包括:

获取所述指定接口在执行对应的处理后生成的处理结果;

根据所述处理结果,判断所述指定接口是否存在错误信息;

若是,对与所述错误信息对应的异常故障位置进行定位;

将所述错误信息与所述异常故障位置发送给测试人员。

8.一种自动化测试装置,其特征在于,包括:

第一接收模块,用于当接收到用户触发的设备测试指令时,显示测试界面,其中,所述测试界面显示有与多个测试设备分别对应的设备标识;

第二接收模块,用于接收所述用户从所述显示界面中选定的与指定测试设备对应的指定设备标识,其中,所述指定测试设备的数量为一个或多个;

安装模块,用于根据所述指定设备标识,控制各所述指定测试设备分别安装预设的测试app,其中,每一个指定测试设备均对应安装一个相同的测试app;

分发模块,用于在各所述指定测试设备均完成所述测试app的安装后,将与所述指定测试设备对应的测试脚本分发至各所述指定测试设备内的测试app,以通过各所述测试app分别将所述测试脚本安装于对应的各所述指定测试设备中;

测试模块,用于当接收到所述用户触发的对所有所述指定测试设备进行自动测试的执行指令时,通过各所述测试app分别控制对应的各所述指定测试设备执行所述测试脚本中的测试用例。

9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。

10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。

技术总结
本申请揭示了一种自动化测试方法、装置、计算机设备和存储介质,其中方法包括:当接收到用户触发的设备测试指令时,显示测试界面;接收用户从显示界面中选定的与指定测试设备对应的指定设备标识;根据指定设备标识,控制各指定测试设备分别安装预设的测试APP;在各指定测试设备均完成测试APP的安装后,将与指定测试设备对应的测试脚本分发至各测试APP;当接收到用户触发的对所有指定测试设备进行自动测试的执行指令时,通过各测试APP分别控制对应的各指定测试设备执行测试脚本中的测试用例。通过本申请实现了对于测试设备大批量的自动化测试,提高了自动化测试的效率。另外,自动化测试不再局限于有线直连,有效的提高了自动化测试流程的灵活性。

技术研发人员:张少辉
受保护的技术使用者:平安医疗健康管理股份有限公司
技术研发日:2020.01.15
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-26485.html

最新回复(0)