Python自动化测试实战系列之WiFi测试一

简介: 用Python设计一个自动化测试WiFi射频指标的脚本工具

于大部分从事硬件工作的人而言,可能不太会去涉及软件相的开发,更多的是工具的使用,但对于测试而言,会一点软件开发可以比较灵活的提高工作效率,特别是对于大量的重复性机械操作类的测试任务,一般都要寻求自动化的解决方案,不然测试人员会痛不欲生且效率低下。

近期开始写一下用Python做自动化测试实战操作系列,一边分享也一边巩固一下这会是一个系列,尽量写的详细和细节一点就算不了解的人都可以尝试从这里开始有一些收获。第一个系列会写如何用Python去控制Litepoint的IQxel系列仪表去做WiFi的射频自动化测试。    

首先第一期讲讲我们要用的语言Python,简单来说,一个脚本语言,可读性强,最重要的是,是初学者的语言,入门极简,这对于没有编程基础的人来说相当友好,对于我们从事硬件的来说,够用好用最重要,学的多深多牛逼不是我们的重点,不花大力气永远也比不了搞专业搞软件的。    

首先安装Python,去官网下载Welcome to Python.org,在Downloads标签里找适合自己的操作系统的版本,现在基本都是64位的系统,所以推荐选择windows installer(64-bit)这个下载即可,特别提一下,Python有2.7.x和3.x两个大的版本,但是2.7.x和3.x有些语法并不兼容,简单来说就是两种版本的脚本可能无法直接交换运行,并且2.7.x早已经不再更新维护了,但是网上有很多早期资料都是2.7.x版本的,查找资料的时候注意甄别一下,所以现在都推荐用3.x以上版本,下载最新的安装即可,安装没有什么特别需要注意的,点两下就好了,可以勾上加入环境变量选项。    

安装完成后我们的PC上就可以执行Python脚本了。接下来讲Python另一个最大的优势之一,丰富的跨平台的库,大量第三方库,我们俗称“轮子”,就是我们想做一个脚本,很多功能并不需要我们完全重新开发,直接把现成的“轮子”拿过来就可以跑,这对于非专业的软件开发者来说真是省了大力气,我们只需要学一下怎么用就好了,一般“轮子”都带有详细的帮助手册,完美!    

轮子怎么用后面再提,先来说一下IDE工具,我们要编写脚本需要一个工具,这就是IDE(集成开发环境),IDE那也是相当的多,就不一一介绍了,就说一下我用过的几个IDE的差异和特点,前期可以都体验一下,然后结合个人习惯和软件特性选择一款。最有名的应该是Pycharm了,我喜欢它的环境和库隔离操作方式,我个人的理解,可能名称不一定准确这个功能IDE基本都有,但是Pycharm操作方式比较好用,主要功能就是它可以根据每一个项目选择Python的版本和项目所要用的库都独立开来,有一个好处就是你如果需要打包项目到别的机器上运行的时候会很友好,比较省空间。第二个VSCode,主要特点就是免费,然后有很多插件可以用,个人推荐,省心省事儿。第三个是jupyter,一般随Anaconda安装而安装,最出名的就是在线调试,只要有网络连接,可以随时进行代码测试。

选择好IDE之后我们就可以正式开始创建python项目了,这里选VSCode来介绍。VSCode去Visual Studio Code - Code Editing. Redefined下载,安装好打开VSCode之后我们需要在Extensions里安装Python extension,可以在上面搜索栏中搜索python,点击Install安装即可,安装好之后我们就可以新建Python项目了。

前面我们提到了“轮子”,那么“轮子”如何使用呢?很简单,首先需要安装“轮子”的库,Python里安装第三方库的方法是使用pip,使用方法是打开一个Windows的命令行窗口,输入"pip install 库名"回车即可开始自动搜索并下载安装,当然需要联网,还有就是前面安装的时候已经提前添加了Python的环境变量,要不然就要到安装目录下去执行pip安装了。


pipinstallpyvisa

至于找“轮子”就要看项目的需求了,然后根据关键词去搜索即可,就我们即将要做的实战项目来说,我们需要可以控制仪表的接口库,还有需要控制被测设备的接口库。对于仪表而言,一般来说通用的控制接口是VISA,主流仪表基本都支持,百度的VISA定义如下,可以了解一下,Python里推荐库为pyvisa,因为有很多不同的“轮子”可能实现的功能是相同的,找主流的使用,维护和更新都比较好。

VISA(Virtual Instrument Software Architecture,简称为"Visa"),即虚拟仪器软件结构,是VXI plug&play联盟制定的I/O接口软件标准及其规范的总称。VISA提供用于仪器编程的标准I/O函数库,称为VISA库。VISA函数库驻留在计算机系统内,是计算机与仪器的标准软件通信接口,计算机通过它来控制仪器。

百度百科

而对于我们的被测设备而言,可能方式就比较多样化了,但是主流的大多数都是lan, usb之类,找对应的接口,这里罗列一些主流的三方库名,可以根据实际情况安装。

接口
库名
usb
serial
ssh
paramiko
telnet
telnetlib

“轮子”装好,我们就可以在脚本里使用了,使用的方法也很简单,首先import加载库,然后下面直接调用库中的功能函数即可。各个函数和实现的功能可以通过文档去了解,下面举个telnet的调用的简单例子,可以用来连接被测设备

importtelnetlib#导入telnetlib库tn = telnetlib.Telnet()  #创建一个对象tn.open(host, port=23)  #打开一个会话,host是主机地址,port是端口号tn.read_until(b'login:') #使用 read_until() 方法等待服务器发送的数据tn.write(username.encode('ascii')+b'\n') #使用 write() 方法向 Telnet 服务器发送数据

    同样仪表端也可以类似的方式进行连接和控制。

importpyvisarm=pyvisa.ResourceManager()  
ins=rs.open_resource('TCPIP0::%s::hislip0::INSTR'%ip)
ins.write('*RST')  #仪表复位ins..query('*IDN?') #查询仪表信息

对于仪表的控制指令,我们可以使用仪表的SCPI指令集,相对简单和易于使用,并且主流的仪表一般都会附带查询SCPI指令的相关方式,可能是文档,也可能直接在仪表上按键时直接显示,IQ系列设备通过网页进入仪表测试界面,然后在admin tools里有相应文档可以查询。关于SCPI的定义参考如下:

可编程仪器标准命令(英语:Standard Commands for Programmable Instruments,缩写:SCPI)定义了一套用于控制可编程测试测量仪器的标准语法和命令。

百度百科

纸上得来终觉浅,绝知此事要躬行。第一期就写这么多,有兴趣的可以试试,上面的代码不一定能直接用,很有可能会报错,但是在检查错误的过程中你会发现学习的效果会更好,我个人的体验是这样的,下期再会!


相关文章
|
8月前
|
敏捷开发 测试技术 API
测试金字塔:构建高效自动化测试策略的基石
测试金字塔:构建高效自动化测试策略的基石
609 116
|
8月前
|
数据采集 JSON JavaScript
Cypress 插件实战:让测试更稳定,不再“偶尔掉链子”
本文分享如何通过自定义Cypress插件解决测试不稳定的痛点。插件可实现智能等待、数据预处理等能力,替代传统硬性等待,有效减少偶发性失败,提升测试效率和可维护性。文内包含具体实现方法与最佳实践。
|
9月前
|
存储 关系型数据库 测试技术
玩转n8n测试自动化:核心节点详解与测试实战指南
n8n中节点是自动化测试的核心,涵盖触发器、数据操作、逻辑控制和工具节点。通过组合节点,测试工程师可构建高效、智能的测试流程,提升测试自动化能力。
|
8月前
|
测试技术 API 数据库
测试金字塔:构建高效自动化测试策略的基石
测试金字塔:构建高效自动化测试策略的基石
629 114
|
10月前
|
Web App开发 人工智能 JavaScript
主流自动化测试框架的技术解析与实战指南
本内容深入解析主流测试框架Playwright、Selenium与Cypress的核心架构与适用场景,对比其在SPA测试、CI/CD、跨浏览器兼容性等方面的表现。同时探讨Playwright在AI增强测试、录制回放、企业部署等领域的实战优势,以及Selenium在老旧系统和IE兼容性中的坚守场景。结合六大典型场景,提供技术选型决策指南,并展望AI赋能下的未来测试体系。
|
10月前
|
存储 人工智能 算法
AI测试平台实战:深入解析自动化评分和多模型对比评测
在AI技术迅猛发展的今天,测试工程师面临着如何高效评估大模型性能的全新挑战。本文将深入探讨AI测试平台中自动化评分与多模型对比评测的关键技术与实践方法,为测试工程师提供可落地的解决方案。
|
8月前
|
人工智能 自然语言处理 JavaScript
Playwright MCP在UI回归测试中的实战:构建AI自主测试智能体
Playwright MCP结合AI智能体,革新UI回归测试:通过自然语言驱动浏览器操作,降低脚本编写门槛,提升测试效率与覆盖范围。借助快照解析、智能定位与Jira等工具集成,实现从需求描述到自动化执行的闭环,推动测试迈向智能化、民主化新阶段。
|
10月前
|
人工智能 缓存 测试技术
Playwright进阶指南 (6) | 自动化测试实战
2025企业级测试解决方案全面解析:从单元测试到千级并发,构建高可用测试体系。结合Playwright智能工具,解决传统测试维护成本高、环境依赖强、执行效率低等痛点,提升测试成功率,内容从测试架构设计、电商系统实战框架、高级测试策略、Docker化部署、CI/CD集成及AI测试应用,助力测试工程师掌握前沿技术,打造高效稳定的测试流程。
Playwright进阶指南 (6) | 自动化测试实战
|
9月前
|
人工智能 数据可视化 测试技术
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
1110 11
|
10月前
|
算法 测试技术 API
从自学到实战:一位测试工程师的成长之路
在技术快速发展的今天,自动化测试已成为提升职场竞争力的关键技能。本文讲述了一位测试工程师从自学到实战的成长之路,分享他在学习UI、APP和API自动化过程中遇到的挑战,以及如何通过实际项目磨炼技术、突破瓶颈。他从最初自学的迷茫,到实战中发现问题、解决问题,再到得到导师指导,逐步掌握测试开发的核心思维,并向测试平台建设方向迈进。文章总结了他从理论到实践、从执行到思考的转变经验,强调了实战、导师指导和技术服务于业务的重要性。最后,邀请读者分享自己的技术突破故事,共同交流成长。

推荐镜像

更多