CANoe工程中添加TestMode脚本(总结笔记)

前提:

1:用于测试或调试的工程已经建立,DBC、arxml,LDF,CDD、ODX等相关必须文件已经添加到工程中。

2:这次演示的,工程是建立在CANoe15的软硬件(VN1640)基础上的。若大家使用的软硬件版本不同,请注意查询不同之处。另外多说一句,软件对硬件是向下兼容的。但是如果用低版本的硬件(VN1640)匹配高版本的工程,就会出现各种问题。

1:TestMode脚本建立:

1.1 Test中的两种测试方法

首先要了解,CANoe中主要有两种Test模式,用于执行测试任务。如下图

1:test unit:测试单元,这个模块需要单独的测试工具,且可以在teststudio插件下,实现图形化编程,本人暂时还没有使用过。暂时大家需要知道的是,这个模式下,需要单独购买测试工具。如果需要使用时,可以自行去研究一下,vector中自带的介绍文档。

2:TestModule

测试模块,这个是我们日常工作中需要经常遇到和经常使用的模块。且这个模块,不需要额外的License。

2:建立TestModule测试工程

2.1 建立一个TestModule的测试脚本

1):点击TestSetup(注意是点击TestModule下的TestSetup)

2)右击空白(注意,在已经有TestEnvironment的情况下,必须点击底下空白区域)区域:(这里由于系统原因,无法截图)。出现一个选项框,左键单击一下,出现一个新的TestEnvironment。

3)鼠标移动至,新建TestEnvironment上,右单击,出现如下的选项框。接下来我们依次介绍,各种不同的选项。

2.2 TestEnvironment的相关配置文件

TestEnvironment是一个文件夹,它可以包含很多个测试块,还可以配置对应的TestReport函数

首先简单把功能分配为以下几大类,我将按照功能的重要程度,依次介绍。

2.2.1)插入脚本文件:一共3种Module+一种NetworkNode

TestModul可以支持,插入NetworkNode/CAPL TestModule/NET TestModule/XML TestModule

四种种情况:其中插入NetworkNode,可以为工程提供各种仿真节点。其他三种本质上是使用不同的编程语言为载体实现自动化测试。本质就是实现的语言不一致。想深入了解,三种不同的编程方式的,可自行查阅相关资料。

这里我们选取,最常见的CAPL Test Module函数和XML Test Module模块,简单介绍这两种Module的配置

*1:先看,XMLtest(必须了解一点,添加这两种测试Module时,名称都是一样的,建议重新命名,采用测试名+_类型名,如上图所示),右单击,出现菜单如下图

选择Configuration,出现如下diagram

2.3 文件操作

这类选项,主要包括:文件的复制,剪切,文件的导入导出,文件的重命名,以及注释,等常规操作。大致了解下即可,需要注意两点

* TestEnvironment导入导出文件后缀名,为".tse"

*在没有授权license的情况下,不能执行,保存导入导出等操作等操作,但是删除和重命名等操作,还是可以的。这一点上VECTOR做的有点不厚道。

3)测试报告相关的

Configure Test Report 和Create TestReport相关配置

*Configure Test Report 点击配置后,出现如下界面

主要看到,其实就是设置xml格式的测试报告的存放地址。

第二:就是为了HTML格式的报告,选择一个模板,这些模板文件是CANoe,自带的一些模板文件,此文件的后缀名是“xslt”。注:不同版本的软件,可能支持和包含的文本是不一样的。如果需要详细了解,建议直接查询CANoe自带文档。点击下图中的Help

插入脚本文件

如下图所示,我们把TestModule中,所有能添加的五种 。

可以简单归类如下:

*插入一个文档,默认初始名NewFolder,图标是一个文件夹

*插入一个NetworkNode(插入一个网络节点),图标是一台小电脑

*CAPL,net,xml是统一称为Test_xx文件,图标是一台小电脑,其中嵌套着一个T。

故这三种模式,从名称上无法直接判断(即使是已经rename 过的文件),如果需要知道,我们插入的Test模块,具体是哪一个模块。可以把鼠标悬停在上面观察。软件会自动弹窗,在显示的弹窗中,我们可以观察是哪一种模块。

*还可以插入一个ReplayBlock,图标是一台电脑中嵌套了一个播放键。

NewFold

可以看做是,TestEnvironment.ase 文件的子文件夹,NewFold所有属性和TestEnvironment.ase 属性一致。NewFold后缀名也是“.ase”。同样的一个NewFold文件夹执行完毕之后。也会自动生成一份测试报告。

NetworkNode节点,可以为测试工作,提供仿真。如果我们需要在测试中仿真一个节点的话。就可以在在测试中添加一个节点,并将该节点配置正确的网络,且需根据需要添加必要的CAPL程序,使其能够正确的仿真。有一点需要注意。我们一般会把这个名称修改为 TestSimu_XXX。主要是为了在仿真界面一眼,就能看出来这个界面是用来测试仿真的。

capl测试脚本

按如图步骤,先右单击,出现的选择框内,单击选择Insert CAPL Test Module

出现如下界面

注意:插入的Insert CAPL Test Module,默认名称为TestXX,截图中的名称已经被修改过了,

右单击 CAPL->Configuration

出现如下界面

先看1部分,是功能栏:

common:主要包括是,测试Module名称,初始状态,在什么状态下,开始测量

testreport 和TestReport Filter是关于测试报告相关的选项。

component(组成成分),主要是可以添加部分测试项,比如XML格式下的,可以添加.CAN的文件

BUS部分,可以将testmodule添加到,总线中去。

总结:这个配置表,是从,名称/报告命名方式,报告的格式。存放地址/启动方式,以及是否需要添加其他变量的一个总设置表。

其中需要了解的是,CAPL Module 和 net.module的配置界面是一样的。但是xmlModule的格式却与的配置格式却与是不一样的。它是配置了txt格式的xml文件,还必须配置.CAN文件才能正常工作。

目前来说XML和CAPL格式的test module。是最常见的格式

下面展示一下xml格式的文件

<testmodule title="xxxx" version="1.0">

        <testgroup title="Test">     
        <capltestcase name="test1" />
        <capltestcase name="test2" />
    </testgroup>
    
</testmodule>

这个格式是规定了,测试的循序。它的作用与CAPL.module模式下的主函数调度功能。

void MainTest()

void MainTest()
{
  testModuleTitle("StressTest");
 testModuleDescription("TestoftheCANFDbusStressTest");
 
  testGroupBegin("Basical capablic electrial test","letsgo");
  T_1test();
 
  testGroupEnd();
 testGroupBegin("Basical awaketest","letsgo");
 
  T_2test();
 
  testGroupEnd();
 
 testGroupBegin("Basical sleeptest","letsgo");
 
  T_3test();
 
  testGroupEnd();

我们一步一步的看:

(1)首先看:void MainTest(){};我把他称为TestControl函数,可以用C/C++的mian()函数,来理解这份函数。(但是必须要作出说明的是:Void MainTest()函数与main()函数是存在本质上不同的。)

void MainTest(){};还有一个功能,就是利用CAPL内置的一些函数,用来填写部分(测试相关的信息)和构建起测试的架构。

  testModuleTitle("StressTest");对应于:产生的HTML的格式名称

testModuleDescription("TestoftheCANFDbusStressTest");对应于报告中

testGroupBegin("Basical capablic electrial test","letsgo");这个内置函数有两个参数

第一个参数对应于:可以理解为测试组的名字。

第二个参数,报告是放在了这个位置,其实也可以什么都不写,采用这种格式testGroupBegin("Basical capablic electrial test"," "),理解为第二个参数是空格。

第三:testCase中写的testCaseTitle("T_1.1","11111");出现在了报告的这个地方:

   

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值