推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于Python语言的自动化测试系统的设计与实现

更新时间:2019-12-20 23:35:26 大小:2M 上传用户:songhuahua查看TA发布的资源 标签:python自动化测试系统 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

通过分析现代工业生产对自动化测试系统的要求,提出一种基于面向对象的编程语言Python构建的自动化测试系统。利用Python语言的高效、灵活和简洁等特点,结合Pyvisa,Pyivi和Web.py等扩展模块提供的强大功能,以及IVI和VISA技术的后台支持,可以快速组建满足用户测试需求且高效的测试系统;其次利用Num Py,Matplotlib和Py Qt4扩展模块能够准确地完成对测试数据的各种运算处理以及相关的图形界面显示等操作。结果表明,该系统具有高效性、通用性和扩展性,使用Python开发虚拟仪器与测试系统,代码简洁、层次清晰、周期性短,具有广泛的应用前景。


部分文件列表

文件名 大小
基于Python语言的自动化测试系统的设计与实现.pdf 2M

部分页面预览

(完整内容请下载后查看)
2017 ᴗ 2 15 ᶭ  
ڢ
 40 Ӈ 
ڢ
 4 
؞
 
Feb. 2017  
现代电子技术  
Modern Electronics Technique  
Vol. 40 No. 4  
39  
doi:10.16652/j.issn.1004⁃373x.2017.04.011  
害痄 Python 痫猹咧稗唱嫘功歼灬涣咧榷尘痦檗炼  
黄建军,李宥谋,刘 婧,周 710061)  
欢
(西安邮电大学 计算机学院,陕西 西安  
摘
要:通过分析现代工业生产对自动化测试系统的要求,提出一种基于面向对象的编程语言 Python 构建的自动化测  
试系统。利用 Python 语言的高效、灵活和简洁等特点,结合 Pyvisa,Pyivi 和 Web.py 等扩展模块提供的强大功能,以及 IVI 和  
VISA 技术的后台支持,可以快速组建满足用户测试需求且高效的测试系统;其次利用 NumPy,Matplotlib 和 PyQt4 扩展模块  
能够准确地完成对测试数据的各种运算处理以及相关的图形界面显示等操作。结果表明,该系统具有高效性、通用性和扩  
展性,使用 Python 开发虚拟仪器与测试系统,代码简洁、层次清晰、周期性短,具有广泛的应用前景。  
关键词:测试系统;Python;Pyvisa;Pyivi;可互换性  
中图分类号:TN911⁃34;TP393  
文献标识码:A  
文章编号:1004⁃373X(2017)04⁃0039⁃05  
Design and impleHmUeAnNtGatJiiaonnjuno,fLaI uYtooummoua,tiLcIUteJisntgi,nZgHsOyUstHeuman based on Python  
(School of Computer Science and Technology,Xi’an University of Posts and Telecommunications,Xi’an 710061,China)  
Abstract:A kind of automatic testing system based on the object⁃oriented programming language Python is proposed by  
analyzing the requirement of the auto testing system for modern industrial production. With the background support of VISA and  
IVI technology,the efficient testing system satisfying the testing demands of users can be built quickly in combination with the  
efficient,flexible and concise characteristics of Python language,and the powerful functions of Pyvisa,Pyivi and Web.py exten⁃  
sional modules. Besides,the system can complete each operational processing of testing data and relevant GUI display accurate⁃  
ly by means of NumPy,Matplotlib and PyQt4 modules. The result indicates that the system has high efficiency,universality and  
expansibility. The application of Python for developing the virtual instrument and testing system has the characteristics of concise  
code,clear hierarchy and short cycle. It has a broad application prospect.  
Keywords:testing system;Python;Pyvisa;Pyivi;interchangeability  
目前,多数虚拟仪器和测控平台的开发都使用 Lab⁃  
VIEW 图形化编程语言,LabVIEW 在界面开发部分占据  
优势,但是 LabVIEW 调用 Matlab 的接口方法比较复杂,  
将二者很好的结合也有一定的难度,这使得 LabVIEW  
在数据处理方面显现出不足。其次,后期系统扩展对  
LabVIEW 代码进行修改的工作量较大,这对大型的测  
试系统来说很不利。基于 LabVIEW 的上述不足,本文  
提出使用 Python 脚本语言来编写可互换仪器测试系  
统。Python 拥有丰富的扩展模块以及第三方的支持包,  
PyQt 可以快速开发满足用户需求的 GUI 界面,NumPy 相  
当于 Matlab 的 Python 版本,继承了 Matlab 的强大数据处  
理能力。Pyvisa 和 Pyivi 是 Python 对 NI⁃VISA 和 NI⁃IVI  
的封装工具包,对测试系统实现仪器接口的无关性和同  
类仪器的可互换性提供了很好的支持。Python 面向对  
象结构化的编程可以把程序代码组织成逻辑块重复使  
用,这一特性也恰恰弥补了 LabVIEW 在编写测试系统  
中后期修改程序复杂这一缺陷。  
1
系统组成  
1.1 系统的硬件结构  
测试系统由多个测试子系统组成,系统硬件连接如  
图 1 所示,每个子系统都是一个相对独立的测试单元,  
由一台控制计算机、一台路由器和由该计算机控制的若  
干台设备仪器组成。控制计算机和 LAN 型接口的设备  
通过路由器连接到同一个局域网中,其他诸如 USB,  
GPIB,RS 232 等接口设备通过相应的接口总线与控制  
计算机相连,这样不同接口类型的设备仪器就直接或间  
接地接入到控制计算机,并由控制计算机来发现、配置  
收稿日期:2016⁃04⁃24  
基金项目:嵌入式 LXI 网络仪器开放及产业化  
(2015KTCQ01⁃04)  
现代电子技术  
40  
2017 ᴗ 
ڢ
 40 Ӈ  
和控制。各个测试子系统通过路由器和数据备份与存  
储服务器相连,组成整个测试系统的局域网。测试控制  
管理系统主机通过控制计算机的并口向各个测试子系  
统发送控制指令,使各个测试子系统在测试的某些阶段  
能够统一动作[1]。  
(服务器端)运行在数据备份与存储服务器上,C 端(客户  
端)嵌入到虚拟仪器模块中,在测试结束时由测试系统启  
动与服务器端连接交互并完成数据存储与更新功能。  
测试数据显示界面(Web)模块,提供测试界面的本  
地浏览器访问和远程浏览器访问模式,浏览器完成所有  
测试数据的实时显示。  
2
Python 扩展模块的说明  
2.1 Pyvisa 底层驱动库  
Pyvisa 是对已有 VISA 库进行的 Python 格式化封  
装的一个共享库,以 NI⁃VISA 作为其包装的后台支撑,  
可 以 支 持 串 口 ,GPIB,GPIB ⁃ VXI,VXI,TCP/IP,以 及  
USB 接 口 仪 器 。 Python 对 VISA 库 的 封 装 分 为 顶 层  
(high⁃level)、中间层(middle⁃level)和底层(low⁃level)  
三层结构,顶层针对 VISA 资源管理器和资源的操作集  
合进行面向对象的 Python 化封装,资源管理器类中实现  
了对接入测试系统的资源进行自动检测。用户可以使  
用资源管理器类来打开实例化的资源派生类对象,资源  
类和派生类用 Python 的行为方式访问底层资源的属性  
和方法;中间层采用 Python 的绑定方法(Bound Method)  
对 VISA 库函数的操作集合进行 Python 形式的封装,这  
一层的作用是将 VISA 共享库的操作函数用 Python 脚本  
来实现,这样用户就可以很方便地利用 Python 脚本调用  
这些函数,实现对相关仪器的控制;底层定义了每个函  
数的参数类型和返回值类型,所有函数都是针对 VISA  
库采用静态方法进行定义封装,Pyvisa 的具体封装结构  
如图 3 所示。  
图 1 系统硬件连接示意图  
1.2 系统的软件组成  
该系统由以下 5 个主要模块构成,如图 2 所示。  
图 2 系统软件模块结构图  
仪器发现与驱动管理模块,负责对接入到控制计算  
机上的硬件设备仪器进行发现以及管理本地安装的  
IVI 驱动,其次对仪器和具体 IVI 驱动进行相关信息的  
查询。  
仪器测试模块分为 VISA 和 IVI 两个测试模块。VI⁃  
SA 测试部分负责对驱动不满足 IVI 标准规范的仪器设  
备进行控制;IVI 测试部分用于对驱动满足 IVI 标准规范  
的仪器进行控制。两部分相结合,使系统完成对不同驱  
动标准的仪器的通用功能的实现。  
虚拟仪器模块,集成了某类仪器的通用功能,负责  
对实体仪器的操作和对测试数据的结果进行处理和显  
示。测试系统中,虚拟仪器模块可根据需要进行扩充,  
根据测试对象的不同选调对应的虚拟仪器模块。  
数据存储管理模块,负责测试系统在某一项测试中  
所有测试信息的存储,包括测试项目名称、项目测试人  
员、测试环境、测试时间,测试地点和测试结果数据。该  
模块和数据备份与存储服务器采用 C/S 模式,其中 S 端  
图 3 Pyvisa 封装结构图  
2.2 Pyivi应用程序接口 API  
Pyivi 支持 IVI⁃COM 和 IVI⁃C 两种类型的驱动,是对  
测试主机上的所有 IVI 驱动进行的一层 Python 形式的  
包装,能够满足符合 IVI 标准规范的仪器互换特性以及  
IVI 引擎所提供的一些功能。Pyivi 对两种类型的特定  
IVI 驱动分别使用 ctypes 和 comtypes 进行分装,两种形  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单
  • 21下载积分 打赏60.00元   3天前

    用户:gsy幸运

  • 21下载积分 打赏70.00元   3天前

    用户:铁蛋锅

  • 21下载积分 打赏65.00元   3天前

    用户:xzxbybd

  • 21下载积分 打赏60.00元   3天前

    用户:jh0355

  • 21下载积分 打赏60.00元   3天前

    用户:w178191520

  • 21下载积分 打赏20.00元   3天前

    用户:jh03551

  • 21下载积分 打赏20.00元   3天前

    用户:sun2152

  • 21下载积分 打赏20.00元   3天前

    用户:kk1957135547

  • 21下载积分 打赏25.00元   3天前

    用户:w1966891335

  • 21下载积分 打赏20.00元   3天前

    用户:xuzhen1

  • 21下载积分 打赏15.00元   3天前

    用户:x15580286248

  • 21下载积分 打赏25.00元   3天前

    用户:pcb

  • 21下载积分 打赏20.00元   3天前

    用户:bhacker

  • 21下载积分 打赏15.00元   3天前

    用户:liqiang9090

  • 21下载积分 打赏25.00元   3天前

    用户:有理想666

  • 21下载积分 打赏15.00元   3天前

    用户:godbox

  • 21下载积分 打赏15.00元   3天前

    用户:aetek

  • 21下载积分 打赏5.00元   3天前

    用户:mulanhk

  • 21下载积分 打赏5.00元   3天前

    用户:JuneLin61

推荐下载