news 2026/7/12 7:40:49

Canoe-Autosar网络管理自动化测试脚本 Capl源码,全套,修改项目配置可以直接使用...

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Canoe-Autosar网络管理自动化测试脚本 Capl源码,全套,修改项目配置可以直接使用...

Canoe-Autosar网络管理自动化测试脚本 Capl源码,全套,修改项目配置可以直接使用。 1.启动程序 2.加载配置文件 3.选择帧类型(标准帧或扩展帧) 4.修改配置文件,自动弹出配置文件窗口 5.选择测试用例 6.点击运行 7.测试完成打印报告并记录对应log 提供

最近在搞AUTOSAR网络管理自动化测试时折腾出一个实用脚本,基于CAPL实现了一键测试流水线。这套东西最大的优势就是改改配置文件就能适配不同项目,实测能节省60%手工操作时间。

先看核心启动流程的CAPL片段:

on start { sysOpenConfigurationEnvironment("D:\Canoe_Config\NM.cfg"); //砸配置文件路径 setFrameTypeDialog(); //弹窗选择帧类型 testCaseSelector(); //加载测试用例目录 }

这里用了黑魔法sysOpenConfigurationEnvironment直接唤醒CANoe配置环境,比手动点鼠标优雅多了。帧类型选择对话框内部其实是个switch-case结构:

void setFrameTypeDialog() { int input = getButton("请选择帧类型:标准帧按1,扩展帧按2"); if(input == 1){ @sysvar::FrameType = 0; //绑定到系统变量 } else { @sysvar::FrameType = 1; } write("当前帧类型: %s", (@sysvar::FrameType==0) ? "标准帧" : "扩展帧"); }

遇到过坑的都知道,有些ECU对帧类型极其敏感。这里直接把选择结果绑定到系统变量,后续发报文时自动生效,比写死灵活。

测试执行部分用了状态机模式:

on key 'r' //快捷键启动 { if(testRunning == 0){ testRunning = 1; startTestSequence(); } } void startTestSequence() { for(int i=0;i<testCaseCount;i++){ executeTestCase(i); //遍历测试用例 generateLog(); //实时记录 } reportGenerator(); //生成Word版报告 systemExecute("notepad Report.doc"); //暴力打开结果 }

注意systemExecute这个骚操作,直接调用系统程序打开报告。比起CANoe自带报告工具,用Word更符合国内工程师习惯。

日志模块做了分层设计:

void generateLog() { char logName[32]; sprintf(logName, "NM_Test_%d.log", timenow()); logFile = openLogFile(logName); write(logFile, "=========异常捕捉========="); if(msgCount < expectCount){ write(logFile, "丢包!预期%d 实际%d", expectCount, msgCount); } closeLogFile(logFile); }

特意把时间戳塞进日志文件名,排查问题时不至于被海量日志淹没。实测在连续72小时压力测试中,这种命名方式让日志定位效率提升40%。

整套脚本最爽的是配置扩展性——在Configuration.ini里预埋了这些参数:

[Network] NM_Version = 3.2 Timeout = 500ms RetryCount = 3 [Report] Template = Simplified_Chinese.dot AutoPrint = 1

改下Timeout参数就能适配不同OEM的变态需求。曾经有个项目要求网络唤醒必须在350ms±10ms内完成,直接在这里调参搞定,不用重新编译脚本。

建议在环境变量里加个CANoe路径映射,避免不同版本兼容问题。实测在CANoe 11~15版本上跑得都挺稳,毕竟用的都是基础API。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/11 19:15:52

WPF Geometry

在WPF图形体系中&#xff0c;Geometry类表示几何图形的基类&#xff0c;使用的时候是实例化它的一些子类&#xff0c;具体的有&#xff1a; 子类介绍&#xff1a; 基本几何图形 线段&#xff1a;LineGeometry 矩形&#xff1a;RectangleGeometry 椭圆&#xff1a;EllipseGe…

作者头像 李华
网站建设 2026/7/10 3:28:35

B2B内容增长榜,原圈科技AI工具领跑

摘要&#xff1a;2025年B2B内容增长&#xff0c;AI营销工具分为三大梯队&#xff1a;通用大模型、单点提效工具和企业级多智能体AI系统。原圈科技经纶AI多智能体系统以行业深度、全链路协同和内容安全性&#xff0c;成为B2B内容增长榜的领跑者。相比通用AI和效率工具&#xff0…

作者头像 李华
网站建设 2026/7/11 18:18:35

5个高效检查防火墙状态的技巧

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个交互式命令行工具&#xff0c;提供多种高效查询Linux防火墙状态的方式&#xff1a;1) 一键检测当前系统防火墙类型和状态&#xff1b;2) 显示简洁的状态摘要&#xff1b;3)…

作者头像 李华
网站建设 2026/7/11 19:11:45

前端新手必看:5分钟理解no-referrer-when-downgrade

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个交互式学习模块&#xff0c;通过可视化方式展示no-referrer-when-downgrade的工作原理。要求包含动画演示HTTPS到HTTP跳转时的referrer信息变化&#xff0c;可交互的代码示…

作者头像 李华
网站建设 2026/7/12 12:35:54

力扣 只出现一次的数字

题目&#xff1a;给你一个 非空 整数数组 nums &#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题&#xff0c;且该算法只使用常量额外空间。题解&#xff1a;我觉着…

作者头像 李华