【CANoe】XML Test Module使用实例

news2024/11/14 17:28:02

文章目录

  • 一、实操步骤
    • 1、增加XML Test Module节点
    • 2、配置XML Test Module节点
    • 3、XML Test Module节点增加CAPL脚本(.can文件)
    • 4、文件夹结构
    • 5、使用仿真节点开始测试
    • 6、测试结果与测试报告
    • 7、同理,在Test Setup也可如此操作

一、实操步骤

1、增加XML Test Module节点

在这里插入图片描述

2、配置XML Test Module节点

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

XML_Demo.xml文件代码如下:

<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<testmodule title="bmw" version="">
		<testgroup title="bmw1">		
				<capltestcase name="TC01"></capltestcase>
				<capltestcase name="TC02"></capltestcase>
				<capltestcase name="TC03"></capltestcase>
		</testgroup>	
		<testgroup title="bmw2">		
				<capltestcase name="TC04"></capltestcase>
				<capltestcase name="TC05"></capltestcase>
		</testgroup>	
		<testgroup title="bmw3">		
				<capltestcase name="TC01"></capltestcase>
				<capltestcase name="TC03"></capltestcase>
		</testgroup>		
</testmodule>

在这里插入图片描述

3、XML Test Module节点增加CAPL脚本(.can文件)

在这里插入图片描述

在这里插入图片描述
XML_Demo.can代码如下:

/*@!Encoding:936*/
includes
{
  
}

variables
{
  message CAN2.0x101 msg_101={dlc=8}; 
}

//KL15 ON【第一个bit】
Set_KL15_on()
{
  msg_101.byte(0)= msg_101.byte(0)|0x1;
  output(msg_101);
}

//KL15 OFF【第一个bit】
Set_KL15_off()
{
  msg_101.byte(0)=0xFE&msg_101.byte(0);//11111110&msg_101.byte(0)
  output(msg_101);
}


testcase TC01()
{
  TestCaseTitle("TC01","111");

  write("【1】发送指令:上15");
  Set_KL15_on();
  testStep("【1】","发送指令:上15");
  
  testwaitfortimeout(1000);
  write("【2】发送指令:下15");
  Set_KL15_off();
  testStep("【2】","发送指令:下15");
  
}
testcase TC02()
{
  TestCaseTitle("TC02","222");

  write("【1】发送指令:上15");
  Set_KL15_on();
  testStep("【1】","发送指令:上15");
  
  testwaitfortimeout(1000);
  write("【2】发送指令:下15");
  Set_KL15_off();
  testStep("【2】","发送指令:下15");}
testcase TC03()
{
  TestCaseTitle("TC03","333");

  write("【1】发送指令:上15");
  Set_KL15_on();
  testStep("【1】","发送指令:上15");
  
  testwaitfortimeout(1000);
  write("【2】发送指令:下15");
  Set_KL15_off();
  testStep("【2】","发送指令:下15");}
testcase TC04()
{
  TestCaseTitle("TC04","444");

  write("【1】发送指令:上15");
  Set_KL15_on();
  testStep("【1】","发送指令:上15");
  
  testwaitfortimeout(1000);
  write("【2】发送指令:下15");
  Set_KL15_off();
  testStep("【2】","发送指令:下15");}
testcase TC05()
{
  TestCaseTitle("TC05","555");

  write("【1】发送指令:上15");
  Set_KL15_on();
  testStep("【1】","发送指令:上15");
  
  testwaitfortimeout(1000);
  write("【2】发送指令:下15");
  Set_KL15_off();
  testStep("【2】","发送指令:下15");
}
//void MainTest ()
//{
//  write("-------------------【测试开始】-------------------");
//  write("");
//  
//  stopLogging();   
//  setLogFileName("Logging\\{Date}_{Time}\\{LocalTime}_TC01"); 
//  startLogging();
//  TC01();
//  stopLogging(); 
//  
//  write("-------------------【测试结束】-------------------");
//}
//

4、文件夹结构

在这里插入图片描述

5、使用仿真节点开始测试

因为我没有连实际的设备,所以用仿真总线模拟
在这里插入图片描述

在这里插入图片描述

6、测试结果与测试报告

在这里插入图片描述在这里插入图片描述

7、同理,在Test Setup也可如此操作

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1107095.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用conda install一直卡在solving environment的解决方法

使用国内镜像源&#xff0c;但install仍旧一直卡在solving environment&#xff0c;超过10分钟就不用等了&#xff1b; 检查C:\Users\UserName 路径下的.condarc文件 将这个defaults这一行删掉即可

【Linux-常用命令-基础命令-复制-copy-命令-笔记】

【Linux-常用命令-基础命令-复制文件-copy-命令-笔记】 1、前言2、操作3、自己的实践 1、前言 最近&#xff0c;在使用Linux的时&#xff0c;使用相关基础命令是&#xff0c;总是容易忘记&#xff0c;上网一搜&#xff0c;大部分都写的比较繁琐&#xff0c;我就找下复制命令&a…

【算法设计与分析qwl】04 NP-hard——只是举例几个,货郎,双机调度,01背包

NP-hard问题&#xff1a; 有效算法是 输入规模的多项式时间算法。 这些问题的难度处于可有效计算的边界。 算法数据结构程序设计 例4 货郎问题 建模与算法&#xff1a; 解是一个排列&#xff0c; 0-1背包问题&#xff1a; 建模&#xff1a; 双机调度&#xff1a; 建模&#x…

【PPT技巧】如何将多张幻灯片打印在一张纸上?

PPT页面很多&#xff0c;想在打印的时候&#xff0c;多张幻灯片放置在同一页面&#xff0c;也就是打印在一张纸上&#xff0c;如何设置呢&#xff1f; 首先&#xff0c;打开需要打印的PPT文件&#xff0c;点击菜单选项卡【文件】&#xff0c;然后在弹出的页面中点击【打印】选…

单链表经典OJ题:找出链表的中间节点

题目&#xff1a; 给你单链表的头结点 head &#xff0c;请你找出并返回链表的中间结点。如果有两个中间结点&#xff0c;则返回第二个中间结点。 图例&#xff1a; 解法&#xff1a; 解法1: 先遍历链表确定链表节点的数量&#xff0c;然后再找到中间位置的节点 解法2: 快慢…

Linux性能优化--补充

14.1. 性能工具的位置 本书描述的性能工具来源于Internet上许多不同的位置。幸运的是&#xff0c;大多数主要发行版都把它们放在一起&#xff0c;包含在了其发行版的当前版本中。表A-1描述了全部工具&#xff0c;提供了指向其原始源位置的地址&#xff0c;并注明它们是否包含在…

百度地图高级进阶开发:圆形区域周边搜索地图监听事件(覆盖物重叠显示层级\图像标注监听事件、setZIndex和setTop方法)

百度地图API 使用百度地图API添加多覆盖物渲染时&#xff0c;会出现覆盖物被相互覆盖而导致都无法触发它们自己的监听&#xff1b;在百度地图API里&#xff0c;map的z-index为0&#xff0c;但是触发任意覆盖物的监听如click时也必定会触发map的监听&#xff1b; 项目需求 在…

6.7 案例分析与实现

思维导图&#xff1a; 6.7 案例分析与实现 #### 案例6.2: 六度空间理论 【案例分析】 - **背景介绍**&#xff1a; 六度空间理论提及在任意两人之间最多仅有6个人的连接。尽管这一理论被广泛提及并得到了某种程度的验证&#xff0c;但从科学角度看&#xff0c;它仍然只是一…

模型的选择与调优(网格搜索与交叉验证)

1、为什么需要交叉验证 交叉验证目的&#xff1a;为了让被评估的模型更加准确可信 2、什么是交叉验证(cross validation) 交叉验证&#xff1a;将拿到的训练数据&#xff0c;分为训练和验证集。以下图为例&#xff1a;将数据分成4份&#xff0c;其中一份作为验证集。然后经过…

C/C++面试常见问题——指针和引用的区别

首先想要理解指针和引用的区别&#xff0c;我们要明确什么是指针&#xff0c;什么是引用 一&#xff0c;指针和引用的基本概念及特性 指针是一个特殊变量&#xff0c;其中存储着所指向变量的地址 指针主要有以下特性&#xff1a; 1. 在使用时需要*解引用 2. sizeof(指针)的…

关于我对 jeecg-boot 的项目理解、使用心得和改进建议

一句话总结&#xff1a; JeecgBoot帮助我提升了后端技术水平&#xff0c;入门了前端&#xff0c;让我在公司内部慢慢能够成长为全栈开发。 一、项目理解 JeecgBoot 项目的核心理念是快速开发、低代码、易扩展。它采用了前后端分离的架构&#xff0c;后端使用Spring Boot Myba…

5.覆盖增强技术——PUCCHPUSCH

PUSCH增强方案的标准化工作 1.PUSCH重复传输类型A增强&#xff0c;包括两种增强机制&#xff1a;增加最大重复传输次数&#xff0c;以及基于可用上行时隙的重复传输次数技术方式。 2.基于频域的解决方案&#xff0c;包括时隙间/时隙内跳频的增强 3.支持跨多个时隙的传输块&…

spring配置文件第一行导致读取配置失败

遇到读取配置存在问题&#xff0c;尤其当配置到第一行 通过spring执行测试类&#xff0c;没有问题&#xff0c;但是相同配置启动项目时&#xff0c;老找不到JdbcTemplate 使用配置&#xff1a; spring.shardingsphere.datasource.namesmaster,slavespring.shardingsphere.dat…

服务器往浏览器推消息(SSE)应用

1&#xff0c;SSE 和 WebSocket 对比 SSE&#xff08;服务器发送事件&#xff09; SSE是一种基于HTTP的单向通信机制&#xff0c;用于服务器向客户端推送数据。它的工作原理如下&#xff1a; 建立连接&#xff1a;客户端通过发送HTTP请求与服务器建立连接。在请求中&#xff…

【linux API 分析】register_chrdev

linux kernel&#xff1a;4.19 在注册字符设备的时候&#xff0c;可使用register_chrdev()函数&#xff0c;其对应的注销函数是unregister_chrdev()&#xff0c;其定义是在include\linux\fs.h文件 register_chrdev() 首先分析register_chrdev()函数 其定义如下 static inlin…

SMAP(Soil Moisture Active and Passive)数据下载

SMAP&#xff08;Soil Moisture Active and Passive&#xff09;数据下载 打开网站先注册登录用户 然后打开SMAP下载的网站 点击HTTPS File System进入下载页面 然后点击HDF文件下载 下载之后在HDF View里面预览

Spring中反转控制与依赖注入

目录 一、反转控制&#xff08;IOC&#xff09; 二、依赖注入&#xff08;DI&#xff09; 一、反转控制&#xff08;IOC&#xff09; 在以前的学习中为成员变量的赋值&#xff0c;一般都是直接在代码中完成&#xff0c;但是这种方式会产生耦合。然而利用Spring对成员变量赋值可…

QT学习day2

一、思维导图 作业&#xff1a; 使用手动连接&#xff0c;将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函数将登录按钮使用qt5版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断ui界面上输入的账号是否为"admi…

sublime怎么调中文?

Sublime Text是一个功能强大的文本编辑器&#xff0c;它被广泛使用于编码过程中。在开发过程中&#xff0c;Sublime Text界面的语言设置通常默认为英语&#xff0c;无法直接输入中文。那么如何调整Sublime Text编辑器的设置&#xff0c;以允许在界面中输入和编辑中文呢&#xf…

CSS盒子模型的详细解析

03-盒子模型 作用&#xff1a;布局网页&#xff0c;摆放盒子和内容。 盒子模型-组成 内容区域 – width & height 内边距 – padding&#xff08;出现在内容与盒子边缘之间&#xff09; 边框线 – border 外边距 – margin&#xff08;出现在盒子外面&#xff09; d…