当前位置: 首页 > news >正文

XML调用 CAPL Test Function

  • 🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用
  • 🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】
  • 🍅 玩转CANoe,博客目录大全,点击跳转👉

📘前言

  • 🍅 在做测试用例开发的时候,我们可能期望在执行测试用例之前,做一些变量初始化,复制,文本处理等前瞻性工作,

  • 🍅 有些小伙伴可能想通过on starton prestart 实现,但这是不理智的,在test units and test moduleson 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中的testfunctioncapltestfunction标签,且该标签无法独立使用,需被 或 或 标签包含使用。
    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界面,创建了一个testfunction test_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界面,创建了一个testfunction test_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
    在这里插入图片描述

🌎总结

23

7

  • 🚩要有最朴素的生活,最遥远的梦想,即使明天天寒地冻,路遥马亡!

  • 🚩如果这篇博客对你有帮助,请 “点赞” “评论”“收藏”一键三连 哦!码字不易,大家的支持就是我坚持下去的动力。
    18
http://www.lryc.cn/news/20732.html

相关文章:

  • Linux网络配置(NAT)
  • 数据结构——第二章 线性表(8)——线性表总结
  • 3.7寸按键翻页工牌
  • 西北工业大学大学物理(II)选填解析2019-2020期末
  • [计算机网络(第八版)]第一章 概述(章节测试/章节作业)
  • 华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典
  • 电子科技大学数据库与软件工程三
  • 华为开源自研AI框架昇思MindSpore数据变换:Transforms
  • 软件测试之边界值测试法
  • 【华为OD机试模拟题】用 C++ 实现 - 最近的点(2023.Q1)
  • Qt windeployqt.exe 打包qml
  • 【人脸识别】CurricularFace:自适应课程学习人脸识别损失函数
  • springmvc之rest风格(RESTFUL)
  • django项目实战十四(django+bootstrap实现增删改查)进阶混合数据使用modelform上传
  • 2023年CDGA考试模拟题库(1-100)
  • HTML常用基础内容总结
  • Gorm-学习笔记
  • 【Neo4j】图数据库CypherQueryLanguage随笔
  • STM32Cube串口USART发送接收数据
  • OpenFeign详解
  • python多线程网络编程
  • BFS-走迷宫
  • 【蓝牙mesh】Lower协议层介绍
  • Java-重排序,happens-before 和 as-if-serial 语义
  • Nginx安装及介绍
  • 【华为OD机试模拟题】用 C++ 实现 - 寻找路径 or 数组二叉树(2023.Q1)
  • LINUX学习记录
  • 华为OD机试用Python实现 -【狼羊过河 or 羊、狼、农夫过河】(2023-Q1 新题)
  • 【SAP Abap】X-DOC:SAP ABAP 语法更新之Open SQL
  • leetcode 困难 —— 数组中的逆序对(分治法)