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)定义了一套用于控制可编程测试测量仪器的标准语法和命令。

百度百科

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


相关文章
|
30天前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
97 8
|
1月前
|
搜索推荐 Python
使用Python自动化生成物业通知单
本文介绍如何使用Python结合Pandas和python-docx库自动化生成物业通知单。通过读取Excel数据并填充至Word模板,实现高效准确的通知单批量制作。包括环境准备、代码解析及效果展示,适用于物业管理场景。
64 14
|
1月前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
122 10
|
11天前
|
Python
自动化微信朋友圈:Python脚本实现自动发布动态
本文介绍如何使用Python脚本自动化发布微信朋友圈动态,节省手动输入的时间。主要依赖`pyautogui`、`time`、`pyperclip`等库,通过模拟鼠标和键盘操作实现自动发布。代码涵盖打开微信、定位朋友圈、准备输入框、模拟打字等功能。虽然该方法能提高效率,但需注意可能违反微信使用条款,存在风险。定期更新脚本以适应微信界面变化也很重要。
117 60
|
17天前
|
IDE 测试技术 开发工具
10个必备Python调试技巧:从pdb到单元测试的开发效率提升指南
在Python开发中,调试是提升效率的关键技能。本文总结了10个实用的调试方法,涵盖内置调试器pdb、breakpoint()函数、断言机制、logging模块、列表推导式优化、IPython调试、警告机制、IDE调试工具、inspect模块和单元测试框架的应用。通过这些技巧,开发者可以更高效地定位和解决问题,提高代码质量。
129 8
10个必备Python调试技巧:从pdb到单元测试的开发效率提升指南
|
5天前
|
存储 测试技术 API
pytest接口自动化测试框架搭建
通过上述步骤,我们成功搭建了一个基于 `pytest`的接口自动化测试框架。这个框架具备良好的扩展性和可维护性,能够高效地管理和执行API测试。通过封装HTTP请求逻辑、使用 `conftest.py`定义共享资源和前置条件,并利用 `pytest.ini`进行配置管理,可以大幅提高测试的自动化程度和执行效率。希望本文能为您的测试工作提供实用的指导和帮助。
46 15
|
14天前
|
数据采集 人工智能 自然语言处理
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
Midscene.js 是一款基于 AI 技术的 UI 自动化测试框架,通过自然语言交互简化测试流程,支持动作执行、数据查询和页面断言,提供可视化报告,适用于多种应用场景。
132 1
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
|
3天前
|
存储 安全 数据可视化
用Python实现简单的任务自动化
本文介绍如何使用Python实现任务自动化,提高效率和准确性。通过三个实用案例展示:1. 使用`smtplib`和`schedule`库自动发送邮件提醒;2. 利用`shutil`和`os`库自动备份文件;3. 借助`requests`库自动下载网页内容。每个案例包含详细代码和解释,并附带注意事项。掌握这些技能有助于个人和企业优化流程、节约成本。
28 3
|
23天前
|
机器学习/深度学习 人工智能 jenkins
探索软件测试中的自动化与持续集成
【10月更文挑战第21天】 在软件开发的生命周期中,软件测试扮演着至关重要的角色。随着技术的进步和开发模式的转变,自动化测试和持续集成已经成为提高软件质量和效率的关键手段。本文将深入探讨自动化测试和持续集成的概念、实施策略以及它们如何相互配合以优化软件开发流程。我们将通过分析实际案例,展示这些技术如何在实际项目中发挥作用,以及面临的挑战和解决方案。此外,文章还将讨论未来趋势,包括人工智能在测试领域的应用前景。
74 17
|
23天前
|
JSON 数据可视化 测试技术
python+requests接口自动化框架的实现
通过以上步骤,我们构建了一个基本的Python+Requests接口自动化测试框架。这个框架具有良好的扩展性,可以根据实际需求进行功能扩展和优化。它不仅能提高测试效率,还能保证接口的稳定性和可靠性,为软件质量提供有力保障。
54 7

热门文章

最新文章

下一篇
开通oss服务