一种自动分发测试并收集测试结果的系统技术方案

技术编号:25834824 阅读:29 留言:0更新日期:2020-10-02 14:16
本发明专利技术公开了一种自动分发测试并收集测试结果的系统,包括测试分发收集服务器和测试机台分布式代理程序,所述测试分发收集服务器由Web服务器和数据库构成;所述测试机台分布式代理程序基于Python编写,通过局域网采用Rest API与服务器进行交互;所述Web服务器的前端包含添加页面、管理页面和查看页面;所述Web服务器的后端主要分为Restful API模块和数据库通讯模块两部分;所述数据库含有环境参数表、测试数据表和测试结果表。本发明专利技术通过集中管理的服务器和分布式的代理程序,使测试人员在内部局域网任一电脑打开服务器的网址即可对所有测试机台的测试进行添加,管理和查看结果,节省了人力资源。

【技术实现步骤摘要】
一种自动分发测试并收集测试结果的系统
本专利技术属于自动化测试领域,具体涉及到一种管理管理自动化测试的软件系统。
技术介绍
当前,在进行自动化测试时,测试人员需要到每个环境里安排自动化测试和收集自动化测试结果,或对测试进行中断,重新开始等操作。但是在测试环境较多的情况下,测试人员需要频繁往返不同的测试机台,导致了人力资源的浪费。因此,亟需一种能够自动分发测试并收集测试结果的系统来降低人力资源的浪费。
技术实现思路
本专利技术的目的在于提供一种自动分发测试并收集测试结果的系统,以解决上述
技术介绍
中提出的问题。为实现上述目的,本专利技术提供如下技术方案:一种自动分发测试并收集测试结果的系统,包括测试分发收集服务器和测试机台分布式代理程序,所述测试分发收集服务器由Web服务器和MongoDB数据库构成。所述Web服务器的前端WEB基于Bootstrap框架,并采用了JavaScript/JQuery和CSS技术,通过RestfulAPI与后端通讯;所述Web服务器的后端基于PythonFlask框架以及Jinjia2模板。所述MongoDB数据库共含有三个表,分别为环境参数、测试数据和测试结果;环境参数表用来存放事先配置好针对各测试机台的参数,例如设备个数,设备配置等;测试数据表用来保存所有已添加的测试数据;测试结果表用来保存测试完成后上传的测试结果。所述测试机台分布式代理程序设有多个,测试机台分布式代理程序基于Python编写,通过局域网采用RestAPI与服务器进行交互,每隔一定时间就从服务器获取与机台名称匹配的测试数据,若获取到测试就调用测试工具开始测试,测试结束后分析测试结果并上传至服务器。作为本专利技术的进一步方案:所述Web服务器的后端主要分为RestfulAPI模块和数据库通讯模块两部分;RestfulAPI模块提供API供前端和代理程序使用,并给API链接对应的功能函数;数据库通讯模块调用Python模块Pymongo与数据库通讯,获取数据给API或者将API的数据更新至数据库。作为本专利技术的进一步方案:所述Web服务器的前端包含添加页面、管理页面和查看页面。作为本专利技术的进一步方案:所述Web服务器后端可由其他技术实现,如PythonDjango。作为本专利技术的再进一步方案:所述MongoDB数据库可由其他数据库类型代替,例如MySQL。与现有技术相比,本专利技术的优点是:通过集中管理的服务器和分布式的代理程序,使测试人员在内部局域网任一电脑打开服务器的网址即可对所有测试机台的测试进行添加,管理和查看结果,节省了人力资源。附图说明图1为一种自动分发测试并收集测试结果的系统的框架结构示意图。图2为一种自动分发测试并收集测试结果的系统的流程图。图3为一种自动分发测试并收集测试结果的系统中代理程序的工作流程图。具体实施方式下面结合具体实施方式对本专利的技术方案作进一步详细地说明。如图2所示,一种自动分发测试并收集测试结果的系统,包括测试分发收集服务器和测试机台分布式代理程序:一、测试分发收集服务器此服务器部署了以下两个部分:1、Web服务器:(1)前端:服务器前端Web基于Bootstrap框架,并采用了JavaScript/JQuery和CSS技术,通过RestfulAPI与后端通讯,前端包含三个页面:1)添加页面:此页面包含三个模块,分别用来读取配置,设定配置以及上传测试。根据机台名称从后端读取对应环境参数,经用户配置后,形成一个完整的测试配置,上传给后端。2)管理页面:此页面包含三个模块,分别用来读取测试,管理测试,更新测试。3)查看页面:此页面包含三个模块,分别用来设定过滤条件,以此条件读取结果,最后显示结果。(2)后端:基于PythonFlask框架以及Jinjia2模板,主要分为两部分:1)RestfulAPI模块:此模块提供API供前端和代理程序使用,并给API链接对应的功能函数。2)数据库通讯模块:此模块调用Python模块Pymongo与数据库通讯,获取数据给API或者将API的数据更新至数据库。2、MongoDB数据库:数据库共含有3个表:(1)环境参数:此表用来存放事先配置好针对各测试机台的参数,例如设备个数,设备配置等。(2)测试数据:此表用来保存所有已添加的测试数据。(3)测试结果:此表用来保存测试完成后上传的测试结果。二、多个测试机台分布式代理程序:此代理程序基于Python编写,通过局域网采用RestAPI与服务器进行交互。本系统的流程如图1所示,测试人员打开网页访问服务器,可以访问以下三个页面:1)添加测试:此页面用来向服务器添加新的测试。测试人员打开页面后,选择想要添加测试的机台名称,服务器会从数据库读取该机台的配置呈现出来,测试人员确认配置后点击按钮即可将测试数据添加到数据库,机台的代理程序即可获取到测试并开始。2)管理测试:此页面可对已排到测试队列中的测试进行管理,例如删除测试,重排测试,调整测试优先级等。测试人员打开此页面后,选择想要管理的机台名称,服务器就会将对应的测试数据呈现出来,测试人员即可对其进行管理,服务器会自动更新至数据库中。3)查看结果:此页面用来查看机台的测试结果。测试人员打开页面后,选择想要查看的机台名称,服务器就会将对应的测试结果呈现出来。如图3所示,所述测试机台分布式代理程序的工作流程如下:S1启动代理程序;S2代理程序向分发服务器查询本机台是否有测试待运行,如果有则进行下一步,若没有,则等待数秒后重新查询;S3查询有测试待运行,则获取测试对应的配置参数;S4调用自动化测试工具,并传入S3获取到的参数;S5自动化测试工具开始运行测试;S6代理程序每隔数秒查询一下自动化测试工具进程,以确定是否还在运行测试;S7若测试结束,则上传测试结果给服务器,从S2开始下一轮查询。上面对本专利的较佳实施方式作了详细说明,但是本专利并不限于上述实施方式,在本领域的普通技术人员所具备的知识范围内,还可以在不脱离本专利宗旨的前提下作出各种变化。本文档来自技高网...

【技术保护点】
1.一种自动分发测试并收集测试结果的系统,包括测试分发收集服务器和测试机台分布式代理程序,其特征在于,所述测试分发收集服务器由Web服务器和数据库构成;所述测试机台分布式代理程序设有多个,测试机台分布式代理程序基于Python编写,通过局域网采用Rest API与服务器进行交互;所述Web服务器的前端包含添加页面、管理页面和查看页面;所述Web服务器的后端主要分为Restful API模块和数据库通讯模块两部分;所述数据库共含有三个表,分别为环境参数表、测试数据表和测试结果表。/n

【技术特征摘要】
1.一种自动分发测试并收集测试结果的系统,包括测试分发收集服务器和测试机台分布式代理程序,其特征在于,所述测试分发收集服务器由Web服务器和数据库构成;所述测试机台分布式代理程序设有多个,测试机台分布式代理程序基于Python编写,通过局域网采用RestAPI与服务器进行交互;所述Web服务器的前端包含添加页面、管理页面和查看页面;所述Web服务器的后端主要分为RestfulAPI模块和数据库通讯模块两部分;所述数据库共含有三个表,分别为环境参数表、测试数据表和测试结果表。


2.根据权利要求1所述的一种自动分发测试并收集测试结果的系统,其特征在于,所述环境参数表用来存放事先配置好针对各测试机台的参数,例如设备个数,设备配置等;所述测试数据表用来保存所有已添加的测试数据;所述测试结果表用来保存测试完成后上传的测试结果。


3.根据权利要求1所述的一种自动分发测试并收集测试结果的系统,其特征在于,所述Web服务器的前端WEB基于Bootstrap框架,并采用了JavaScript/JQuery和CSS技术,通过RestfulAPI与后端通讯。


4.根据权利要求1所述的一种自动分发测试并收集测试结果的系统,其特征在于,所述Web服务器的后端基于PythonFlask框架以及Ji...

【专利技术属性】
技术研发人员:武斌
申请(专利权)人:芯河半导体科技无锡有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1