目录
1、概要
设计串口数据压力测试自动化脚本,并对脚本即相关配测工具使用方法进行说明。
2、测试环境准备
2.1PC端准备
1、PC端安装配测串口软件:sscom
2、PC端根据测试需要准备一定大小的文件(本说明以1M数据文件为例进行测试)
2.2设备端准备
1、设备端提前将ttysTest文件夹放置到系统中
3、工具介绍
1、sscom 软件可打开相应串口,设置相应波特率,可根据需要将接收数据保存到文件,同时可以发送文件到设备端
2、ttysTest.sh文件为串口收发测试脚本,reciveMD5Test.sh文件为接收数据MD5检验脚本
4、数据发送测试
4.1 PC端打开串口软件
PC端打开sscom测试软件,并设置正确的串口号跟波特率后打开串口
Pc端选择接收数据到文件,sscom会自动保存数据到提示的文件中,一般保存目录为sscom工具安装目录。
4.2设备端执行测试脚本
1、设备端进入测试脚本文件夹
2、执行测试脚本,并根据提示输入串口号和波特率,脚本自动发送文件夹内txt文件到PC端
4.3、算接收文件MD5码
1、修改PC端接收数据文件格式为txt类型
2、打开PC机cmd命令工具,计算设备端发送文件MD5值,并与设备端显示MD5值比较,数值一致为测试通过
5、数据接收测试
5.1设置串口接收
1、执行测试脚本ttysTest.sh 数据发送完成后,按任意键退出,即进入串口数据接收模式
2、PC端sscom选择文件后,选择HEX发送,点击发送文件
3、sscom会显示数据发送进度
4、根据sscom显示,发送完成后,设备端按Ctrl+c退出接收
5.2 串口接收MD5值校验
1、PC端计算发送文件MD5值
2、设备端执行 sh ReceiveMD5Check.sh,根据提示输入发送数据MD5值
3、脚本计算并对比接收文件MD5值与输入MD5值是否一致,数值一样为测试通过
6 附件附件1 串口数据收发测试脚本
#!/bin/bash
# 检查参数个数
read -p "请输入串口号/dev/ttyS*:" port
serial_port="/dev/ttyS$port"
# 使用stty检查串口设备是否存在
if [[ -c $serial_port ]]; then
echo "串口设备存在:$serial_port"
else
echo "串口设备不存在:$serial_port"
exit 1
fi
#echo "串口号为:$serial_port"
read -p "请输入串口波特率:" serial_baudrate
echo "串口波特率为:$serial_baudrate"
stty -F $serial_port $serial_baudrate
echo "开始发送数据..."
cat devSend.txt > $serial_port
# 等待用户输入来结束脚本
read -p "按任意键退出发送" -n 1 -s
# 直接获取cat的PID
#kill $!
echo -e "\003"
echo "发送完成"
md5Send=$(md5sum devSend.txt)
echo "发送文件MD5值:$md5Send"
echo -e "请比对文件MD5值,若MD5值一致,串口发送测试通过"
#cat指令还在运行强行结束
#if [ -n "$!" ]; then
# kill $!
#fi
stty -F $serial_port -icanon min 1 time 0
#stty -F $serial_port -close
#进入串口数据接收
stty -F $serial_port $serial_baudrate
echo "开始接收串口数据,按Ctrl+c退出串口接收"
cat $serial_port > pcSend.txt
exit
附件2 MD5码校验测试脚本
#!/bin/bash
read -p "输入PC端发送文件MD5值:" pcMD5
md5Recive=$(md5sum pcSend.txt | awk '{print $1}')
echo -e "\n接收文件MD5值:$md5Recive"
if test $pcMD5 = $md5Recive
then
echo "接收文件MD5值一致"
echo "串口接收测试通过"
else
echo "接收文件MD5值不一致"
echo "串口接收测试失败"
fi
exit