您现在的位置是:首页 >技术杂谈 >CAPL编写TestCase常用函数及使用方法介绍网站首页技术杂谈
CAPL编写TestCase常用函数及使用方法介绍
哈喽,好久好久好久不见,已经记不清是断更的多少天了!
从今天开始为大家带来一些有关自动化测试脚本编写相关知识分享,主要是基于VECTOR的相关工具链进行脚本开发;废话不多说,本期就为大家分享如何在CAPL中编写一个TestCase脚本(运用CANoe的Test Module)。
1.创建Test Module
相信大家对于CANoe中的测试模块并不陌生,主要有两个部分:其一是Test Unit,主要结合vTESTstudio平台进行TestCase的编写;其二是Test Module,可以通过CANoe的CAPL等进行TestCase的编写。
本期将基于Test Module进行介绍,首先是创建Test Module:
①按照上图所示步骤进行创建,在步骤3处单击鼠标右键,选择Add Test Configuration 添加配置.
②添加配置后点击Test Setup,在下方空白处右击鼠标新建New Test Environment,如上图所示。
③在上述步骤的基础上右击Test Environment选择Insert CAPL Test Module,如上图所示,修改Test Module的命名并创建Test script文件,例如:ECU_demo.can.
④至此Test Module创建完成,接下来的工作就是在创建的Test script中添加相关的TestCase脚本。
2.编写TestCase脚本
在编写TestCase脚本时,首先需要了解常用的测试函数,如:
1.TestCaseTitle (char identifier[], char title[]);
2.TestStepPass (char Identifier[], char Description[], ...);
3.TestStepFail (char Identifier[], char Description[], ...);
4.TestGroupBegin (char title[], char description[]);
5.TestGroupEnd ();
函数1是用来设置TestCase的ID和标题,例如:
testCaseTitle("TC-1","Check ECU ActiveVariant");
函数2是用来输出TestCase中的每一个步骤是否PASS,通常与函数3一起使用,例如:
if(ret == 0)
testStepPass("1","Pass");
函数4和函数5是用来表示某个TestCase的开始和结束,如果有多个测试case,则需要多个函数4和函数5,例如:
testGroupBegin("Check ECU Variant","");
Fun_test();
testGroupEnd();
根据对上述函数的介绍,现编写一个简单地TestCase,如下所示:
/*@!Encoding:936*/
includes
{
}
variables
{
char gECU[10] = "DoorFL";
char activeVariant[100];
long ret;
}
void MainTest()
{
testGroupBegin("Check ECU Variant","");
Fun_test();
testGroupEnd();
}
testcase Fun_test()
{
testCaseTitle("TC-1","Check ECU ActiveVariant");
diagSetTarget(gECU);
ret = diagGetActiveVariant(gECU,activeVariant,elCount(activeVariant));
if(ret == 0)
testStepPass("1","Pass");
testWaitForTimeout(2000);
}
其生成的测试报告如下:
3.总结
上述例子是一个简单地TestCase设计流程,旨在为大家说明如何使用工具取编写TestCase,在实际工程应用中的TestCase设计是比较复杂的,需要调用更多的函数以及更多的步骤,因此想要熟练的使用CAPL脚本编写TestCase,就要对其常用的函数进行了解。