XML调用 CAPL Test Function
- 🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用
- 🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】
- 🍅 玩转CANoe,博客目录大全,点击跳转👉
📘前言
-
🍅 在做测试用例开发的时候,我们可能期望在执行测试用例之前,做一些变量初始化,复制,文本处理等前瞻性工作,
-
🍅 有些小伙伴可能想通过
on start和on prestart实现,但这是不理智的,在test unitsandtest modules中on start是不可用的,而on prestart初始化变量等是不可靠的。 -
🍅 所以如果是
XML test modules类型的测试用例,想要完成初始化的一些工作,使用XML调用CAPL Test Function是一个不错的选择
CANoe中XML编程常用语法
- 📘前言
- 🌎CAPL Test Function
- 🌎测试用例1(preparation标签下的无参数调用)
- 🌎测试用例2(testcase标签下的带参数调用)
- 🌎测试用例3(completion标签下的带参数调用)
- 🌎总结
🌎CAPL Test Function
下图是Call CAPL Test Function的Help解释:
- 1,
XML test module中的XML文件可以调用CAPL中的Test Function,且只能被XML调用。 - 2,调用capl中的
testfunction用capltestfunction标签,且该标签无法独立使用,需被 或 或 标签包含使用。
3,以最简单的例子<capltestfunction name="test_01" title="call test function : test_01"></capltestfunction> - name的值必须和CAPL中的testfunction 一致。
- title 的值可以任意填写
4,testfunction 的函数是没有返回值的。
5,capltestfunction是可以传参调用的,支持的参数有:float|int|string|signal|envvar|sysvar

🌎测试用例1(preparation标签下的无参数调用)
- 1️⃣ 如下图的CAPL界面,创建了一个testfunction test_01()

- 2️⃣ 创建的xml文件如下图,通过
capltestfunction标签调用 capl脚本中创建的test_01()函数

<testmodule title="XML Test Module" version="1.1"><description>XML Test Module</description><preparation><initialize title="Initialize test module" wait="200"><!-- <envvar name="">1</envvar> --></initialize><capltestfunction name="test_01" title="call test function : test_01"></capltestfunction></preparation><testgroup title="UDS"> <capltestcase name="TC_0001" /></testgroup><completion><initialize title="Adding testreport info" wait="500"><!-- <envvar name="">0</envvar> --></initialize></completion>
</testmodule>
- 2️⃣ 例如,新建一个xml文件,命名为test.xml ,写入如下代码,新建一个XML Test Modele 节点,测试下,观察测试报告的输出
<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<testmodule title="testmodel_tag" version="1.13"></testmodule>
- 3️⃣ 根据输出报告可以看出 title=“testmodel_tag” ,输出的报告名字就是testmodel_tag

- 3️⃣ 创建的
Test Module测试节点。然后执行测试,根据结果可以看到XML成功调用了函数test_01


🌎测试用例2(testcase标签下的带参数调用)
- 1️⃣ 如下图的CAPL界面,创建了一个
testfunctiontest_02(int s)

- 2️⃣通过
testcase标签调用 capl脚本中创建的test_02()函数
<testmodule title="XML Test Module" version="1.1"><description>XML Test Module</description><preparation><initialize title="Initialize test module" wait="200"><!-- <envvar name="">1</envvar> --></initialize><capltestfunction name="test_01" title="preparation标签下的无参数调用"></capltestfunction></preparation><testgroup title="UDS"> <capltestcase name="TC_0001" /><testcase title="TC_0002" ident="TC_0002"> <capltestfunction name="test_02" title="testcase标签下的带参数调用"><caplparam name="para1" type="int">0x01</caplparam></capltestfunction></testcase></testgroup><completion><initialize title="Adding testreport info" wait="500"><!-- <envvar name="">0</envvar> --></initialize></completion>
</testmodule>
- 3️⃣ 输出结果,根据结果可以看到
XML成功调用了函数test_02

🌎测试用例3(completion标签下的带参数调用)
- 1️⃣ 如下图的CAPL界面,创建了一个
testfunctiontest_03(char s[])
/*@!Encoding:936*/
testfunction test_01()
{write("***************XML调用了 testfunction test_01***************");
}testfunction test_02(int s)
{write("***************XML调用了 testfunction test_02 ,接收参数:%d***************",s);
}testfunction test_03(char s[])
{write("***************XML调用了 testfunction test_03 ,接收参数:%s***************",s);
}testcase TC_0001()
{}
- 2️⃣通过
completion标签调用 capl脚本中创建的test_03()函数
<testmodule title="XML Test Module" version="1.1"><description>XML Test Module</description><preparation><capltestfunction name="test_01" title="preparation标签下的无参数调用"></capltestfunction></preparation><testgroup title="UDS"> <capltestcase name="TC_0001" /><testcase title="TC_0002" ident="TC_0002"> <capltestfunction name="test_02" title="testcase标签下的带参数调用"><caplparam name="para1" type="int">0x01</caplparam></capltestfunction></testcase></testgroup><completion><capltestfunction name="test_03" title="completion标签下的带参数调用"><caplparam name="para1" type="string">hello</caplparam></capltestfunction></completion>
</testmodule>
- 3️⃣ 输出结果,根据结果可以看到
XML成功调用了函数test_03

🌎总结


- 🚩要有最朴素的生活,最遥远的梦想,即使明天天寒地冻,路遥马亡!
- 🚩如果这篇博客对你有帮助,请 “点赞” “评论”“收藏”一键三连 哦!码字不易,大家的支持就是我坚持下去的动力。
相关文章:
XML调用 CAPL Test Function
🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】🍅 玩转CANoe&…...
Linux网络配置(NAT)
在搭配好一台虚拟机的时候想要下载,安装些什么但一直失败这个时候就可以检查一下网络是否连接这里我们使用centos7举例子使用命令——ifconfig由此可见我们的系统中目前有3个网卡ens33——用于接入外网,该网卡默认关闭lo——用于访问本地网络,…...
数据结构——第二章 线性表(8)——线性表总结
线性表总结 线性表是线性结构的基本形式,用于描述一组同类型而具有1:1线性关系的数据对象。将此类数据对象存放在计算机的内存中时,必须考虑数据元素的存放和数据元素之间关系的存放。常用的存储结构有顺序存结构和链式结构。 顺序表存储特点是用一维数…...
3.7寸按键翻页工牌
产品参数 产品型号 ESL_BWR3.7_BLE 产品尺寸 (mm) 62.51066.5 显示技术 E ink 显示区域 (mm) 47.32(H)81.12(V) 分辨率 (像素) 280480 像素尺寸(mm) 0.1690.169 150dpi 显示颜色 黑/白 视觉角度 180 工作温度 0℃ - 50℃ 电池 500mAh ( Type-C 充电…...
西北工业大学大学物理(II)选填解析2019-2020期末
2 又是考查“一个电子和一个光子具有相同的波长,则二者动量相等。”4 斯特恩盖拉赫实验,原子的自旋磁矩取向量子化。7 通常我们感受不到电子的波动性。因为其波长短,其实也就是粒子运动速率高。10 考查无限长直导线周围B分布。常见的模型要记…...
[计算机网络(第八版)]第一章 概述(章节测试/章节作业)
随堂作业 练习版(无答案版) 1.2 因特网概述 1【单选题】因特网的前身是1969年创建的第一个分组交换网 A、internetB、InternetC、NSFNETD、ARPANET 2【单选题】因特网采用的核心技术是 A、TCP/IPB、局域网技术C、远程通信技术D、光纤技术 1.3 三种交换方式:电路…...
华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典
文章目录2023 年用 Python 语言解华为 OD 机试题,一篇博客找全。华为 OD 机试题清单(机试题库还在逐日更新)2023 年用 Python 语言解华为 OD 机试题,一篇博客找全。 在 2023 年,Python 已成为广泛使用的编程语言之一&…...
电子科技大学数据库与软件工程三
适用于网工和物联网专业 目录 一、实验目的 二、实验内容 三、实验软件 四、实验步骤及数据记录 1.子查询 2. 伪列 3.数据库对象 4. 块、存储过程和触发器 五、实验结论及思考题 实验结论: 思考题: 六、总结及心得体会 七、对本实验过程及方…...
华为开源自研AI框架昇思MindSpore数据变换:Transforms
目录一、环境准备1.进入ModelArts官网2.使用CodeLab体验Notebook实例二、数据变换 TransformsCommon TransformsComposeVision TransformsRescaleNormalizeHWC2CWHText TransformsBasicTokenizerLookupLambda Transforms通常情况下,直接加载的原始数据并不能直接送入…...
软件测试之边界值测试法
边界值测试法 1. 介绍 边界值分析法就是对输入或输出边界值进行测试的,也是一种黑盒测试. 边界值分析法通常作为等价类划分法的补充,其测试用例来自等价类的边界;长期的经验得知,大量的错误是发现在输入或输出范围的边界上,而不是发生再输入输出范围的内部&#…...
【华为OD机试模拟题】用 C++ 实现 - 最近的点(2023.Q1)
最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 获得完美走位(2023.Q1) 文章目录 最近更新的博客使用说明最近的点题目输入输出示例一输入输出Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址…...
Qt windeployqt.exe 打包qml
Qt系列文章目录 文章目录Qt系列文章目录前言一、遇到的坑二、参考前言 我们在QtCreator下面开发程序,一般都会遇到工程发布给客户使用的情况。我们通常会使用Qt自带的打包工具:windeployqt.exe。 windeployqt.exe是Qt自带的工具,用于创建应用…...
【人脸识别】CurricularFace:自适应课程学习人脸识别损失函数
论文题目:《CurricularFace: Adaptive Curriculum Learning Loss for Deep Face Recognition》 论文地址:https://arxiv.org/pdf/2004.00288v1.pdf 代码地址:https://github.com/HuangYG123/CurricularFace 建议先了解下这篇文章:…...
springmvc之rest风格(RESTFUL)
目录 一、介绍 1.什么是REST? 2.REST的实质 3.REST风格的优点 4.REST风格的缺点 3.什么是RESTful? 二、代码理解 一、介绍 1.什么是REST? 答:REST(Representational State Transfer) ,表现形式转…...
django项目实战十四(django+bootstrap实现增删改查)进阶混合数据使用modelform上传
目录 一、启用media 1、URL设置 2、settings.py配置 二、url 三、upload.py 新增upload_modelform方法 四、form.py新增UpModelForm 五、创建city表 六、创建city_list.html 接上一篇《django项目实战十三(djangobootstrap实现增删改查)进阶混合数据f…...
2023年CDGA考试模拟题库(1-100)
2023年CDGA考试模拟题库(1-100) 1.以下哪种活动中 ,混淆是不足以保护数据 的?[1分] A.数据共享 B.数据转换 C.数据脱敏 D.以上都正确 答案C 2.关于受控词表描述不正确的是?[1分] A.系统地组织文件档案和内容离不开受控词表 B.受控词表的一个例子是用于出版物分类的都…...
HTML常用基础内容总结
文章目录一、对HTML的感性认知前置知识什么是web前端,什么是web后端前端技术栈、后端技术栈开发与运行的区别浏览器的功能是什么简介写一个简单可运行的的html代码前端开发方式二、VSCode的简单使用三、常用的HTML标签最最基本的HTML结构HTML代码特点注释标签标题标…...
Gorm-学习笔记
1 基本使用 2 创建数据 2.1 如何使用Upsert 使用clause.OnConflict处理数据冲突 2.2 如何使用默认值 通过使用default标签为字段定义默认值 3 查询数据 3.1 First与Find 使用First时,需要注意查询不到数据会返回ErrRecordNotFound。 使用Find查询多条数据&#x…...
【Neo4j】图数据库CypherQueryLanguage随笔
CQL语言随笔 一、Cyther关系描述 如图:唐僧,孙悟空,白骨精三者的关系图: Cypher语言描述他们的关系: (孙悟空)<-[:赶走]-(唐僧)-[:被骗]->(白骨精)-[:被打死]->(孙悟空) 二、CQL语言的使用案例 创建结点…...
STM32Cube串口USART发送接收数据
本文代码使用 HAL 库。 文章目录前言一、USART 同步/异步串行接收/发送器二、USART 原理图三、CubeMX 创建工程四、usart.c 文件解析五,设计实验:在 串口输入字符点亮led实验现象:总结前言 这篇文章介绍 实现 USART 异步模式下 通过 串口助手…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
stm32wle5 lpuart DMA数据不接收
配置波特率9600时,需要使用外部低速晶振...
