测试用例:
Preconditions:
DUT出于休眠状态
Steps to reproduce:
Step1:仿真外部NM报文,唤醒ECU。
Step2:停止仿真Step1的报文,从总线上最后一帧NM开始,等待时间T。
Step3:仿真外部NM报文,此时记录为T1。
Step4:等待DUT发送第一帧报文,此时记录为T2,计算T2 - T1。
Step5:重复以上所有步骤,T的初始值为7900ms,每重复一次,T的值加1,直到T = 36050ms。
Expected results:
At Step4:DUT最大唤醒时间应小于500ms。
Results:
At Step4:DUT最大唤醒时间为1499.99ms。
上面的测试用例,如何用CAPL脚本实现?直接上代码。
CAPL代码:
variables
{message 0x358 ExtNmMessage = {dlc = 8};//假设唤醒报文是0x358,声明它message 0x235 IntNmMessage = {dlc = 8};//假设ECU的网络管理报文是0x235,声明它const word T_intNmMessage = 100;//假设ECU的网络管理报文的循环时间是100msconst word T_wakeup = 500;//ECU网络唤醒时间为500ms
}testcase Cyc