2. 测试套件安装与环境搭建
好,咱们直接进入正题。测试套件装不好,后面全是白搭。我见过不少团队,花了两周调环境,结果发现是License没配对。所以这一章,我带你一步步把地基打牢。
2.1 下载与安装:别下错版本
先说下载。UniPro的测试套件主要有两种:UniPro Protocol Analyzer(抓协议分析的)和UniPro Test Suite(跑一致性测试的)。我个人习惯是两套都装,因为调试时经常需要交叉验证。
- UniPro Protocol Analyzer:用于实时抓取UniPro链路上的数据包,分析协议时序。
- UniPro Test Suite:用于执行MIPI联盟定义的测试用例,验证DUT是否符合规范。
下载时注意版本号。我踩过坑:有一次项目急着用,下了个Beta版,结果连基本的PA层初始化都跑不过。后来才发现,正式版和Beta版的数据库结构不一样。所以,务必从MIPI官网或授权渠道获取正式发布版。
2.2 License配置:最容易被忽视的环节
装好软件后,第一件事不是点“运行”,而是配License。说白了,License就是一把钥匙。没有它,软件只能当个摆设。
配置步骤大致如下:
- 获取License文件(通常是.lic或.dat格式)。
- 将文件放到指定目录,比如
C:\Program Files\UniPro\license\(Windows)或/opt/UniPro/license/(Linux)。 - 设置环境变量
UNIPRO_LICENSE_PATH指向该目录。 - 重启软件或服务。
嗯,这里要注意:有些套件需要浮动License,也就是通过网络从License服务器获取。这时候你得配好服务器地址和端口。我曾经在客户现场折腾了一下午,最后发现是防火墙把端口给封了。所以,配完记得用ping和telnet测一下网络连通性。
ipconfig /all(Windows)或ifconfig(Linux)核对一下。
2.3 依赖库安装:Python3、Tcl/Tk、Wireshark插件
测试套件不是孤立的,它需要一堆依赖库。你想想看,没有Python3,脚本跑不了;没有Tcl/Tk,GUI界面打不开;没有Wireshark插件,抓包数据根本看不懂。
2.3.1 Python3环境
我建议装Python 3.8以上版本。为什么?因为UniPro Test Suite的自动化脚本用到了asyncio和dataclasses,这些在3.7之后才稳定。
# 检查Python版本
python --version
# 如果低于3.8,去python.org下载安装
# 安装必要库
pip install pyyaml numpy matplotlib
记得把Python添加到系统PATH。我遇到过有人装完Python,但命令行里死活找不到python命令,就是因为没勾选“Add Python to PATH”。
2.3.2 Tcl/Tk环境
测试套件的图形界面依赖Tcl/Tk。Windows下通常自带,但Linux下需要手动装。
# Ubuntu/Debian
sudo apt-get install tcl tk
# CentOS/RHEL
sudo yum install tcl tk
装完后,运行wish命令,如果能弹出一个小窗口,就说明Tcl/Tk工作正常。
2.3.3 Wireshark插件
这个插件是用来解析UniPro协议包的。没有它,Wireshark抓到的只是一堆乱码。
- 下载UniPro的Wireshark插件(通常是.so或.dll文件)。
- 复制到Wireshark的插件目录,比如
C:\Program Files\Wireshark\plugins\。 - 重启Wireshark,在“协议”列表里应该能看到“UniPro”。
2.4 环境验证:跑一个Hello World
所有东西装好后,别急着开始复杂测试。先跑一个最简单的用例,验证环境是否通。
# 启动UniPro Test Suite的命令行模式
unipro_test_suite --list-tests
# 如果能看到测试用例列表,说明安装成功
# 如果报错,检查依赖库是否完整
我个人习惯再跑一个Loopback测试。就是把DUT的TX和RX短接,发一个包看能不能收回来。这一步能快速验证硬件连接和软件配置是否正确。
2.5 知识体系总览
下面这张图,是我自己总结的安装与验证流程。你照着走,基本不会出大问题。
这张图里,我特意把“失败回退”的路径画出来了。为什么?因为实际项目中,很少有一次成功的。你可能会在License上卡住,也可能在依赖库版本上翻车。没关系,按图索骥,一步步排查就好。
2.6 常见问题速查
| 问题现象 | 可能原因 | 解决办法 |
|---|---|---|
| 软件启动后闪退 | 缺少Tcl/Tk库 | 重新安装Tcl/Tk,并检查PATH |
| License报错“Invalid host” | MAC地址或主机名不匹配 | 核对License文件中的host信息 |
| Wireshark无法解析UniPro包 | 插件版本不匹配 | 下载对应Wireshark版本的插件 |
| Python脚本报ModuleNotFoundError | 缺少依赖库 | 用pip install安装缺失模块 |
好了,环境搭好之后,下一章我们就可以真正开始跑测试用例了。不过在那之前,我建议你把刚才装的每个组件都手动点一遍,确认都能正常工作。磨刀不误砍柴工嘛。