Vector-常用CAN工具 – CANoe入门到精通_05

汽车安全 1年前 (2022) admin
584 0 0

CAPL Test  Module

        在“Vector-常用CAN工具 – CANoe入门到精通”的第4/4篇中介绍了作为Server端的Network Node节点以及相应的一些常用函数,今天我们来介绍下当前依然有很多人在用的自动化脚本开发编译器 – CAPL Test  Module,这个基本能满足单个功能模块的自动化脚本和使用;因此也是一个功能相当强大的工具,而且开发语言也是CAPL,今天也是我们CANoe工具使用的第六章了。下面就来介绍它的使用。

Vector-常用CAN工具 - CANoe入门到精通_05

编辑

六、CAPL Test  Module使用及配置

1、创建CAPL Test  Module节点

Simulation -> Simulation Setup -> 右键选择CAPL Test  Module

Vector-常用CAN工具 - CANoe入门到精通_05编辑

点击铅笔的位置,就能打开一个编辑面板(如果为首次创建则需要创建后才可以)

Vector-常用CAN工具 - CANoe入门到精通_05编辑

 

创建代码文件:选择放置文件的文件夹,然后设置名称即可(这里可以需要选择一个.can作为主编辑文件,如果想要将多类函数分类,或者单个文件太大,可选择创建.cin文件进行包含即可)

Vector-常用CAN工具 - CANoe入门到精通_05编辑

CAPL编辑面板,这里我们可以看到有三个分区,分别是功能区、代码编辑区、信号|函数区;乍一看好像跟NetworkNode编辑好像没什么太大区别,不过仔细观察下,在功能区还是有蛮大的改变的,新增了Test Function、Test Case、Test Control、Map Windows等脚本开发专用功能。

Vector-常用CAN工具 - CANoe入门到精通_05编辑

大家可以对比下NetWorkNode节点的编辑面板:

Vector-常用CAN工具 - CANoe入门到精通_05编辑

 2、CAPL编辑介绍

        如上图,在编辑区,我们首先看到的是include,学过c语言的都知道,这在c中也是一个经典的包含,不过这里包含的文件主要是.can和.cin类型的文件,当然也会有一些.dll文件(这个作为较难懂的,如果有需要我们后续专门进行分享)。

        variable,这个就是我们.can的里面的全局变量了,大家一定要注意这个是在.can文件中的全局变量,关于全局变量和局部变量我们不再这里进行过多的赘述,大家如果有兴趣可以搜索下c语言相关的,会有非常多的介绍。在variable中,我们一般会把一些公共的参数放在这里,方便各个函数间的调用,不过使用的时候一定要注意初始化,否则出现问题可是不太容易排查的。

        Function,定义的功能函数,实现某一特定的功能或者动作。

void test_function(){  write("开始执行test_function函数");}

        testfunction,定义测试函数。测试函数跟function类似也是一个函数,不过它可以(重新)用于»测试用例和»测试序列。这是与function函数功能不同的地方,testfunction在测试报告中自动生成报告模块。如下图:

testfunction test_functions(){  write("开始执行test_functions函数");}
<testcase title=" Name of test case" ident="ID of test case"> ... <capltestfunction name="CAPL name of test function" title="Display name for CAPL test function"> <caplparam name="Parameter name" type="float|int|string|signal|envvar|sysvar">Parameter value</caplparam> </capltestfunction> ...</testcase>

         testcase,这个就很明显了,就是对应我们测试用例的一条测试脚本,以testcase为条目,一个一个的编写猜测脚本,最终添加到testcontrol中,形成一个完整的测试模块。

testcase test_cases1(){  write("开始执行test_functions函数");}testcase test_cases2(){  write("开始执行test_functions函数");}testcase test_cases3(){  write("开始执行test_functions函数");}

        Test Control,即最终的测试模块控制集合;

void MainTest (){  test_cases1();  test_cases2();  test_cases3();}

3、常用工具栏功能介绍

Inport Environment:导入同步变量,这里用的主要是CANoe设置的变量在这里可以进行一键同方便使用。其他的都是常规的,我感觉没什么难度,就不一一介绍。

Vector-常用CAN工具 - CANoe入门到精通_05编辑

4、编译

在完成CAPL功能编程后进行保存,然后在此处进行在日编译导入,如果没有报错,就可以进行使用了。

Vector-常用CAN工具 - CANoe入门到精通_05编辑

5、 导入到CANoe工程的TestModule

Test -> Test Module -> 添加即可

        这里就完成了最简单的一个Test Module,在执行的时候我们就可以直接全部执行。但是如果想要做成可选择的,就比较麻烦;因为vector现在已经删除了xml文件的编辑工具,因此如果真的想做只能通过找一个并且按照它的格式去编写,这种方式太难,不建议使用。另外一种方式就是做系统变量,通过系统变量和编译文件中的testcase链接,另外一端和Panel面板配置,实现两端的联通,最终实现可选择;不过无论是哪种实现方式对于小白来说都不适合,如果大家有需要可以单独联系我一起聊下这块。

Vector-常用CAN工具 - CANoe入门到精通_05编辑


下期预告:介绍Test Module常用的函数以及编程方法、注意事项等。


原文始发于微信公众号(车载网络测试):Vector-常用CAN工具 – CANoe入门到精通_05

版权声明:admin 发表于 2022年12月13日 上午7:42。
转载请注明:Vector-常用CAN工具 – CANoe入门到精通_05 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...