前言:利用CANoe的Test Step 功能实现自动化测试,是学习CAPL语言的一个重要目的及目标
新建一个Test工程
第二步骤
3.鼠标右击Test1,选择Configuration,打开CAPL TEST Module Configuration对话框,给Test Script 添加NetworkTester.can文件,文件程序如下:程序来源《CANoe入门到精通教材》
includes
{
}
variables
{
dword gCycCheckId;
int gUndifnedMsgCheckResult;
const long kMIN_CYCLE_TIME = 40;
const long kMAX_CYCLE_TIME = 60;
const long Light_MIN_CYCLE_TIME = 490;
const long Light_MAX_CYCLE_TIME = 510;
const long kTIMEOUT = 4000;
}
void MainTest()
{
TestModuleTitle ("NetworkTester");
TestModuleDescription ("Message Specication Test and Function Test Demo.");
TestGroupBegin("Check msg cycle time", "Check the differ message cycle time");
Init_Test_Condition();
CheckMsgEngineData();
CheckMsgVehicledata();
CheckMsgGear_Info();
CheckMsgIgnition_Info();
CheckMsgLight_Info();
TestGroupEnd ();
TestGroupBegin("Check msg DLC", "Check DLC of a message");
CheckDLCLock_Info();
TestGroupEnd ();
TestGroupBegin("Check undefined msg", "Check the undefined message");
CheckUndefinedMessage();
TestGroupEnd ();
TestGroupBegin("Function Test", "Check the engine speed after setup");
CheckEngine_Speed();
TestGroupEnd();
}
Init_Test_Condition()
{
@Vehicle_Key::Unlock_Car =1;
@Vehicle_Key::Car_Driver=0;
@Vehicle_Key::Key_State=2;
testWaitForTimeout(500);
}
testcase CheckMsgEngineData()
{
float lCycMinCycleTime; // Minimum relative distance
float lCycMaxCycleTime; // Maximum relative distance
lCycMinCycleTime = kMIN_CYCLE_TI