一种Python实现的自动化测试平台[发明专利]

(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 201810005824.6
(22)申请日 2018.01.03
(71)申请人 成都能通科技有限公司
地址 610000 四川省成都市武侯区武兴二
路17号13栋402
(72)发明人 唐承苗 胡占强 
(74)专利代理机构 成都君合集专利代理事务所
(普通合伙) 51228
代理人 张鸣洁
(51)Int.Cl.
G06F  11/36(2006.01)
(54)发明名称
一种Python实现的自动化测试平台
(57)摘要
本发明公开了一种Python实现的自动化测
试平台,包括用户界面、报表组件、数据库、测试
执行引擎和测试脚本适配器,其中:用户界面:与
数据库和测试执行引擎进行数据交互,传递用户
输入的测试内容至测试执行引擎;数据库:与用
户界面、报表组件和测试执行引擎进行数据交
互;报表组件:由测试执行引擎驱动执行生成报
表;测试执行引擎:与报表组件和测试脚本适配
器连接,用于测试脚本的加载、执行、调度、控制;
测试脚本适配器:用于脚本适配供测试执行引擎
调用。本发明在基于VISA仪器驱动封包和脚本适
配的支持下,可以完成仪器频谱仪、功率计、信号
发生器、矢量网络分析仪等多种电子测试测量仪
器的测试测量和控制,实现一个通用的自动化测
试平台。权利要求书1页  说明书7页  附图1页CN 107992428 A 2018.05.04
C N  107992428
A
1.一种Python实现的自动化测试平台,其特征在于,包括用户界面、报表组件、数据库、测试执行引擎和测试脚本适配器,其中:
用户界面:与数据库和测试执行引擎进行数据交互,用于与数据库的数据交互和传递用户输入的测试内容至测试执行引擎;
数据库:与用户界面、报表组件和测试执行引擎进行数据交互,实现数据的管理和报表数据的传递;
报表组件:由测试执行引擎驱动执行,与数据库进行数据交互,生成报表;
测试执行引擎:与报表组件和测试脚本适配器连接,用于测试脚本的加载、执行、调度、控制以及驱动报表组件生成报表;
测试脚本适配器:用于对于输入的不同测试脚本适配和不同测试仪器接口驱动,生成通用的测试脚本供测试执行引擎调用。
2.根据权利要求1所述的一种Python实现的自动化测试平台,其特征在于,所述测试脚本适配器包括与所述测试执行引擎连接的Python自动测试脚本,所述Python自动测试脚本连接有测试脚本编辑器和仪器驱动封包,其中:
Python自动测试脚本:与测试脚本编辑器连接,调用测试脚本编辑器并转换为Python 函数脚本,以及与仪器驱动封包连接,用于驱动仪器;
测试脚本编辑器:用于用户编辑和调试测试脚本,并将调试后的测试脚本输入Python 自动测试脚本;
仪器驱动封包:对仪器的控制驱动进行Python封包,将VSIA和PXI模块化仪器的驱动封装成Python接口的形式,供Python自动测试脚本调用。
3.根据权利要求2所述的一种Python实现的自动化测试平台,其特征在于,所述测试执行引擎包括主控模块、测试任务模块、状态控制模块和工作线程模块,其中:
主控模块:与所述用户模块连接,用于实现界面交互操作;与状态控制模块连接,用于将开关状态控制指令发送至状态控制模块;
测试任务模块:与用户模块连接,接收用户模块下发的测试内容,生成测试任务;与报表组件连接,测试任务结束时,驱动报表组件组曲数据库中数值,并形成最终测试报表;
状态控制模块:接收所述开关状态控制指令,并发送至与工作线程模块;
工作线程模块:与主控模块交互,接收主控模块的开启线程/显示结果控制指令,并选择加载测试脚本并执行或将执行得到的测试结果写入数据库。
4.根据权利要求3所述的一种Python实现的自动化测试平台,其特征在于,所述测试执行引擎还包括中文函数接口和用于用户自定义开发和定制化测试的二次开发接口。
5.根据权利要求4所述的一种Python实现的自动化测试平台,其特征在于,所述Python 自动测试脚本包括Python函数脚本和驱动代码,所述Python函数脚本与驱动代码的关系为1:N,所述驱动代码与所述仪器驱动封包连接,用于实现仪器的调用、接口驱动和解耦。
6.根据权利要求5所述的一种Python实现的自动化测试平台,其特征在于,所述报表组件包括报表模板和报表插件,所述报表模板与报表插件的关系为N:1。
权 利 要 求 书1/1页CN 107992428 A
一种Python实现的自动化测试平台
技术领域
[0001]本发明涉及自动测试技术领域,具体的说,是一种Python实现的自动化测试平台。
背景技术
[0002]自动测试系统(automatic testing systems)是指在人尽可能少的参与情况下,自动对被测件进行激励、测量,并处理数据,以适当方式输出测试结果的系统。与人工测试相比,自动测试更省时、省力,能提高劳动生产率和产品质量,它对生产、科研和国防都有重要作用。自动测试引擎是指自动测试系统软件中用于测试执行的程序调度框架,属于通用测试系统软件的核心模块。该模块供测试步骤的顺序、选择、循环、跳转流程的执行,且还具有自动生成根据模板生成报表的功能。测试脚本也叫测试序列,是指测试过程的描述,属于测试系统的定制部分。不同的测试系统实现方式有所不同,部分测试系统采用配置的方式实现,部分采用通过脚本语言来实现。测试脚本根据不同的测试系统设计千差万别,但是大部分均采用配置或英文语法的方式实现。配置类测试脚本是根据用户的测试内容预先做好选项,由用户选择执行的,不具有通用性。基于英文语法的基本基于某种脚本语言,对于测试用户来说并不友好,且存在一定的学习难度。并且现有测试系统的测试引擎,很多都需要将脚本转换为执行代码后再执行,存在执行效率低的问题。
发明内容
[0003]本发明的目的在于提供一种Python实现的自动化测试平台,用于解决现有技术中自动化测试系统
需要将脚本转化为执行代码后在执行,导致执行效率低的问题。
[0004]为了达到上述目的,本发明通过下述技术方案实现:
一种Python实现的自动化测试平台,包括用户界面、报表组件、数据库、测试执行引擎和测试脚本适配器,其中:
用户界面:与数据库和测试执行引擎进行数据交互,用于与数据库的数据交互和传递用户输入的测试内容至测试执行引擎;
数据库:与用户界面、报表组件和测试执行引擎进行数据交互,实现数据的管理和报表数据的传递;
报表组件:由测试执行引擎驱动执行,与数据库进行数据交互,生成报表;
测试执行引擎:与报表组件和测试脚本适配器连接,用于测试脚本的加载、执行、调度、控制以及驱动报表组件生成报表;
测试脚本适配器:用于对于输入的不同测试脚本适配和不同测试仪器接口驱动,生成通用的测试脚本供测试执行引擎调用。
[0005]工作原理:
用户通过用户界面与系统进行交互,实现人员和数据库的管理功能,并通过用户界面输入测试内容,用户界面确定测试内容并发送至测试执行引擎。测试脚本适配器根据连接的仪器类型进行接口驱动,并根据不同的测试脚本适配成通用的测试脚本,并发送至测试
执行引擎,供测试执行引擎调用,测试执行引擎对通用的测试脚本进行加载、执行、调度和控制,测试执行引擎支持单步、自动、跳转等多种方式执行。测试脚本适配器执行引擎接口,写入数据库;测试执行引擎同时可以与报表组件绑定,报表组件包括基于数据库映射的报表插件,与系统是松耦合。测试结束时,测试执行引擎驱动报表插件读取数据库中数值后,最终形成最终测试报表。基于测试脚本适配器对仪器驱动的支持下,可以完成各种仪器频谱仪、功率计、信号发生器、矢量网络分析仪等多种电子测试测量仪器控制和测试测量,实现一个通用的自动化测试平台。
[0006]进一步地,所述测试脚本适配器包括与所述测试执行引擎连接的Python自动测试脚本,所述Python自动测试脚本连接有测试脚本编辑器和仪器驱动封包,其中:Python自动测试脚本:与测试脚本编辑器连接,调用测试脚本编辑器并转换为Python 函数脚本,以及与仪器驱动封包连接,用于驱动仪器;
测试脚本编辑器:用于用户编辑和调试测试脚本,并将调试后的测试脚本输入Python 自动测试脚本;
仪器驱动封包:对仪器的控制驱动进行Python封包,将VSIA和PXI模块化仪器的驱动封装成Python接口
的形式,供Python自动测试脚本调用。
[0007]工作原理:
测试脚本编辑器包括脚本开发环境、调试编辑环境和测试脚本管理环境等单元,用于用户编辑和调试测试脚本,并将调试后的测试脚本输入Python自动测试脚本。调用测试脚本编辑器并转换为Python函数脚本,并驱动仪器驱动封包对仪器的控制驱动进行Python封包,仪器驱动封包将VSIA和PXI模块化仪器的驱动封装成Python接口的形式,供测试系统调用,测试执行引擎作为核心调度器,完成了加载PYTHON测试脚本的执行、调度、控制。测试脚本适配器除了支持原生Python脚本外,还可以无缝的支持各种DLL功能函数,保证了测试脚本的通用性,其测试脚本还可以支持中文函数,无需代码转换,直接运行,执行速度快,学习门槛低,开发效率高。
[0008]进一步地,所述测试执行引擎包括主控模块、测试任务模块、状态控制模块和工作线程模块,其中:
主控模块:与所述用户模块连接,用于实现界面交互操作;与状态控制模块连接,用于将开关状态控制指令发送至状态控制模块;
测试任务模块:与用户模块连接,接收用户模块下发的测试内容,生成测试任务;与报表组件连接,测试任务结束时,驱动报表组件组曲数据库中数值,并形成最终测试报表;
状态控制模块:接收所述开关状态控制指令,并发送至与工作线程模块;
工作线程模块:与主控模块交互,接收主控模块的开启线程/显示结果控制指令,并选择加载测试脚本并执行或将执行得到的测试结果写入数据库。
[0009]工作原理:
用户在用户界面输入测试内容后,用户界面通知测试执行引擎中的主控模块确定测试内容,形成测试任务后,将工作线程模块中的工作线程开启,并将开关状态传入状态控制模块。工作线程模块按照主控模块中的测试任务内容加载测试脚本适配器中的测试脚本并执行,测试脚本适配器执行引擎接口,写入数据库。测试任务结束时,测试执行引擎中的测试任务模块驱动报表插件读取数据库中数值后,最终形成最终测试报表。
[0010]进一步地,所述测试执行引擎还包括中文函数接口和用于用户自定义开发和定制化测试的二次开发接口。
[0011]工作原理:
测试执行引擎提供二次开发接口,可以满足定制化的测试需求,通过对仪器库和测试程序集的自定义扩展,结合测试序列脚本编辑器完成定制化测试。中文函数接口在调用中文函数时,无需代码转换,直接
运行,执行速度快。
[0012]进一步地,所述Python自动测试脚本包括Python函数脚本和驱动代码,所述Python函数脚本与驱动代码的关系为1:N,所述驱动代码与所述仪器驱动封包连接,用于实现仪器的调用、接口驱动和解耦。
[0013]工作原理:
Python函数脚本与测试脚本编辑器连接,用于将测试脚本转换为Python函数,驱动代码与仪器驱动封包连接,驱动代码提供了对仪器功能的中文封包即中文函数接口,提供测试能力的硬件支持,对应测试平台框架的仪器库。该部分完成对测试仪器及被测件的抽象实现,对测试仪器进行规范化、统一化,实现将仪器的调用与仪器的接口、驱动解耦。Python 函数脚本与驱动代码的关系为1:N,可以为更多的硬件提供接口驱动。
[0014]进一步地,所述报表组件包括报表模板和报表插件,所述报表模板与报表插件的关系为N:1。
[0015]报表模块与报表插件的关系为N:1即多对一的关系,因此可以生成不同格式的报表。
[0016]本发明与现有技术相比,具有以下优点及有益效果:
(1)本发明包含了一个通用的测试执行引擎,可以加载和执行Python脚本、各种DLL功能函数,在基于VISA仪器驱动封包和脚本适配的支持下,可以完成仪器频谱仪、功率计、信号发生器、矢量网络分析仪等多种电子测试测量仪器的测试测量和控制,实现一个通用的自动化测试平台。
[0017](2)本发明提供了一种脚本描述测试过程的测试脚本适配器接口设计规范,使得自动测试程序设计更加规范简单。本系统采用Python语言实现,除了支持原生Python脚本外,还支持各种DLL功能函数,保证了测试脚本的通用性,其测试脚本还可以支持中文函数,无需代码转换,直接运行,执行速度快,学习门槛低,开发效率高。
附图说明
[0018]图1为本发明的系统原理框图;
图2为测试执行引擎的原理框图。
具体实施方式
[0019]首先在对本发明的具体实施例进行阐述之前,对本文中涉及的技术名词给予解释:
VISA:虚拟仪器软件结构(Virtual Instrument Software Architecture)是VXI、PXI、GPIB、串口仪器
等多种总线仪器之间通信的一种标准软件接口集合,具有与仪器及硬件的I/O接口类型无关、与操作系统及编程语言无关的特点,适合仪器设备跨平台跨厂家的移

本文发布于:2024-09-20 19:39:48,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/458391.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:测试   脚本   执行   驱动   引擎   报表   仪器   模块
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议