掌桥专利:专业的专利平台
掌桥专利
首页

一种联机自动化测试系统、方法、装置及可读存储介质

文献发布时间:2023-06-19 16:11:11



技术领域

本发明涉及计算机技术领域,更具体的说是涉及一种联机自动化测试系统、方法、装置及可读存储介质。

背景技术

一直以来云平台的自动化测试都是极耗费时间和人力的过程,由于云平台测试复杂度极高,自动化测试需要进行大量配置工作,各测试项目差异化较大,往往都是以单机测试为主,测试人员每次测试都需要摘取自动化代码并进行详细的环境配置之后才能进行测试工作,技术要求较高,同时伴随大量的重复工作,每次代码更新都需要重新摘取自动化代码之后才能进行测试,如果公司存在多云平台,自动化测试工作更是需要两组技术要求都很高的团队才能完成,维护成本也居高不下。

发明内容

针对以上问题,本发明的目的在于提供一种联机自动化测试系统、方法、装置及可读存储介质,能够加快云平台自动化测试进度,同时可多人、多平台同时进行测试,并各自生成自动化测试报告。

本发明为实现上述目的,通过以下技术方案实现:一种联机自动化测试系统,包括:自动化web接口、调度器、消息队列、自动化代码库和数据库;所述自动化web接口,用于验证用户登陆、按预置云平台项目拉取配置模板,在用户按模板填写配置信息后生成模板数据下发到调度器;所述调度器,用于接收模板数据后生成配置文件,在准备容器化运行时,按模板信息从自动化代码库拉取与项目相匹配的自动化测试代码组合成自动化测试环境并运行,同时把测试进度发布到消息队列;所述消息队列,用于将测试用例执行数据存入数据库,并在测试完成后销毁相应的容器;所述自动化代码库内存储有用于组建自动化测试环境的自动化测试代码;所述数据库,用于存储测试用例执行数据。

进一步,所述自动化web接口还用于:通过调度器发布的测试进度消息队列查询数据库,获取项目用例执行数据并动态展示给用户,并在测试结束时生成测试报告。

进一步,所述调度器具体用于:根据模板信息生成配置文件,同时根据配置文件从自动化代码库中拉取与之匹配的自动化测试代码,启动容器化运行环境,并把代码和配置文件发送容器中组成完整的项目测试环境,通过容器化测试环境把测试数据及进度发送到消息队列。

进一步,所述配置信息包括:云平台管理地址、用户名和密码。

相应的,本发明还公开了一种联机自动化测试方法,包括:

在服务器上部署自动化web接口,通过自动化web接口校验用户并提供项目配置模板,以生成模板数据下发到调度器;

通过调度器接收模板数据后生成配置文件,同时在自动化代码库中拉取与配置文件匹配的自动化测试代码,组合并生成自动化测试代码;

生成容器化运行环境,并把自动化测试代码注入容器中,执行自动化测试,并把测试进度结果发布到消息队列中,将测试数据存入数据库中,如果存储失败则发布状态信息到消息队列,由自动化web接口通过订阅的消息队列展示错误信息;

自动化web接口通过订阅测试进度队列查询数据库,动态展示测试进度及测试结果;

完成测试后,通过自动化web读取数据库,生成并展示测试报告。

进一步,所述通过自动化web接口校验用户并提供项目配置模板,包括:如果通过自动化web接口校验用户失败,则直接退出测试;

如果通过自动化web接口校验用户成功,向用户提供项目配置模板;用户按模板输入项目信息后,下发模板数据到调度器,如果数据下发识别,则向用户发出提示信息。

进一步,所述生成自动化测试代码后,如果无法成功保存,则通过消息队列发布状态信息,由自动化web接口通过订阅消息队列展示错误信息。

进一步,如果所述自动化测试完成,则销毁容器化测试环境;如果所述自动化测试失败,则发布相应的状态信息到消息队列,由自动化web接口通过订阅消息队列展示错误信息。

相应的,本发明公开了一种联机自动化测试装置,包括:

存储器,用于存储联机自动化测试程序;

处理器,用于执行所述联机自动化测试程序时实现如上文任一项所述联机自动化测试方法的步骤。

相应的,本发明公开了一种可读存储介质,所述可读存储介质上存储有联机自动化测试程序,所述联机自动化测试程序被处理器执行时实现如上文任一项所述联机自动化测试方法的步骤。

对比现有技术,本发明有益效果在于:

1、本发明能够直接部署在服务器节点,无须测试人员直接和测试源代码交互,避免操作失误,同时节省大量人力去进行重复配置,并且可同时进行多项目、多版本自动化测试,仅需要登陆web按模板选择或填写必要云平台信息就可开始自动化测试,无须人工干预,直到生成测试报告,大大简化自动化测试流程,对人员技术能力要求也会大大降低。

2、本发明使得自动化测试通过BS的方式进行,大大降低测试人员自动化测试使用难度,同时避免了重复劳动,还可实现多项目测试同时进行。

3、本发明通过web接口根据不同项目设计出合理的配置模板,使用调度器并发对不同项目拉取不同自动化测试代码的调度策略,配合消息队列及数据库表设计完成多用户多项目自动化测试的目的。

4、本发明通过设计出合理的项目配置模板,根据配置模板信息正确拉取与之匹配的自动化测试代码,可极大简化自动化测试流程,同时自动化代码库与测试环境的解耦可也使得本发明具有更高的灵活性;。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。

附图说明

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

附图1是本发明具体实施方式的系统结构图。

附图2是本发明具体实施方式的方法流程图。

图中,1为自动化web接口;2为调度器;3为消息队列;4为自动化代码库;5为数据库。

具体实施方式

本发明的核心是提供一种联机自动化测试方法,现有技术中,测试人员每次进行云平台测试都需要摘取自动化代码并进行详细的环境配置之后才能进行测试工作,技术要求较高,同时伴随大量的重复工作,每次代码更新都需要重新摘取自动化代码之后才能进行测试,如果公司存在多云平台,自动化测试工作更是需要两组技术要求都很高的团队才能完成,维护成本也居高不下。

而本发明提供的联机自动化测试方法,首先,由测试人员在开启新版本云平台的自动化测试时打开浏览器,校验通过后选择项目模板,接口会从数据库读取预置的云平台项目信息,在页面上选择需要自定义的配置项,点击保存,项目模板信息会自动下发到调试器;调度器根据模板信息生成配置文件,同时根据配置文件从自动化代码库中拉取与之匹配的自动化测试代码,启动容器化运行环境,并把代码和配置文件发送容器中组成完整的项目测试环境,容器化测试环境会把测试数据及进度发送到消息队列,用例执行数据最终存入数据库,web接口通过队列进度订阅查询数据库展示测试进度,直到测试结束生成测试报告。由此可见,本发明能够加快云平台自动化测试进度,同时可多人、多平台同时进行测试,并各自生成自动化测试报告。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一:

如图1所示,本实施例提供了一种联机自动化测试系统,包括:自动化web接口1、调度器2、消息队列3、自动化代码库4和数据库5。

自动化web接口1,用于验证用户登陆、按预置云平台项目拉取配置模板,在用户按模板填写配置信息后生成模板数据下发到调度器2。其中,配置信息包括:云平台管理地址、用户名和密码。调度器2,用于接收模板数据后生成配置文件,在准备容器化运行时,按模板信息从自动化代码库拉取与项目相匹配的自动化测试代码组合成自动化测试环境并运行,同时把测试进度发布到消息队列3。消息队列3,用于将测试用例执行数据存入数据库5,并在测试完成后销毁相应的容器。自动化代码库4内存储有用于组建自动化测试环境的自动化测试代码。数据库5,用于存储测试用例执行数据。

另外,自动化web接口1还用于:通过调度器2发布的测试进度消息队列查询数据库5,获取项目用例执行数据并动态展示给用户,并在测试结束时生成测试报告。

作为示例的,调度器2具体用于:根据模板信息生成配置文件,同时根据配置文件从自动化代码库4中拉取与之匹配的自动化测试代码,启动容器化运行环境,并把代码和配置文件发送容器中组成完整的项目测试环境,通过容器化测试环境把测试数据及进度发送到消息队列4。

作为示例的,本系统中的各组件的功能具体为:

自动化web1接口负责验证用户登陆、按预置云平台项目拉取配置模板,用户按模板填写配置信息后下发到调度器2;调度器2接收到模板数据后生成配置文件并准备容器化运行时,并按模板信息从自动化代码库4拉取与项目相匹配的自动化测试代码组合成自动化测试环境并运行,同时把测试进度发布到消息队列3;用例执行数据最终通过消息队列存入数据库5,执行完成后销毁容器;web接口1通过调度器2发布的测试进度队列查询数据库,获取项目用例执行数据并动态展示给用户。

本实施例提供了一种联机自动化测试系统,能够直接部署在服务器节点,无须测试人员直接和测试源代码交互,避免操作失误,同时节省大量人力去进行重复配置,并且可同时进行多项目、多版本自动化测试,仅需要登陆web按模板选择或填写必要云平台信息就可开始自动化测试,无须人工干预,直到生成测试报告,大大简化自动化测试流程,对人员技术能力要求也会大大降低。

实施例二:

基于实施例一,如图2所示,本发明还公开了一种联机自动化测试方法,包括如下步骤:

S1:在服务器上部署自动化web接口,通过自动化web接口校验用户并提供项目配置模板,以生成模板数据下发到调度器。

其中,如果通过自动化web接口校验用户失败,则直接退出测试;如果通过自动化web接口校验用户成功,向用户提供项目配置模板;用户按模板输入项目信息后,下发模板数据到调度器,如果数据下发识别,则向用户发出提示信息。

S2:通过调度器接收模板数据后生成配置文件,同时在自动化代码库中拉取与配置文件匹配的自动化测试代码,组合并生成自动化测试代码。

另外,在生成自动化测试代码后,如果无法成功保存,则通过消息队列发布状态信息,由自动化web接口通过订阅消息队列展示错误信息。

S3:生成容器化运行环境,并把自动化测试代码注入容器中,执行自动化测试,并把测试进度结果发布到消息队列中,将测试数据存入数据库中,如果存储失败则发布状态信息到消息队列,由自动化web接口通过订阅的消息队列展示错误信息。

S4:自动化web接口通过订阅测试进度队列查询数据库,动态展示测试进度及测试结果。

需要特别说明的是,如果自动化测试顺利完成,则销毁容器化测试环境;如果自动化测试失败,则发布相应的状态信息到消息队列,由自动化web接口通过订阅消息队列展示错误信息。

S4:完成测试后,通过自动化web读取数据库,生成并展示测试报告。

本实施例提供了一种联机自动化测试方法,实现了web接口、调度器、消息队列设计及数据库表结构设计及各部分的交互,能够在WEB页面根据项目不同提供不同的配置模板,同时根据不同的模板正确拉取自动化测试代码,生成容器化运行环境并执行。从而加快了云平台自动化测试进度,同时可多人、多平台同时进行测试,并各自生成自动化测试报告。

实施例三:

基于上述实施例,本实施例还公开了一种联机自动化测试方法,包括如下步骤:

步骤1:在web页面选择项目,如果可以正确拉取项目的配置文件模板,则进入步骤2,同时通过消息队列订阅各模块的状态信息.

步骤2:通过调度器接收模板信息后生成配置文件,同时接取与配置文件匹配的自动化测试代码,组合成完整的自动化测试代码;如果可以成功保存则进入步骤3,失败则通过队列发布状态信息,web接口通过订阅的队列在步骤1中展示错误信息;

步骤3:生成容器化运行环境,并把完整的自动化测试代码注入容器中,执行自动化测试,并把测试进度结果发布到队列中,测试数据存入数据库,失败则发布状态信息到队列,web接口通过订阅的队列在步骤1中展示错误信息。

步骤4:web接口通过订阅测试进度队列查询数据库,动态展示测试进度及测试结果,完成测试则进入步骤5,失败则发布状态信息到队列,web接口通过订阅的队列在步骤1中展示错误信息;

步骤5:web接口读取数据库,生成并展示测试报告。

本实施例提供了一种联机自动化测试方法,通过web接口根据不同项目设计出合理的配置模板,使用调度器并发对不同项目拉取不同自动化测试代码的调度策略,配合消息队列及数据库表设计完成多用户多项目自动化测试的目的。

实施例四:

本实施例公开了一种联机自动化测试装置,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的联机自动化测试程序时实现以下步骤:

1、在服务器上部署自动化web接口,通过自动化web接口校验用户并提供项目配置模板,以生成模板数据下发到调度器。

2、通过调度器接收模板数据后生成配置文件,同时在自动化代码库中拉取与配置文件匹配的自动化测试代码,组合并生成自动化测试代码。

3、生成容器化运行环境,并把自动化测试代码注入容器中,执行自动化测试,并把测试进度结果发布到消息队列中,将测试数据存入数据库中,如果存储失败则发布状态信息到消息队列,由自动化web接口通过订阅的消息队列展示错误信息。

4、自动化web接口通过订阅测试进度队列查询数据库,动态展示测试进度及测试结果。

5、完成测试后,通过自动化web读取数据库,生成并展示测试报告。

进一步的,本实施例中的联机自动化测试装置,还可以包括:

输入接口,用于获取外界导入的联机自动化测试程序,并将获取到的联机自动化测试程序保存至所述存储器中,还可以用于获取外界终端设备传输的各种指令和参数,并传输至处理器中,以便处理器利用上述各种指令和参数展开相应的处理。本实施例中,所述输入接口具体可以包括但不限于USB接口、串行接口、语音输入接口、指纹输入接口、硬盘读取接口等。

输出接口,用于将处理器产生的各种数据输出至与其相连的终端设备,以便于与输出接口相连的其他终端设备能够获取到处理器产生的各种数据。本实施例中,所述输出接口具体可以包括但不限于USB接口、串行接口等。

通讯单元,用于在联机自动化测试装置和外部服务器之间建立远程通讯连接,以便于联机自动化测试装置能够将镜像文件挂载到外部服务器中。本实施例中,通讯单元具体可以包括但不限于基于无线通讯技术或有线通讯技术的远程通讯单元。

键盘,用于获取用户通过实时敲击键帽而输入的各种参数数据或指令。

显示器,用于运行服务器供电线路短路定位过程的相关信息进行实时显示。

鼠标,可以用于协助用户输入数据并简化用户的操作。

本实施例提供了一种联机自动化测试装置,能够直接部署在服务器节点,无须测试人员直接和测试源代码交互,避免操作失误,同时节省大量人力去进行重复配置,并且可同时进行多项目、多版本自动化测试,仅需要登陆web按模板选择或填写必要云平台信息就可开始自动化测试,无须人工干预,直到生成测试报告,大大简化自动化测试流程,对人员技术能力要求也会大大降低。

实施例五:

本实施例还公开了一种可读存储介质,这里所说的可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动硬盘、CD-ROM或技术领域内所公知的任意其他形式的存储介质。可读存储介质中存储有联机自动化测试程序,所述联机自动化测试程序被处理器执行时实现以下步骤:

1、在服务器上部署自动化web接口,通过自动化web接口校验用户并提供项目配置模板,以生成模板数据下发到调度器。

2、通过调度器接收模板数据后生成配置文件,同时在自动化代码库中拉取与配置文件匹配的自动化测试代码,组合并生成自动化测试代码。

3、生成容器化运行环境,并把自动化测试代码注入容器中,执行自动化测试,并把测试进度结果发布到消息队列中,将测试数据存入数据库中,如果存储失败则发布状态信息到消息队列,由自动化web接口通过订阅的消息队列展示错误信息。

4、自动化web接口通过订阅测试进度队列查询数据库,动态展示测试进度及测试结果。

5、完成测试后,通过自动化web读取数据库,生成并展示测试报告。

本实施例提供了一种可读存储介质,能够加快云平台自动化测试进度,同时可多人、多平台同时进行测试,并各自生成自动化测试报告。

综上所述,本发明通过web接口根据不同项目设计出合理的配置模板,使用调度器并发对不同项目拉取不同自动化测试代码的调度策略,配合消息队列及数据库表设计完成多用户多项目自动化测试的目的。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的方法而言,由于其与实施例公开的系统相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

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

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

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的联机自动化测试方法、系统、装置及可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

技术分类

06120114729090