一种Python实现的自动化测试平台制造技术

技术编号:17878741 阅读:22 留言:0更新日期:2018-05-06 00:36
本发明专利技术公开了一种Python实现的自动化测试平台,包括用户界面、报表组件、数据库、测试执行引擎和测试脚本适配器,其中:用户界面:与数据库和测试执行引擎进行数据交互,传递用户输入的测试内容至测试执行引擎;数据库:与用户界面、报表组件和测试执行引擎进行数据交互;报表组件:由测试执行引擎驱动执行生成报表;测试执行引擎:与报表组件和测试脚本适配器连接,用于测试脚本的加载、执行、调度、控制;测试脚本适配器:用于脚本适配供测试执行引擎调用。本发明专利技术在基于VISA仪器驱动封包和脚本适配的支持下,可以完成仪器频谱仪、功率计、信号发生器、矢量网络分析仪等多种电子测试测量仪器的测试测量和控制,实现一个通用的自动化测试平台。

An automated testing platform for Python implementation

The invention discloses an automated testing platform for Python implementation, including user interface, report component, database, test execution engine and test script adapter, which: user interface: data interaction with database and test execution engine, transmission of user input test content to test execution engine; Library: data interaction with user interface, report component, and test execution engine; report component: a test execution engine driven generation report; test execution engine: connect with report component and test script adapter, test script loading, execution, scheduling, control; test script adapter: use The script is fit for the test execution engine call. Based on the support of VISA device driver package and script matching, the invention can complete the test measurement and control of a variety of electronic test instruments, such as instrument spectrum meter, power meter, signal generator, vector network analyzer and so on, and realize a general automatic test platform.

【技术实现步骤摘要】
一种Python实现的自动化测试平台
本专利技术涉及自动测试
,具体的说,是一种Python实现的自动化测试平台。
技术介绍
自动测试系统(automatictestingsystems)是指在人尽可能少的参与情况下,自动对被测件进行激励、测量,并处理数据,以适当方式输出测试结果的系统。与人工测试相比,自动测试更省时、省力,能提高劳动生产率和产品质量,它对生产、科研和国防都有重要作用。自动测试引擎是指自动测试系统软件中用于测试执行的程序调度框架,属于通用测试系统软件的核心模块。该模块供测试步骤的顺序、选择、循环、跳转流程的执行,且还具有自动生成根据模板生成报表的功能。测试脚本也叫测试序列,是指测试过程的描述,属于测试系统的定制部分。不同的测试系统实现方式有所不同,部分测试系统采用配置的方式实现,部分采用通过脚本语言来实现。测试脚本根据不同的测试系统设计千差万别,但是大部分均采用配置或英文语法的方式实现。配置类测试脚本是根据用户的测试内容预先做好选项,由用户选择执行的,不具有通用性。基于英文语法的基本基于某种脚本语言,对于测试用户来说并不友好,且存在一定的学习难度。并且现有测试系统的测试引擎,很多都需要将脚本转换为执行代码后再执行,存在执行效率低的问题。
技术实现思路
本专利技术的目的在于提供一种Python实现的自动化测试平台,用于解决现有技术中自动化测试系统需要将脚本转化为执行代码后在执行,导致执行效率低的问题。为了达到上述目的,本专利技术通过下述技术方案实现:一种Python实现的自动化测试平台,包括用户界面、报表组件、数据库、测试执行引擎和测试脚本适配器,其中:用户界面:与数据库和测试执行引擎进行数据交互,用于与数据库的数据交互和传递用户输入的测试内容至测试执行引擎;数据库:与用户界面、报表组件和测试执行引擎进行数据交互,实现数据的管理和报表数据的传递;报表组件:由测试执行引擎驱动执行,与数据库进行数据交互,生成报表;测试执行引擎:与报表组件和测试脚本适配器连接,用于测试脚本的加载、执行、调度、控制以及驱动报表组件生成报表;测试脚本适配器:用于对于输入的不同测试脚本适配和不同测试仪器接口驱动,生成通用的测试脚本供测试执行引擎调用。工作原理:用户通过用户界面与系统进行交互,实现人员和数据库的管理功能,并通过用户界面输入测试内容,用户界面确定测试内容并发送至测试执行引擎。测试脚本适配器根据连接的仪器类型进行接口驱动,并根据不同的测试脚本适配成通用的测试脚本,并发送至测试执行引擎,供测试执行引擎调用,测试执行引擎对通用的测试脚本进行加载、执行、调度和控制,测试执行引擎支持单步、自动、跳转等多种方式执行。测试脚本适配器执行引擎接口,写入数据库;测试执行引擎同时可以与报表组件绑定,报表组件包括基于数据库映射的报表插件,与系统是松耦合。测试结束时,测试执行引擎驱动报表插件读取数据库中数值后,最终形成最终测试报表。基于测试脚本适配器对仪器驱动的支持下,可以完成各种仪器频谱仪、功率计、信号发生器、矢量网络分析仪等多种电子测试测量仪器控制和测试测量,实现一个通用的自动化测试平台。进一步地,所述测试脚本适配器包括与所述测试执行引擎连接的Python自动测试脚本,所述Python自动测试脚本连接有测试脚本编辑器和仪器驱动封包,其中:Python自动测试脚本:与测试脚本编辑器连接,调用测试脚本编辑器并转换为Python函数脚本,以及与仪器驱动封包连接,用于驱动仪器;测试脚本编辑器:用于用户编辑和调试测试脚本,并将调试后的测试脚本输入Python自动测试脚本;仪器驱动封包:对仪器的控制驱动进行Python封包,将VSIA和PXI模块化仪器的驱动封装成Python接口的形式,供Python自动测试脚本调用。工作原理:测试脚本编辑器包括脚本开发环境、调试编辑环境和测试脚本管理环境等单元,用于用户编辑和调试测试脚本,并将调试后的测试脚本输入Python自动测试脚本。调用测试脚本编辑器并转换为Python函数脚本,并驱动仪器驱动封包对仪器的控制驱动进行Python封包,仪器驱动封包将VSIA和PXI模块化仪器的驱动封装成Python接口的形式,供测试系统调用,测试执行引擎作为核心调度器,完成了加载PYTHON测试脚本的执行、调度、控制。测试脚本适配器除了支持原生Python脚本外,还可以无缝的支持各种DLL功能函数,保证了测试脚本的通用性,其测试脚本还可以支持中文函数,无需代码转换,直接运行,执行速度快,学习门槛低,开发效率高。进一步地,所述测试执行引擎包括主控模块、测试任务模块、状态控制模块和工作线程模块,其中:主控模块:与所述用户模块连接,用于实现界面交互操作;与状态控制模块连接,用于将开关状态控制指令发送至状态控制模块;测试任务模块:与用户模块连接,接收用户模块下发的测试内容,生成测试任务;与报表组件连接,测试任务结束时,驱动报表组件组曲数据库中数值,并形成最终测试报表;状态控制模块:接收所述开关状态控制指令,并发送至与工作线程模块;工作线程模块:与主控模块交互,接收主控模块的开启线程/显示结果控制指令,并选择加载测试脚本并执行或将执行得到的测试结果写入数据库。工作原理:用户在用户界面输入测试内容后,用户界面通知测试执行引擎中的主控模块确定测试内容,形成测试任务后,将工作线程模块中的工作线程开启,并将开关状态传入状态控制模块。工作线程模块按照主控模块中的测试任务内容加载测试脚本适配器中的测试脚本并执行,测试脚本适配器执行引擎接口,写入数据库。测试任务结束时,测试执行引擎中的测试任务模块驱动报表插件读取数据库中数值后,最终形成最终测试报表。进一步地,所述测试执行引擎还包括中文函数接口和用于用户自定义开发和定制化测试的二次开发接口。工作原理:测试执行引擎提供二次开发接口,可以满足定制化的测试需求,通过对仪器库和测试程序集的自定义扩展,结合测试序列脚本编辑器完成定制化测试。中文函数接口在调用中文函数时,无需代码转换,直接运行,执行速度快。进一步地,所述Python自动测试脚本包括Python函数脚本和驱动代码,所述Python函数脚本与驱动代码的关系为1:N,所述驱动代码与所述仪器驱动封包连接,用于实现仪器的调用、接口驱动和解耦。工作原理:Python函数脚本与测试脚本编辑器连接,用于将测试脚本转换为Python函数,驱动代码与仪器驱动封包连接,驱动代码提供了对仪器功能的中文封包即中文函数接口,提供测试能力的硬件支持,对应测试平台框架的仪器库。该部分完成对测试仪器及被测件的抽象实现,对测试仪器进行规范化、统一化,实现将仪器的调用与仪器的接口、驱动解耦。Python函数脚本与驱动代码的关系为1:N,可以为更多的硬件提供接口驱动。进一步地,所述报表组件包括报表模板和报表插件,所述报表模板与报表插件的关系为N:1。报表模块与报表插件的关系为N:1即多对一的关系,因此可以生成不同格式的报表。本专利技术与现有技术相比,具有以下优点及有益效果:(1)本专利技术包含了一个通用的测试执行引擎,可以加载和执行Python脚本、各种DLL功能函数,在基于VISA仪器驱动封包和脚本适配的支持下,可以完成仪器频谱仪、功率计、信号发生器、矢量网络分析仪等多种本文档来自技高网...
一种Python实现的自动化测试平台

【技术保护点】
一种Python实现的自动化测试平台,其特征在于,包括用户界面、报表组件、数据库、测试执行引擎和测试脚本适配器,其中:用户界面:与数据库和测试执行引擎进行数据交互,用于与数据库的数据交互和传递用户输入的测试内容至测试执行引擎;数据库:与用户界面、报表组件和测试执行引擎进行数据交互,实现数据的管理和报表数据的传递;报表组件:由测试执行引擎驱动执行,与数据库进行数据交互,生成报表;测试执行引擎:与报表组件和测试脚本适配器连接,用于测试脚本的加载、执行、调度、控制以及驱动报表组件生成报表;测试脚本适配器:用于对于输入的不同测试脚本适配和不同测试仪器接口驱动,生成通用的测试脚本供测试执行引擎调用。

【技术特征摘要】
1.一种Python实现的自动化测试平台,其特征在于,包括用户界面、报表组件、数据库、测试执行引擎和测试脚本适配器,其中:用户界面:与数据库和测试执行引擎进行数据交互,用于与数据库的数据交互和传递用户输入的测试内容至测试执行引擎;数据库:与用户界面、报表组件和测试执行引擎进行数据交互,实现数据的管理和报表数据的传递;报表组件:由测试执行引擎驱动执行,与数据库进行数据交互,生成报表;测试执行引擎:与报表组件和测试脚本适配器连接,用于测试脚本的加载、执行、调度、控制以及驱动报表组件生成报表;测试脚本适配器:用于对于输入的不同测试脚本适配和不同测试仪器接口驱动,生成通用的测试脚本供测试执行引擎调用。2.根据权利要求1所述的一种Python实现的自动化测试平台,其特征在于,所述测试脚本适配器包括与所述测试执行引擎连接的Python自动测试脚本,所述Python自动测试脚本连接有测试脚本编辑器和仪器驱动封包,其中:Python自动测试脚本:与测试脚本编辑器连接,调用测试脚本编辑器并转换为Python函数脚本,以及与仪器驱动封包连接,用于驱动仪器;测试脚本编辑器:用于用户编辑和调试测试脚本,并将调试后的测试脚本输入Python自动测试脚本;仪器驱动封包:对仪器的控制驱动进行Python封包,将VSIA和PXI模块化仪器的驱动封装成Python接口的形式,供Python自动测试脚...

【专利技术属性】
技术研发人员:唐承苗胡占强
申请(专利权)人:成都能通科技有限公司
类型:发明
国别省市:四川,51

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

1