主要内容

以编程方式创建测试序列

此示例演示如何使用编程接口创建测试线束和测试序列。创建测试线束和测试序列块,并编写测试序列以验证巡航控制系统的两个功能属性。

创建包含测试序列块的测试线束

1.加载模型。

型号='sltestCruiseChart'测试巡航艺术'; 负荷系统(型号)

2.创建测试线束。

sltest.harness.create(模型,'姓名','安全带1',...'源','测试序列')sltest.线束.负载(型号,'安全带1'); 设置参数('安全带1','停止时间','15');

编写测试序列

1.添加局部变量测试结束并将数据类型设置为布尔值. 你用测试结束在测试步骤之间转换。

sltest.testsequence.addSymbol测试序列('线束1/测试序列','结束测试',...'数据','本地'); sltest.testsequence.editSymbol测试序列('线束1/测试序列','结束测试',...'数据类型','布尔');

2.更改步骤的名称初始化1.

sltest.testsequence.editStep测试序列('线束1/测试序列','运行',...'姓名','初始化1');

3.添加步骤制动试验.制动试验检查制动时巡航控制是否分离。添加定义测试场景操作和验证的子步骤。

sltest.testsequence.addStepAfter测试序列('线束1/测试序列',...'制动测试','初始化1','操作','endTest=false;')%添加从| Initialize1 |到| BrakeTest |的转换。sltest.testsequence.addTransition测试序列('线束1/测试序列',...'初始化1','正确','制动测试')%此子步骤启用巡航控制并设置速度。%| SetValuesActions |是BraketTest.SetValues的操作。setValuesActions=sprintf('CruiseOnOff=真\nSpeed=50;'); sltest.testsequence.addStep测试序列('线束1/测试序列',...'制动测试设置值','操作',设置值选项)%此子步骤启用巡航控制。setCCActions=sprintf('CoastSetSw=真;'); sltest.testsequence.addStepAfter测试序列('线束1/测试序列',...'制动测试。接合','制动测试设置值','操作',设置操作)%此步骤应用制动器。brakeActions=冲刺('CoastSetSw=假\nBrake=true;'); sltest.testsequence.addStepAfter测试序列('线束1/测试序列',...'刹车测试。刹车','制动测试。接合','操作',制动动作)%此步骤确认巡航控制已关闭。brakeVerifyActions=冲刺('验证(接合==false)\nendTest=true;'); sltest.testsequence.addStepAfter测试序列('线束1/测试序列',...'制动测试验证','刹车测试。刹车','操作',制动验证动作)%在步骤之间添加过渡。sltest.testsequence.addTransition测试序列('线束1/测试序列',...'制动测试设置值','正确','制动测试。接合')sltest.testsequence.addTransition测试序列('线束1/测试序列',...'制动测试。接合','在(2,秒)之后','刹车测试。刹车')sltest.testsequence.addTransition测试序列('线束1/测试序列',...'刹车测试。刹车','正确','制动测试验证')

4.添加步骤初始化2初始化组件输入。从添加过渡制动试验初始化2.

init2Actions=sprintf(['CruiseOnOff=假\不...'制动=假\不...'速度=0\不...'CoastSetSw=假\不...'AccelersSW=false;']); sltest.testsequence.addStepAfter测试序列('线束1/测试序列',...'初始化2','制动测试','操作',init2Actions)sltest.testsequence.addTransition('线束1/测试序列',...'制动测试','结束测试==真','初始化2')

5.添加步骤极限试验.极限试验检查车速超过上限时巡航控制是否断开。添加从初始化2步骤,并添加子步骤来定义操作和验证。

sltest.testsequence.addStepAfter测试序列('线束1/测试序列',...'极限测试','初始化2')sltest.testsequence.addTransition测试序列('线束1/测试序列',...'初始化2','正确','极限测试')%添加一个步骤以启用巡航控制并设置速度。setValuesActions2=sprintf('CruiseOnOff=真\nSpeed=60;'); sltest.testsequence.addStep测试序列('线束1/测试序列',...'LimitTest.SetValues','操作',设置值操作2)%添加一个步骤以接合巡航控制。setCCActions=sprintf('CoastSetSw=真;'); sltest.testsequence.addStepAfter测试序列('线束1/测试序列',...'极限测试接合','LimitTest.SetValues','操作',设置操作)%增加一个台阶来提高车速。sltest.testsequence.addStepAfter测试序列('线束1/测试序列',...'极限测试.加速','极限测试接合','操作','速度=速度+斜坡(5*et);')%添加一个步骤以确认巡航控制已关闭。highLimVerifyActions=冲刺('验证(接合==假)'); sltest.testsequence.addStepAfter测试序列('线束1/测试序列',...'LimitTest.VerifyHigh','极限测试.加速','操作',高级验证操作)%在步骤之间添加过渡。速度斜坡在%车速超过90。sltest.testsequence.addTransition测试序列('线束1/测试序列',...'LimitTest.SetValues','正确','极限测试接合')sltest.testsequence.addTransition测试序列('线束1/测试序列',...'极限测试接合','正确','极限测试.加速')sltest.testsequence.addTransition测试序列('线束1/测试序列',...'极限测试.加速','速度>90','LimitTest.VerifyHigh')

打开测试线束以查看测试顺序。

sltest.harness.open(型号,'安全带1');

双击测试序列块以打开编辑器并查看测试序列。

关闭测试线束和模型

sltest.harness.close(型号,'安全带1'); 关闭系统(型号0);

另请参见