通过XML调用CAPL脚本进行测试(新手向)

news2024/11/16 9:53:57

目录

0 引言

1 XML简介

2 通过XML调用CAPL脚本


0 引言

        纪念一下今天这个特殊日子,四年出现一次的29号。

        在CANoe中做自动化测试常用的编程方法有CAPL和XML两种,二者各有各的特色,对于CAPL来说新手肯定是更熟悉一些,因为说到在CANoe Test Module中写脚本那基本80%用的都是CAPL,但它的缺点也很明显就是不灵活,测试case的控制总体是通过MainTest()来实现的,当工程运行起来后没有办法自由转换测试用例。

void MainTest()
{
  tWakeUp_200 = 5;
  tSleep = 6000;
  
  testWaitForTimeout(2000);//等待系统变量的响应;
  
  testModuleTitle(" NM Automation Test");
  testGroupBegin("NM Test","");
    BSM_To_RMS(); //测试用例1
    RMS_To_RSS(); //测试用例2

  testGroupEnd();
}

所有的测试用例都被集成在了CAPL测试文件中不能自由选择:

而使用XML的方法就很好的克服这些缺点,每个case都是独立的个体,可以自由的去选择想要测试的测试用例,这与在VT中生成的case相类似。但XML对新手基本来说是一种陌生的语法,专门使用XML去编写case也会占用不少的时间成本去学习。因此本文重在讲解一种融合了XML的灵活性和CAPL的易上手性相结合的方法来帮助新手提升测试效率,并且了解两种语言的魅力。

1 XML简介

帮助文档中对XML的介绍如下,感兴趣的朋友可以自行阅读:

        当要从现有数据生成大量测试用例时,在XML中使用文本模块是特别方便的。由于XML文件基本上包含测试参数,因此生成器必须简单地将现有数据转换为所需的XML形式。

        一个XML测试模块由:任意数量的测试用例组成,这些测试用例可以分组在测试组中。测试用例按照在XML文件中定义的顺序进行处理。单个测试用例可以从执行对话框的执行中排除。每个测试用例通常由单独的测试和控制功能组成。一旦测试/控制功能失败或违反约束/条件,被执行的测试用例就会终止,并在测试报告中被标记为失败。测试模块本身不会中止;测试只是继续进行下一个测试用例。

2 通过XML调用CAPL脚本

使用XML和CAPL相结合的方法进行测试:

1.创建XML节点得到XML文件:

2.在XML文件中输入如下代码:

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>

<testmodule title="123" version="V1.0">

    <!--variants  > 
	    <variant  name="All" >         </variant> 		
		<variant  name="Auto" >        </variant>
		<variant  name="SemiAuto" >    </variant>
		<variant  name="NA">          </variant>
    </variants-->
	
	
    <testgroup title="123"> 	
	         <capltestcase  name="MotorMovePoweroff"     //name 双引号里的内容要与testcase的名字相一致                                title="MotorMovePoweroff"> </capltestcase>
	         <capltestcase  name="PowerSlowUpDown"                                     title="PowerSlowUpDown"> </capltestcase>
	         <capltestcase  name="PowerandSleepMode"                                     title="PowerandSleepMode"> </capltestcase>
	 <capltestcase  name="PowerSlowUpDown"                                     title="PowerSlowUpDown"> </capltestcase>
 	<capltestcase  name="EcuStandby"                                     title="EcuStandby"> </capltestcase>
 	<capltestcase  name="PowerSlowUpDown"                                     title="PowerSlowUpDown"> </capltestcase>
 	 <capltestcase  name="PowerSlowUpDown"                                     title="PowerSlowUpDown"> </capltestcase>
	<capltestcase  name="StressTest_EOLselflearning"                                     title="StressTest_EOLselflearning"> </capltestcase>	
	<capltestcase  name="HighVoltageMotorMove"                                     title="HighVoltageMotorMove11"> </capltestcase>
	<capltestcase  name="LowVoltageMotorMove"                                     title="LowVoltageMotorMove"> </capltestcase>	 
	<capltestcase  name="ZeroGravityToDefaultPositionAndRetract"           title="ZeroGravityToDefaultPositionAndRetract"> </capltestcase>
	<capltestcase  name="ZeroGravityToDefaultPositionBeinterruptedAndRetract"           title="ZeroGravityToDefaultPositionBeinterruptedAndRetract"> </capltestcase>		 
	<capltestcase  name="ZeroGravityToSEMI_DefaultPositionAndRetract"           title="ZeroGravityToSEMI_DefaultPositionAndRetract"> </capltestcase>	
	<capltestcase  name="ZeroGravityUnfoldMemory"           title="ZeroGravityUnfoldMemory"> </capltestcase>	

	</testgroup>









		      	
</testmodule>

 3 在XML节点中导入我们所需的CAPL文件:

4.完成如下图所示:

 

TIPs:

a. 需要注意的时导入XML中的CAPL脚本内不能含有 MainTest()

b.在XML文件中capltestcase  name=“A”,A必须和CAPL脚本中的测试用例的名称相一致

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

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

相关文章

循环结构:for循环,while循环,do-while,死循环

文章目录 for循环for案例&#xff1a;累加for循环在开发中的常见应用场景 whilewhile循环案例&#xff1a; for和while的区别&#xff1a;do-while三种循环的区别小结死循环 快捷键 ctrlaltt for循环 看循环执行多少次&#xff0c;就看有效数字有几个 快捷键 fori 示例代码&am…

测评ONLYOFFICE 8.0版本:办公利器再升级

测评ONLYOFFICE 8.0版本&#xff1a;办公利器再升级 前言注册使用升级功能速览全新外观设计wordexcelPPTPDF 协作功能强化更强大的功能复杂表单的填写 移动端优化结语 前言 随着科技的不断发展&#xff0c;办公软件在提升用户体验和工作效率方面扮演着越来越重要的角色。作为一…

Apache的安装与配置(使用)

目录 前言 一&#xff0c;安装 1. centos上安装Apache 1.1 基本使用 启动 停止 检查 测试运行 设置开机启动 2. 部署web 下载 解压 安装mysql数据库 安装php7.3 3.安装wordpress httpd命令语法解释 httpd几个常用目录 httpd常用的协议状态码解释 前言 apache…

基于stm32F103的座面声控台灯

1.基本内容&#xff1a; 设计一个放置在桌面使用的台灯&#xff0c;使用220v交流电供电。具备显示屏能够实时显示日期&#xff08;年、月、日和星期&#xff09;&#xff0c;时间&#xff08;小时、分钟、秒&#xff09;和温度&#xff08;摄氏度&#xff09;&#xff1b;能够通…

3D数字孪生

数字孪生&#xff08;Digital Twin&#xff09;是物理对象、流程或系统的虚拟复制品&#xff0c;用于监控、分析和优化现实世界的对应物。 这些数字孪生在制造、工程和城市规划等领域变得越来越重要&#xff0c;因为它们使我们能够在现实世界中实施改变之前模拟和测试不同的场景…

vmware安装centos 7.9 操作系统

vmware安装centos 7.6 操作系统 1、下载centos 7.9 操作系统镜像文件2、安装centos 7.9 操作系统3、配置centos 7.6 操作系统3.1、配置静态IP地址 和 dns3.2、查看磁盘分区3.3、查看系统版本 1、下载centos 7.9 操作系统镜像文件 本文选择centos 7.9 最小化安装镜像包 这里选…

云尚办公-0.0.3

5. controller层 import pers.beiluo.yunshangoffice.model.system.SysRole; import pers.beiluo.yunshangoffice.service.SysRoleService;import java.util.List;//RestController&#xff1a;1.该类是控制器&#xff1b;2.方法返回值会被写进响应报文的报文体&#xff0c;而…

express+mysql+vue,从零搭建一个商城管理系统3--user路由模块

提示&#xff1a;学习express&#xff0c;搭建管理系统 文章目录 前言一、新建routes文件夹二、新建routes/index.js和routes/user.js三、修改index.js四、修改routes/index.js五、修改routes/user.js六、启动项目预览总结 前言 需求&#xff1a;主要学习express&#xff0c;所…

Adobe Acrobat DC中如何合并pdf并生成目录

一、利用 Acrobat 合成pdf目录 &#xff08;一&#xff09;新建标签&#xff08;更改标签等级等&#xff09; 1&#xff0c;用Adobe acrobat 软件打开待添加书签的pdf文档。 2&#xff0c;打开之后点击软件左边栏的书签&#xff08;有时被隐藏了&#xff0c;点击一下界面左边…

电脑周末设置节日提醒倒计时方法教程

每当节日临近&#xff0c;无论是传统的元宵节、端午节&#xff0c;还是其他各种特殊的日子&#xff0c;我总期待着能与家人团聚&#xff0c;或是为自己准备一份小惊喜&#xff0c;享受那份独特的仪式感。 但生活的忙碌和琐碎的事情常常让我忘记这些重要的日子。有时&#xff0…

Carla自动驾驶仿真八:两种查找CARLA地图坐标点的方法

文章目录 前言一、通过Spectator获取坐标二、通过道路ID获取坐标总结 前言 CARLA没有直接的方法给使用者查找地图坐标点来生成车辆&#xff0c;这里推荐两种实用的方法在特定的地方生成车辆。 一、通过Spectator获取坐标 1、Spectator&#xff08;观察者&#xff09;&#xf…

文件拖放到窗体事件

网上的实现1 实现结果 具体实现代码&#xff1a;注意需要使能允许拖拽 public partial class Form1 : Form {public Form1(){InitializeComponent();this.AllowDrop true; //允许拖拽}private void Form1_DragEnter(object sender, DragEventArgs e){this.Text DateTime.No…

结合CMD文件,将变量写到ROM和Falsh中

结合CMD文件,将变量写到ROM和Falsh中 RAM是一种易失性存储器,它用于临时存储计算机程序和数据。当计算机关闭或断电时,RAM中的数据将丢失。RAM具有很快的读写速度,但容量有限。 Flash是一种非易失性存储器,它可以长期存储数据而不会丢失。Flash存储器通常用于存储操作系统…

【Linux】云服务器的Redis被黑

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;Linux ⛺️稳中求进&#xff0c;晒太阳 攻击发现&#xff1a; 这个异常情况是在腾讯云被入侵后&#xff0c;短信提醒发现的。并没有系统的学习过关于服务器安防相关的知识&#xff0c;遇到…

【ElfBoard】基于 Linux 的智能家居小项目

大家好&#xff0c;我是 Hello阿尔法&#xff0c;这段时间参与了保定飞凌嵌入式技术有限公司举办的 ElfBoard 共创社招募活动&#xff0c;并有幸成为了一名共创官&#xff0c;官方寄来了一块 ELF 1 开发板&#xff0c;开箱看这里 ELF 1 开箱初体验。 作为共创官&#xff0c;我…

❤ git操作Github、git操作github

❤ git操作Github 1、设置用户名和邮件地址 git config --global user.name "nexuslin" git config --global user.email "2455067339qq.com"2、生成本地密钥 ssh-keygen -t rsa -C 2455067339qq.com3、接下来就一直回车&#xff0c;然后再去 C:\Users…

VR危险环境模拟介绍|VR虚拟现实设备

VR危险环境模拟是指利用虚拟现实技术来模拟和展现各种危险环境&#xff0c;以便训练人员应对紧急情况、提高安全意识和应急反应能力。这种模拟可以涉及到工业、医疗、紧急救援等多个领域&#xff0c;旨在帮助人们在真实环境中面对危险时能够做出正确的应对和决策。 VR危险环境…

进销存是什么意思?如何开发一款进销存管理系统?

这篇给大家详细介绍一下&#xff0c;进销存到底是什么&#xff0c;进销存管理系统有什么用&#xff1f;企业如何开发一款进销存管理系统&#xff1f; 以下内容示例工具均来自于JDY——https://www.jiandaoyun.com 一、进销存是什么&#xff1f; 1、基本概念 进销存&#xff0…

Redis 协议与异步方式

redis pipeline 模式 redis pipeline 是一个客户端提供的机制&#xff0c;与 redis 无关。pipeline 不具备事务性。目的&#xff1a;节约网络传输时间。通过一次发送多条请求命令&#xff0c;从而减少网络传输时间。 时间窗口限流 系统限定某个用户的某个行为在指定的时间范围…

华为HCIP Datacom H12-821 卷2

1.单选题 下面关于 OSPF 中的 ABR&#xff0c;描述措误的是 A、ABR 不能够产生三类、四类、五类 LSA B、将连接的非骨干区域内的一类、二类 LSA 转换成三类 LSA,发布到骨干区域中 C、ABR 格骨干区城内的一类、二类 LSA.三类 LSA 转换成三类 LSA, 发布到连接的非骨干区域中 …