news 2025/12/17 20:18:12

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进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/17 20:16:38

记一次flink任务因sink表被锁住而引发的flink雪崩问题

前段线上用户频繁反馈&#xff0c;flink任务运行一段时间就失败了。然后查看flink UI管理界面&#xff0c;发现整个taskmanager都挂了问题分析收集了用户flink日志&#xff0c;主要是taskmanager日志image发现非内存因素OOM的&#xff0c;而是自主退出的。关键因素由于取消任务…

作者头像 李华
网站建设 2025/12/17 20:16:06

ABAQU Sim连接器插拔力仿真——从新手到进阶

连接器插拔力abaqus CAE仿真&#xff0c;提供原仿真 3D模型&#xff0c;已经处理好的CAE文件 此模型整体难度中等&#xff0c;适合初学者和自己有点基础的abaqus学习者。ABAQU Sim 是一款强大的工具&#xff0c;特别适合进行复杂的仿真分析&#xff0c;比如连接器的插拔力分析。…

作者头像 李华
网站建设 2025/12/17 20:15:42

Linux软连接在Web开发中的5个实用场景

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个Web应用演示项目&#xff0c;展示Linux软连接在Web开发中的多种用途。包括&#xff1a;1. 使用软连接实现多版本PHP切换 2. 共享静态资源文件 3. 快速切换测试和生产环境配…

作者头像 李华
网站建设 2025/12/17 20:15:28

网络安全证书的含金量究竟有多高?

收藏&#xff01;网络安全证书不是智商税&#xff1a;5张黄金认证助你敲开大厂门&#xff0c;避坑法则全解析 文章解析了网络安全证书的价值定位&#xff0c;强调其是行业"敲门砖"而非"智商税"。重点介绍了CISSP、CEH等5张高含金量认证及其优势&#xff0…

作者头像 李华
网站建设 2025/12/17 20:15:23

常见的五大网络安全模型

网络安全学习指南&#xff1a;五大核心安全模型详解实战资源包&#xff08;强烈建议收藏&#xff09; 文章详细介绍了网络安全的五大核心模型&#xff1a;基本模型、访问模型、PPDR模型、PDRR模型和MPDRR模型&#xff0c;阐述了各模型的组成要素和特点。同时提供了网络安全学习…

作者头像 李华
网站建设 2025/12/17 20:15:16

1小时搭建数据泄漏监控原型:快马平台实战

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 在InsCode平台快速开发数据泄漏监控原型&#xff0c;需求&#xff1a;1. 用户输入邮箱 2. 检查预设的模拟泄露数据库 3. 返回简单JSON结果 4. 基础前端展示 5. 可一键部署。使用Pyt…

作者头像 李华