CN114281519B - 基于Python实现背景下发任务队列的方法及装置 - Google Patents

基于Python实现背景下发任务队列的方法及装置 Download PDF

Info

Publication number
CN114281519B
CN114281519B CN202111363976.1A CN202111363976A CN114281519B CN 114281519 B CN114281519 B CN 114281519B CN 202111363976 A CN202111363976 A CN 202111363976A CN 114281519 B CN114281519 B CN 114281519B
Authority
CN
China
Prior art keywords
test
task
tested
queue
item
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.)
Active
Application number
CN202111363976.1A
Other languages
English (en)
Other versions
CN114281519A (zh
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202111363976.1A priority Critical patent/CN114281519B/zh
Publication of CN114281519A publication Critical patent/CN114281519A/zh
Application granted granted Critical
Publication of CN114281519B publication Critical patent/CN114281519B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种基于Python实现背景下发任务队列的方法及装置,属于软件测试技术领域,所述方法步骤如下:基于Python搭建多任务测试平台,并在前端设置任务管理接口,在后端设置测试执行模块;多任务测试平台通过前端任务管理接口获取待测任务及各待测任务的测试项,并生成列表;多任务测试平台获取到测试启动指令后,创建测试队列,并将待测任务列表中待测任务的测试项逐项添加到测试队列中,封装成Celery分布式任务队列;加载Celery链逐项进行测试,直至完成测试。本发明实现多个测试任务的整合,只需在多任务测试平台启动测试,可以直接启动测试队列,减少人员在测试流程中的调整时间,也大幅加速了测试流程的进度。

Description

基于Python实现背景下发任务队列的方法及装置
技术领域
本发明属于软件测试技术领域,具体涉及一种基于Python实现背景下发任务队列的方法及装置。
背景技术
当前对于服务器的测试,往往不只需要进行一种测试,而是多种测试后搭配不同的参数与状态组合去执行,依照测试项目的数量,测试人员只能等待按顺序去启动当前需要执行的测试,一个测试被执行完成再手动去启动下一个测试。在项目测试过程时,测试人员需要按顺序手动去配置测试项和参数内容,等待前一测试完成后,再配置下一个准备进行测试的测试项和参数内容,如此,每一项测试之间产生的时间差距,就导致一个完整测试流程会耗费很多不必要的时间和热量,而且现有测试方式需要人工记录每次测试产生的数据,也可能产生不可预期的错误。另外,测试执行过程中,测试人员还要随时注意测试执行状态,当有多个服务器需要进行测试时,则很容易混乱了测试进度,导致测试流程无法流畅有效的进行。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种基于Python实现背景下发任务队列的方法及装置,是非常有必要的。
发明内容
针对现有技术的上述现有服务器测试需要多种测试搭配不同参数与状态组合执行时,测试人员需要等待逐项启动与配置,浪费测试时间,容易混乱测试进度,无法保证测试流程顺利进行的缺陷,本发明提供一种基于Python实现背景下发任务队列的方法及装置,以解决上述技术问题。
第一方面,本发明提供一种基于Python实现背景下发任务队列的方法,包括如下步骤:
S1.基于Python搭建多任务测试平台,并在多任务测试平台前端设置任务管理接口,在多任务测试平台后端设置测试执行模块;
S2.多任务测试平台通过前端任务管理接口获取待测任务及各待测任务的测试项,并生成待测任务列表和各任务的测试项数据表;
S3.多任务测试平台获取到测试启动指令后,测试执行模块创建测试队列,并将待测任务列表中待测任务的测试项逐项添加到测试队列中,封装成Celery分布式任务队列;
S4.Celery分布式任务队列加载Celery链逐项进行测试,直至完成所有待测任务的所有测试项。
进一步地,步骤S1具体步骤如下:
S11.基于Python搭建多任务测试平台,在多任务测试平台前端设置任务管理界面,在多任务测试平台后端设置测试执行模块;
S12.在任务管理界面设置任务管理接口和测试启动接口;
S13.设置测试启动接口链接测试执行模块。基于Python搭建面向对象的多任务测试平台,测试人员可直接通过任务管理界面与多任务测试平台交互,进行测试任务的选定和测试型线程的配置,并通过测试执行模块将测试任务下发下去,大幅提升测试人员的工作效率,并能通过多任务测试平台记录的测试项参数快速地再次启动测试任务。
进一步地,步骤S2具体步骤如下:
S21.多任务测试平台通过前端任务管理接口新增及编辑待测任务项;
S22.多任务管理平台通过前端任务管理接口新增及编辑各待测任务项的测试项参数;
S23.根据添加的各待测任务项生成待测任务列表,以及根据各待测任务项的测试项参数生成各任务的测试项数据表。通过任务管理接口实现待测任务项及其测试项参数的输入和编辑,并能生成列表,为下一步生成队列做好准备。
进一步地,步骤S3具体步骤如下:
S31.多任务测试平台的测试启动接口获取到测试启动指令后,自动启动测试执行模块;
S32.测试执行模块创建测试队列;
S33.测试执行模块取出待测任务列表的各待测任务,以及各待测任务项的所有测试项参数;
S34.测试执行模块配置各测试项的执行函数与回传数据处理函数,并按照顺序添加到测试队列中,封装成Celery分布式任务队列。通过测试执行模块将列表中的测试任务和测试项添加到测试队列中,并依据每个测试任务的执行函数和回传数据处理函数封装成Celery分布式任务队列。
进一步地,步骤S4具体步骤如下:
S41.Celery分布式任务队列加载Celery链;
S42.定位一个测试任务;
S43.将对应测试任务的测试项参数导入定位测试项的执行函数,进行测试;
S44.更新定位测试任务的测试状态,并通过回传数据处理函数处理回传数据;
S45.判断所有测试任务是否均已完成;
若是,测试结束;
若否,通过Celery链定位下一测试任务,返回步骤S43。Celery分布式任务队列通过Celery链确保一个测试任务完成自动启动下一个测试任务,并能防止测试任务的遗漏。
第二方面,本发明提供一种基于Python实现背景下发任务队列的装置,包括:
测试平台搭建单元,用于基于Python搭建多任务测试平台,并在多任务测试平台前端设置任务管理接口,在多任务测试平台后端设置测试执行模块;
测试项获取单元,用于多任务测试平台通过前端任务管理接口获取待测任务及各待测任务的测试项,并生成待测任务列表和各任务的测试项数据表;
测试启动及队列生成单元,用于多任务测试平台获取到测试启动指令后,测试执行模块创建测试队列,并将待测任务列表中待测任务的测试项逐项添加到测试队列中,封装成Celery分布式任务队列;
加载Celery链测试单元,用于Celery分布式任务队列加载Celery链逐项进行测试,直至完成所有待测任务的所有测试项。
进一步地,测试平台搭建单元包括:
测试平台前后端设置子单元,用于基于Python搭建多任务测试平台,在多任务测试平台前端设置任务管理界面,在多任务测试平台后端设置测试执行模块;
接口设置子单元,用于在任务管理界面设置任务管理接口和测试启动接口;
测试执行链接子单元,设置测试启动接口链接测试执行模块。基于Python搭建面向对象的多任务测试平台,测试人员可直接通过任务管理界面与多任务测试平台交互,进行测试任务的选定和测试型线程的配置,并通过测试执行模块将测试任务下发下去,大幅提升测试人员的工作效率,并能通过多任务测试平台记录的测试项参数快速地再次启动测试任务。
进一步地,测试项获取单元包括:
测试项编辑子单元,用于多任务测试平台通过前端任务管理接口新增及编辑待测任务项;
测试项参数编辑子单元,用于多任务管理平台通过前端任务管理接口新增及编辑各待测任务项的测试项参数;
列表生成子单元,用于根据添加的各待测任务项生成待测任务列表,以及根据各待测任务项的测试项参数生成各任务的测试项数据表。通过任务管理接口实现待测任务项及其测试项参数的输入和编辑,并能生成列表,为下一步生成队列做好准备。
进一步地,测试启动及队列生成单元包括:
启动执行子单元,用于多任务测试平台的测试启动接口获取到测试启动指令后,自动启动测试执行模块;
测试队列生成子单元,用于测试执行模块创建测试队列;
测试任务取出子单元,用于测试执行模块取出待测任务列表的各待测任务,以及各待测任务项的所有测试项参数;
Celery队列封装子单元,用于测试执行模块配置各测试项的执行函数与回传数据处理函数,并按照顺序添加到测试队列中,封装成Celery分布式任务队列。通过测试执行模块将列表中的测试任务和测试项添加到测试队列中,并依据每个测试任务的执行函数和回传数据处理函数封装成Celery分布式任务队列。
进一步地,加载Celery链测试单元包括:
Celery链加载子单元,用于Celery分布式任务队列加载Celery链;
测试任务定位子单元,用于定位一个测试任务;
测试项执行函数运行子单元,用于将对应测试任务的测试项参数导入测试项的执行函数,进行测试;
回传数据处理函数执行子单元,用于更新定位测试任务的测试状态,并通过回传数据处理函数处理回传数据;
测试任务完成判断子单元,用于判断所有测试任务是否均已完成;
下一测试任务定位子单元,用于存在未完成测试任务时,通过Celery链定位下一测试任务。Celery分布式任务队列通过Celery链确保一个测试任务完成自动启动下一个测试任务,并能防止测试任务的遗漏。
本发明的有益效果在于:
本发明提供的基于Python实现背景下发任务队列的方法及装置,通过多任务测试平台前端的任务管理接口,将多个要进行的测试项整合成一个测试任务队列,测试人员只要部署好测试任务内的测试项与测试项参数,一键按下测试启动接口后,就可以直接启动测试队列,不需要在旁时时确认执行状态,一个测试完成后会自动开启下一个测试,直到测试任务完成。而上一次编辑好的测试任务也可以再次进行,因此可以减少人员在测试流程中的调整时间,也大幅加速了测试流程的进度。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的基于Python实现背景下发任务队列的方法实施例1流程示意图。
图2是本发明的基于Python实现背景下发任务队列的方法实施例2流程示意图。
图3是本发明的基于Python实现背景下发任务队列的装置示意图。
图中,1-测试平台搭建单元;1.1-测试平台前后端设置子单元;1.2-接口设置子单元;1.3-测试执行链接子单元;2-测试项获取单元;2.1-测试项编辑子单元;2.2-测试项参数编辑子单元;2.3-列表生成子单元;3-测试启动及队列生成单元;3.1-启动执行子单元;3.2-测试队列生成子单元;3.3-测试任务取出子单元;3.4-Celery队列封装子单元;4-加载Celery链测试单元;4.1-Celery链加载子单元;4.2-测试任务定位子单元;4.3-测试项执行函数运行子单元;4.4-回传数据处理函数执行子单元;4.5-测试任务完成判断子单元;4.6-下一测试任务定位子单元。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
Python是对象导向程序级的高阶程序语言,能加快程序开发的时效,完成各种难度的应用,并可在大多数的系统中运行,以减少开发及维护成本的观念进行发展,且Python功能强大而完善,可以用于多种软体开发。
Celery是分布式任务队列,是一种异步任务的排程工具,可以用来实现任务的排程,加上Celery是以Python编写的,可以很好的运用在Python写成的系统上。Celery是一个简单,灵活,可靠的分布式系统,用于处理大量消息,同时为操作提供维护此类系统所需的工具,它是一个任务队列,专注于实时处理,同时还支持任务调度。
实施例1:
如图1所示,本发明提供一种基于Python实现背景下发任务队列的方法,包括如下步骤:
S1.基于Python搭建多任务测试平台,并在多任务测试平台前端设置任务管理接口,在多任务测试平台后端设置测试执行模块;
S2.多任务测试平台通过前端任务管理接口获取待测任务及各待测任务的测试项,并生成待测任务列表和各任务的测试项数据表;
S3.多任务测试平台获取到测试启动指令后,测试执行模块创建测试队列,并将待测任务列表中待测任务的测试项逐项添加到测试队列中,封装成Celery分布式任务队列;
S4.Celery分布式任务队列加载Celery链逐项进行测试,直至完成所有待测任务的所有测试项。
本发明提供的基于Python实现背景下发任务队列的方法,通过多任务测试平台前端的任务管理接口,将多个要进行的测试项整合成一个测试任务队列,测试人员只要部署好测试任务内的测试项与测试项参数,一键按下测试启动接口后,就可以直接启动测试队列,不需要在旁时时确认执行状态,一个测试完成后会自动开启下一个测试,直到测试任务完成。而上一次编辑好的测试任务也可以再次进行,因此可以减少人员在测试流程中的调整时间,也大幅加速了测试流程的进度。
实施例2:
如图2所示,针对测试流程中,多个测试任务必须在前一个测试完成后才能被执行,只依赖测试人员人工去监控测试执行情况,再配置下一个测试任务的测试项参数去执行,导致测试时间拉长,即使是相同的测试流程的测试项参数的配置也无法重复利用,不仅可能发生无逾期的错误,使用人力去处理也花费时间与精力的问题,本发明提供一种基于Python实现背景下发任务队列的方法,包括如下步骤:
S1.基于Python搭建多任务测试平台,并在多任务测试平台前端设置任务管理接口,在多任务测试平台后端设置测试执行模块;具体步骤如下:
S11.基于Python搭建多任务测试平台,在多任务测试平台前端设置任务管理界面,在多任务测试平台后端设置测试执行模块;
S12.在任务管理界面设置任务管理接口和测试启动接口;
S13.设置测试启动接口链接测试执行模块;基于Python搭建面向对象的多任务测试平台,测试人员可直接通过任务管理界面与多任务测试平台交互,进行测试任务的选定和测试型线程的配置,并通过测试执行模块将测试任务下发下去,大幅提升测试人员的工作效率,并能通过多任务测试平台记录的测试项参数快速地再次启动测试任务;
S2.多任务测试平台通过前端任务管理接口获取待测任务及各待测任务的测试项,并生成待测任务列表和各任务的测试项数据表;具体步骤如下:
S21.多任务测试平台通过前端任务管理接口新增及编辑待测任务项;
S22.多任务管理平台通过前端任务管理接口新增及编辑各待测任务项的测试项参数;
S23.根据添加的各待测任务项生成待测任务列表,以及根据各待测任务项的测试项参数生成各任务的测试项数据表;通过任务管理接口实现待测任务项及其测试项参数的输入和编辑,并能生成列表,为下一步生成队列做好准备;
S3.多任务测试平台获取到测试启动指令后,测试执行模块创建测试队列,并将待测任务列表中待测任务的测试项逐项添加到测试队列中,封装成Celery分布式任务队列;具体步骤如下:
S31.多任务测试平台的测试启动接口获取到测试启动指令后,自动启动测试执行模块;
S32.测试执行模块创建测试队列;
S33.测试执行模块取出待测任务列表的各待测任务,以及各待测任务项的所有测试项参数;
S34.测试执行模块配置各测试项的执行函数与回传数据处理函数,并按照顺序添加到测试队列中,封装成Celery分布式任务队列;通过测试执行模块将列表中的测试任务和测试项添加到测试队列中,并依据每个测试任务的执行函数和回传数据处理函数封装成Celery分布式任务队列;
S4.Celery分布式任务队列加载Celery链逐项进行测试,直至完成所有待测任务的所有测试项;具体步骤如下:
S41.Celery分布式任务队列加载Celery链;
S42.定位一个测试任务;
S43.将对应测试任务的测试项参数导入定位测试项的执行函数,进行测试;
S44.更新定位测试任务的测试状态,并通过回传数据处理函数处理回传数据;
S45.判断所有测试任务是否均已完成;
若是,测试结束;
若否,通过Celery链定位下一测试任务,返回步骤S43;Celery分布式任务队列通过Celery链确保一个测试任务完成自动启动下一个测试任务,并能防止测试任务的遗漏。
实施例3:
如图3所示,本发明提供一种基于Python实现背景下发任务队列的装置,包括:
测试平台搭建单元1,用于基于Python搭建多任务测试平台,并在多任务测试平台前端设置任务管理接口,在多任务测试平台后端设置测试执行模块;
测试项获取单元2,用于多任务测试平台通过前端任务管理接口获取待测任务及各待测任务的测试项,并生成待测任务列表和各任务的测试项数据表;
测试启动及队列生成单元3,用于多任务测试平台获取到测试启动指令后,测试执行模块创建测试队列,并将待测任务列表中待测任务的测试项逐项添加到测试队列中,封装成Celery分布式任务队列;
加载Celery链测试单元4,用于Celery分布式任务队列加载Celery链逐项进行测试,直至完成所有待测任务的所有测试项。
本发明提供的基于Python实现背景下发任务队列的装置,通过多任务测试平台前端的任务管理接口,将多个要进行的测试项整合成一个测试任务队列,测试人员只要部署好测试任务内的测试项与测试项参数,一键按下测试启动接口后,就可以直接启动测试队列,不需要在旁时时确认执行状态,一个测试完成后会自动开启下一个测试,直到测试任务完成。而上一次编辑好的测试任务也可以再次进行,因此可以减少人员在测试流程中的调整时间,也大幅加速了测试流程的进度。
实施例4:
如图3所示,本发明提供一种基于Python实现背景下发任务队列的装置,包括:
测试平台搭建单元1,用于基于Python搭建多任务测试平台,并在多任务测试平台前端设置任务管理接口,在多任务测试平台后端设置测试执行模块;测试平台搭建单元1包括:
测试平台前后端设置子单元1.1,用于基于Python搭建多任务测试平台,在多任务测试平台前端设置任务管理界面,在多任务测试平台后端设置测试执行模块;
接口设置子单元1.2,用于在任务管理界面设置任务管理接口和测试启动接口;
测试执行链接子单元1.3,设置测试启动接口链接测试执行模块;基于Python搭建面向对象的多任务测试平台,测试人员可直接通过任务管理界面与多任务测试平台交互,进行测试任务的选定和测试型线程的配置,并通过测试执行模块将测试任务下发下去,大幅提升测试人员的工作效率,并能通过多任务测试平台记录的测试项参数快速地再次启动测试任务;
测试项获取单元2,用于多任务测试平台通过前端任务管理接口获取待测任务及各待测任务的测试项,并生成待测任务列表和各任务的测试项数据表;测试项获取单元2包括:
测试项编辑子单元2.1,用于多任务测试平台通过前端任务管理接口新增及编辑待测任务项;
测试项参数编辑子单元2.2,用于多任务管理平台通过前端任务管理接口新增及编辑各待测任务项的测试项参数;
列表生成子单元2.3,用于根据添加的各待测任务项生成待测任务列表,以及根据各待测任务项的测试项参数生成各任务的测试项数据表;通过任务管理接口实现待测任务项及其测试项参数的输入和编辑,并能生成列表,为下一步生成队列做好准备;
测试启动及队列生成单元3,用于多任务测试平台获取到测试启动指令后,测试执行模块创建测试队列,并将待测任务列表中待测任务的测试项逐项添加到测试队列中,封装成Celery分布式任务队列;测试启动及队列生成单元3包括:
启动执行子单元3.1,用于多任务测试平台的测试启动接口获取到测试启动指令后,自动启动测试执行模块;
测试队列生成子单元3.2,用于测试执行模块创建测试队列;
测试任务取出子单元3.3,用于测试执行模块取出待测任务列表的各待测任务,以及各待测任务项的所有测试项参数;
Celery队列封装子单元3.4,用于测试执行模块配置各测试项的执行函数与回传数据处理函数,并按照顺序添加到测试队列中,封装成Celery分布式任务队列;通过测试执行模块将列表中的测试任务和测试项添加到测试队列中,并依据每个测试任务的执行函数和回传数据处理函数封装成Celery分布式任务队列;
加载Celery链测试单元4,用于Celery分布式任务队列加载Celery链逐项进行测试,直至完成所有待测任务的所有测试项;加载Celery链测试单元4包括:
Celery链加载子单元4.1,用于Celery分布式任务队列加载Celery链;
测试项定位子单元4.2,用于定位一个测试任务;
测试项执行函数运行子单元4.3,用于将对应测试任务的测试项参数导入测试项的执行函数,进行测试;
回传数据处理函数执行子单元4.4,用于更新定位测试任务的测试状态,并通过回传数据处理函数处理回传数据;
测试任务完成判断子单元4.5,用于判断所有测试任务是否均已完成;
下一测试任务定位子单元4.6,用于存在未完成测试任务时,通过Celery链定位下一测试任务;Celery分布式任务队列通过Celery链确保一个测试任务完成自动启动下一个测试任务,并能防止测试任务的遗漏。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (6)

1.一种基于Python实现背景下发任务队列的方法,其特征在于,包括如下步骤:
S1.基于Python搭建多任务测试平台,并在多任务测试平台前端设置任务管理接口,在多任务测试平台后端设置测试执行模块;
S2.多任务测试平台通过前端任务管理接口获取待测任务及各待测任务的测试项,并生成待测任务列表和各任务的测试项数据表;
S3.多任务测试平台获取到测试启动指令后,测试执行模块创建测试队列,并将待测任务列表中待测任务的测试项逐项添加到测试队列中,封装成Celery分布式任务队列;步骤S3具体步骤如下:
S31.多任务测试平台的测试启动接口获取到测试启动指令后,自动启动测试执行模块;
S32.测试执行模块创建测试队列;
S33.测试执行模块取出待测任务列表的各待测任务,以及各待测任务项的所有测试项参数;
S34.测试执行模块配置各测试项的执行函数与回传数据处理函数,并按照顺序添加到测试队列中,封装成Celery分布式任务队列;
S4.Celery分布式任务队列加载Celery链逐项进行测试,直至完成所有待测任务的所有测试项;步骤S4具体步骤如下:
S41.Celery分布式任务队列加载Celery链;
S42.定位一个测试任务;
S43.将对应测试任务的测试项参数导入定位测试项的执行函数,进行测试;
S44.更新定位测试任务的测试状态,并通过回传数据处理函数处理回传数据;
S45.判断所有测试任务是否均已完成;
若是,测试结束;
若否,通过Celery链定位下一测试任务,返回步骤S43。
2.如权利要求1所述的基于Python实现背景下发任务队列的方法,其特征在于,步骤S1具体步骤如下:
S11.基于Python搭建多任务测试平台,在多任务测试平台前端设置任务管理界面,在多任务测试平台后端设置测试执行模块;
S12.在任务管理界面设置任务管理接口和测试启动接口;
S13.设置测试启动接口链接测试执行模块。
3.如权利要求1所述的基于Python实现背景下发任务队列的方法,其特征在于,步骤S2具体步骤如下:
S21.多任务测试平台通过前端任务管理接口新增及编辑待测任务项;
S22.多任务管理平台通过前端任务管理接口新增及编辑各待测任务项的测试项参数;
S23.根据添加的各待测任务项生成待测任务列表,以及根据各待测任务项的测试项参数生成各任务的测试项数据表。
4.一种基于Python实现背景下发任务队列的装置,其特征在于,包括:
测试平台搭建单元(1),用于基于Python搭建多任务测试平台,并在多任务测试平台前端设置任务管理接口,在多任务测试平台后端设置测试执行模块;
测试项获取单元(2),用于多任务测试平台通过前端任务管理接口获取待测任务及各待测任务的测试项,并生成待测任务列表和各任务的测试项数据表;
测试启动及队列生成单元(3),用于多任务测试平台获取到测试启动指令后,测试执行模块创建测试队列,并将待测任务列表中待测任务的测试项逐项添加到测试队列中,封装成Celery分布式任务队列;测试启动及队列生成单元(3)包括:
启动执行子单元(3.1),用于多任务测试平台的测试启动接口获取到测试启动指令后,自动启动测试执行模块;
测试队列生成子单元(3.2),用于测试执行模块创建测试队列;
测试任务取出子单元(3.3),用于测试执行模块取出待测任务列表的各待测任务,以及各待测任务项的所有测试项参数;
Celery队列封装子单元(3.4),用于测试执行模块配置各测试项的执行函数与回传数据处理函数,并按照顺序添加到测试队列中,封装成Celery分布式任务队列;
加载Celery链测试单元(4),用于Celery分布式任务队列加载Celery链逐项进行测试,直至完成所有待测任务的所有测试项;加载Celery链测试单元(4)包括:
Celery链加载子单元(4.1),用于Celery分布式任务队列加载Celery链;
测试任务定位子单元(4.2),用于定位一个测试任务;
测试项执行函数运行子单元(4.3),用于将对应测试任务的测试项参数导入定位测试项的执行函数,进行测试;
回传数据处理函数执行子单元(4.4),用于更新定位测试任务的测试状态,并通过回传数据处理函数处理回传数据;
测试任务完成判断子单元(4.5),用于判断所有测试任务是否均已完成;
下一测试任务定位子单元(4.6),用于存在未完成测试任务时,通过Celery链定位下一测试任务。
5.如权利要求4所述的基于Python实现背景下发任务队列的装置,其特征在于,测试平台搭建单元(1)包括:
测试平台前后端设置子单元(1.1),用于基于Python搭建多任务测试平台,在多任务测试平台前端设置任务管理界面,在多任务测试平台后端设置测试执行模块;
接口设置子单元(1.2),用于在任务管理界面设置任务管理接口和测试启动接口;
测试执行链接子单元(1.3),设置测试启动接口链接测试执行模块。
6.如权利要求4所述的基于Python实现背景下发任务队列的装置,其特征在于,测试项获取单元(2)包括:
测试项编辑子单元(2.1),用于多任务测试平台通过前端任务管理接口新增及编辑待测任务项;
测试项参数编辑子单元(2.2),用于多任务管理平台通过前端任务管理接口新增及编辑各待测任务项的测试项参数;
列表生成子单元(2.3),用于根据添加的各待测任务项生成待测任务列表,以及根据各待测任务项的测试项参数生成各任务的测试项数据表。
CN202111363976.1A 2021-11-17 2021-11-17 基于Python实现背景下发任务队列的方法及装置 Active CN114281519B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111363976.1A CN114281519B (zh) 2021-11-17 2021-11-17 基于Python实现背景下发任务队列的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111363976.1A CN114281519B (zh) 2021-11-17 2021-11-17 基于Python实现背景下发任务队列的方法及装置

Publications (2)

Publication Number Publication Date
CN114281519A CN114281519A (zh) 2022-04-05
CN114281519B true CN114281519B (zh) 2023-11-07

Family

ID=80869314

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111363976.1A Active CN114281519B (zh) 2021-11-17 2021-11-17 基于Python实现背景下发任务队列的方法及装置

Country Status (1)

Country Link
CN (1) CN114281519B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112131107A (zh) * 2020-09-16 2020-12-25 北京海益同展信息科技有限公司 一种测试任务执行方法、装置、电子设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11385994B2 (en) * 2018-08-21 2022-07-12 Marlabs Incorporated Testing automation controller framework and a method to operate the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112131107A (zh) * 2020-09-16 2020-12-25 北京海益同展信息科技有限公司 一种测试任务执行方法、装置、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Python 的渗透测试辅助系统开发;吕汝勋 等;网络安全技术与应用;全文 *

Also Published As

Publication number Publication date
CN114281519A (zh) 2022-04-05

Similar Documents

Publication Publication Date Title
CN111414172B (zh) 应用软件自动部署发布系统及方法
Linzhang et al. Generating test cases from UML activity diagram based on gray-box method
CN112711411B (zh) 一种基于Kubernetes及docker的CI/CD流水线系统
US8429619B2 (en) Executable high-level trace file generation system
US20120089964A1 (en) Asynchronous code testing in integrated development environment (ide)
US20070094541A1 (en) Method and apparatus for generating test execution sequences automatically for a software testing process
CN106775744B (zh) 一种生成静态库的方法和装置
CN113254054B (zh) 一种智能合约一站式开发系统及方法
CN114003451B (zh) 一种接口测试方法、装置、系统及介质
CN109408216A (zh) 任务生成方法、装置、设备及存储介质
CN114281519B (zh) 基于Python实现背景下发任务队列的方法及装置
CN115391004A (zh) 一种任务编排调度系统、方法、装置及电子设备
CN113010276A (zh) 一种任务调度方法、装置、终端设备及存储介质
CN109901999B (zh) 基于uvm的可编程逻辑的仿真方法和系统
CN113568842B (zh) 一种批量任务自动化测试方法及系统
CN116107879A (zh) 一种软ac性能测试方法及系统
CN114398155A (zh) 一种应用程序自动化部署流水线配置方法及系统
CN111190725B (zh) 任务处理方法、装置、存储介质及服务器
JP3504605B2 (ja) ソフトウェア自動試験方式
CN110187888A (zh) 一种Pod发布方法、存储介质、电子设备及系统
CN110825645A (zh) 一种流水线式全流程自动化测试方法
CN104572087A (zh) 一种业务逻辑实现的适配模式方法及系统
CN117421071B (zh) 一种插件化业务可视化封装方法及集成系统
CN113626043B (zh) 一种基于Kubernetes的容器开发环境自动打包方法及系统
CN113961472A (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
GR01 Patent grant
GR01 Patent grant