从零开始学习CANoe(六)—— XML 测试节点

本文详细介绍如何在CANoe中创建并使用XML测试模块(XMLTestModule),包括在总线和测试设置中创建的方法,以及简单的案例实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相关文章

从零开始学习CANoe(一)—— 新建工程
从零开始学习CANoe(二)—— CANdb++ 创建 dbc文件
从零开始学习CANoe(三)—— 系统变量的创建和使用
从零开始学习CANoe(四)—— 设计panel
从零开始学习CANoe(五)—— CAPL 测试节点
从零开始学习CANoe(六)—— XML 测试节点
从零开始学习CANoe(七)—— .NET 测试节点
从零开始学习CANoe(八)—— IG 模块
从零开始学习CANoe(九)—— 断点调试(Debug)
从零开始学习CANoe(十)—— 信号发生器(Signal Generator
从零开始学习CANoe(十一)—— Statistics Window
从零开始学习CANoe(十二)—— Trace Window
从零开始学习CANoe(十三)—— Logging Window

前言

前面博客,已经将工程搭建起来了,我想通过接下来的几篇博客通过简单demo说一下,编写Case,今天就说一下怎么创建XML Test Module的两种方式。

在Bus上创建XMLTest Module

1, 在Bus 上 鼠标右键 ,然后选择insert XMLTest Module

å¨è¿éæå¥å¾çæè¿°

2,在节点上再次右键选择 Configuration,然后点击 file ,然后在选择的文件的地方命名我为 XML_Demo.xml ,然后点击OK.

å¨è¿éæå¥å¾çæè¿°

3,然后点击Components ,添加(创建)can文件XML_Demo.can

å¨è¿éæå¥å¾çæè¿°

4,右键选择 Edit XML_Demo.can文件,CAPL Browser 创建一个空白文件

å¨è¿éæå¥å¾çæè¿°

5,我们简单创建两个case,如下图代码:

/*@!Encoding:1252*/
includes
{  
}
variables
{
  word TestStepIndex=0;
  word subTestStepIndex=0;
  char TestStepText[200]; 
  char tempText[200]; 
}
testcase Set_EngineState() // 设置速度
{
  TestStepIndex = 1;
  subTestStepIndex= 1;
  snprintf(TestStepText, elcount(TestStepText), "%d.%d", TestStepIndex,subTestStepIndex );
  TestStep(TestStepText, "Set Engine Speed.");  
  setSignal(EngineSpeed,1000);
  testStepPass(TestStepText, "Set Engine Speed to 1000"); 
}
testcase Set_LightState() //设置灯光
{ 
  TestStepIndex = 1;
  subTestStepIndex= 1;
  snprintf(TestStepText, elcount(TestStepText), "%d.%d", TestStepIndex,subTestStepIndex );
  TestStep(TestStepText, "Set Flash Light..");
  setSignal(FlashLight,1);
  testStepPass(TestStepText, "Open Flash Light"); 
  
  TestStepIndex = 2;
  subTestStepIndex= 1;
  snprintf(TestStepText, elcount(TestStepText), "%d.%d", TestStepIndex,subTestStepIndex );
  TestStep(TestStepText, "Set Head Light..");
  setSignal(HeadLight,1);
  testStepPass(TestStepText, "Open Head Light");   
}
//void MainTest ()
//{
//    read_EngineState();
//    read_LightState();
//}

6,右键选择 Edit,会打开一个XML_Demo.xml的空白文件,我们简单添加几行xml代码,关于更多XML的编程,请参考
CANoe中XML编程常用标签语法

<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<testmodule title="bmw" version="">
		<testgroup title="bmw">		
				<capltestcase name="Set_EngineState"></capltestcase>
				<capltestcase name="Set_LightState"></capltestcase>	
		</testgroup>			
</testmodule>

å¨è¿éæå¥å¾çæè¿°

7,把工程Run起来,双击 XML节点,即可点击测试

å¨è¿éæå¥å¾çæè¿°

8 ,测试报告,如下图所示。

å¨è¿éæå¥å¾çæè¿°

在Test SetUp创建XMLTest Module

在这里插入图片描述

1,我们 右键点击下 XML节点,然后选择 Block Active 禁用掉这个节点,或者左键点击XML节点,按下空格键禁用。

å¨è¿éæå¥å¾çæè¿°
2,选择 Test Setup ,新建一个测试环境,命名为bmw_test_xml.tse

å¨è¿éæå¥å¾çæè¿°

å¨è¿éæå¥å¾çæè¿°

3,右键选择 insert XML Test Module,

å¨è¿éæå¥å¾çæè¿°
4,将XML_Demo.xml和XML_Demo.can 加载进来,配置方式和上面相同,如下图。

å¨è¿éæå¥å¾çæè¿°

————————————————
版权声明:本文为优快云博主「蚂蚁小兵」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/qq_34414530/article/details/110921559

 

### 华为 OD 机试真题文档获取方式 对于准备参加华为 OD 机试的技术人员来说,获取高质量的真题资料是非常重要的。以下是关于如何下载或查看华为 OD 机试真题的相关信息。 #### 文档下载地址 可以通过以下链接访问并下载一份名为“华为OD机试真题.pdf”的资源文件[^1]: - **项目地址**: [https://gitcode.com/Open-source-documentation-tutorial/ee1fb](https://gitcode.com/Open-source-documentation-tutorial/ee1fb) 此仓库提供了与华为 OD 机试相关的试题集合,适合用于备考和技术练习。 #### 题目解析与语言支持 除了直接下载真题外,还可以通过一些博客文章获得针对不同编程语言的具体题解和指导。这些资源涵盖了多种主流开发语言,包括但不限于 Python、C++、Java 和 JavaScript 等[^2]: - **Python** 解析: [华为 OD 机考 Python](https://blog.youkuaiyun.com/hihell/category_12199275.html) - **C++** 解析: [华为 OD 机考 C++](https://blog.youkuaiyun.com/hihell/category_12199283.html) - **C 语言** 解析: [华为 OD 机考 True C](https://blog.youkuaiyun.com/hihell/category_12225286.html) - **Java** 解析: [华为 OD 机考 Java](https://blog.youkuaiyun.com/hihell/category_12201821.html) - **JavaScript** 解析: [华为 OD 机考 Js](https://blog.youkuaiyun.com/hihell/category_12201825.html) - **Golang** 解析: [华为 OD 机考 Golang](https://blog.youkuaiyun.com/hihell/category_12231589.html) 以上链接不仅包含了具体的题目描述,还附带了解决方案以及代码实现示例[^3]。 #### 输入验证的重要性 值得注意的是,在实际编写解决方案时应特别关注输入数据的有效性和合法性检查。例如,当处理用户数量 `n` 的情况下,需确认其是否为正整数;而对于其他参数,则要确保它们均为有效数值类型[^4]。这一步骤能够显著提升程序运行稳定性及准确性。 ```python def validate_input(n, values): """ Validate the input parameters. Args: n (int): Number of users. values (list[int]): List of system consumption values. Returns: bool: Whether all inputs are valid or not. """ if isinstance(n, int) and n > 0 and all(isinstance(x, int) for x in values): return True return False ```
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值