此示例显示如何使用程序化接口创建测试线束和测试序列。您创建测试线束和测试序列块,并创作测试序列以验证巡航控制系统的两个功能属性。
1.加载模型。
模型='sltestcruisechart';load_system(型号)
2.创建测试线束。
sltest.harness.Create(模型,'名称'那'harness1'那......'来源'那'测试序列')sltest.harness.load(模型,'harness1');set_param('harness1'那'停止'那'15');
1.添加局部变量最终
并将数据类型设置为布尔基
。你用最终
在测试步骤之间转换。
sltest.testsequence.addsymbol('harness1 / test sequence'那'最终'那......'数据'那'当地的');sltest.testsequence.editsymbol('harness1 / test sequence'那'最终'那......'数据类型'那'布尔值');
2.更改步骤的名称跑步
至initialize1.
。
sltest.testsequence.editstep('harness1 / test sequence'那'跑步'那......'名称'那'initialize1');
3.添加步骤博拉克斯特
。博拉克斯特
在应用制动器时检查巡航控制脱离。添加子步骤定义测试场景操作和验证。
sltest.testsequence.addstepafter('harness1 / test sequence'那......'braketest'那'initialize1'那'行动'那'endtest = false;')%从| initialize1 |添加转换1 |到| braketest |。sltest.testsequence.addtransition('harness1 / test sequence'那......'initialize1'那'真的'那'braketest')%该子步骤使巡航控制并设置速度。%| SetValesactions |是braketest.setvalues的动作。setValesactions = sprintf('cruiseonoff = true; \ nspeed = 50;');sltest.testsequence.addstep('harness1 / test sequence'那......'braketest.setvalues'那'行动',setValesactions)%该子步骤涉及巡航控制。setccacing = sprintf('Coastsetsw =真;');sltest.testsequence.addstepafter('harness1 / test sequence'那......'braketest.engage'那'braketest.setvalues'那'行动',setccates)%此步骤适用制动器。brakeactions = sprintf('海岸= false; \ nbrake = true;');sltest.testsequence.addstepafter('harness1 / test sequence'那......'braketest.brake'那'braketest.engage'那'行动',brakeactions)%此步骤验证巡航控制已关闭。BrakeVerifactions = Sprintf('验证(订婚== false)\ nendtest = true;');sltest.testsequence.addstepafter('harness1 / test sequence'那......'braketest.verify'那'braketest.brake'那'行动',刹车件)%在步骤之间添加转换。sltest.testsequence.addtransition('harness1 / test sequence'那......'braketest.setvalues'那'真的'那'braketest.engage')sltest.testsequence.addtransition('harness1 / test sequence'那......'braketest.engage'那'之后(2,秒)'那'braketest.brake')sltest.testsequence.addtransition('harness1 / test sequence'那......'braketest.brake'那'真的'那'braketest.verify')
4.添加步骤initialize2.
初始化组件输入。添加过渡博拉克斯特
至initialize2.
。
init2actions = sprintf(['cruiseonoff = false; \ n'......'刹车=假; \ n'......'速度= 0; \ n'......'海岸= false; \ n'......'accelressw = false;']);sltest.testsequence.addstepafter('harness1 / test sequence'那......'initialize2'那'braketest'那'行动',init2actions)sltest.testsequence.addtransition('harness1 / test sequence'那......'braketest'那'最终== true'那'initialize2')
5.添加步骤Limittest.
。Limittest.
检查车速超过高限时巡航控制脱离。从中添加过渡initialize2.
步骤,并添加子步骤以定义操作和验证。
sltest.testsequence.addstepafter('harness1 / test sequence'那......'limittest'那'initialize2')sltest.testsequence.addtransition('harness1 / test sequence'那......'initialize2'那'真的'那'limittest')%添加一个步骤以使巡航控制并设置速度。setValueseac算2 = Sprintf('cruiseonoff = true; \ nspeed = 60;');sltest.testsequence.addstep('harness1 / test sequence'那......'limittest.setvalues'那'行动',setValesactions2)%添加了一个步骤来接合巡航控制。setccacing = sprintf('Coastsetsw =真;');sltest.testsequence.addstepafter('harness1 / test sequence'那......'limittest.engage'那'limittest.setvalues'那'行动',setccates)%添加了一步才能斜坡车速。sltest.testsequence.addstepafter('harness1 / test sequence'那......'limittest.rampup'那'limittest.engage'那'行动'那'速度=速度+斜坡(5 * et);')%添加一个步骤以验证巡航控制是否已关闭。highlimverifactions = sprintf('验证(订婚== false)');sltest.testsequence.addstepafter('harness1 / test sequence'那......'limittest.verifyhigh'那'limittest.rampup'那'行动',Highgrimveriface)%在步骤之间添加转换。速度斜坡过渡时%车速超过90。sltest.testsequence.addtransition('harness1 / test sequence'那......'limittest.setvalues'那'真的'那'limittest.engage')sltest.testsequence.addtransition('harness1 / test sequence'那......'limittest.engage'那'真的'那'limittest.rampup')sltest.testsequence.addtransition('harness1 / test sequence'那......'limittest.rampup'那'速度> 90'那'limittest.verifyhigh')
打开测试线束以查看测试序列。
sltest.harness.open(型号,'harness1');
双击测试序列块以打开编辑器并查看测试序列。
SLTEST.HARNESS.CLOSE(模型,'harness1');close_system(型号,0);