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

目录

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脚本中的测试用例的名称相一致

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IAMeee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值