主要内容

以编程方式创建测试序列

这个示例展示了如何使用编程接口创建测试工具和测试序列。您可以创建一个测试工具和一个test Sequence块,并编写一个测试序列来验证巡航控制系统的两个功能属性。

创建包含测试序列块的测试工具

1.加载模型。

模型=“sltestCruiseChart”;load_system(模型)

2.创建测试工具。

sltest.harness.create(模型,“名字”“Harness1”...“源”测试序列的) sltest.harness.load(模型,“Harness1”);set_param (“Harness1”“StopTime”“15”);

编写测试序列

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

sltest.testsequence.addSymbol (“Harness1 /测试序列”“endTest”...“数据”“本地”);sltest.testsequence.editSymbol (“Harness1 /测试序列”“endTest”...“数据类型”“布尔”);

2.更改步骤的名称运行Initialize1

sltest.testsequence.editStep (“Harness1 /测试序列”“运行”...“名字”“Initialize1”);

3.添加一个步骤输入输入检查制动时巡航控制装置是否断开。添加定义测试场景操作和验证的子步骤。

sltest.testsequence.addStepAfter (“Harness1 /测试序列”...“输入”“Initialize1”“行动”“endTest = false;”%添加一个从|Initialize1|到| brakeest |的转换。sltest.testsequence.addTransition (“Harness1 /测试序列”...“Initialize1”“真正的”“输入”这个子步骤启用巡航控制和设定速度。|是BrakeTest.SetValues的操作。setValuesActions = sprintf ('CruiseOnOff = true;\nSpeed = 50;');sltest.testsequence.addStep (“Harness1 /测试序列”...的输入。setvalue”“行动”setValuesActions)这个子步骤启动定速控制。setCCActions = sprintf (“CoastSetSw = true;”);sltest.testsequence.addStepAfter (“Harness1 /测试序列”...的输入。参与的的输入。setvalue”“行动”setCCActions)这一步是刹车。brakeActions = sprintf (` ` nBrake = true; ` `);sltest.testsequence.addStepAfter (“Harness1 /测试序列”...的输入。刹车的的输入。参与的“行动”brakeActions)%此步骤验证巡航控制是否关闭。brakeVerifyActions = sprintf ('验证(engage == false)\nendTest = true;');sltest.testsequence.addStepAfter (“Harness1 /测试序列”...的输入。验证的的输入。刹车的“行动”brakeVerifyActions)%添加步骤之间的转换。sltest.testsequence.addTransition (“Harness1 /测试序列”...的输入。setvalue”“真正的”的输入。参与的) sltest.testsequence.addTransition (“Harness1 /测试序列”...的输入。参与的(2秒)后的的输入。刹车的) sltest.testsequence.addTransition (“Harness1 /测试序列”...的输入。刹车的“真正的”的输入。验证的

4.添加一个步骤Initialize2初始化组件输入。添加从输入Initialize2

init2Actions = sprintf ([“CruiseOnOff = false; \ n”...“制动= false; \ n”...“速度= 0;\ n”...“CoastSetSw = false; \ n”...“AccelResSw = false;”]);sltest.testsequence.addStepAfter (“Harness1 /测试序列”...“Initialize2”“输入”“行动”init2Actions) sltest.testsequence.addTransition (“Harness1 /测试序列”...“输入”“endTest = = true”“Initialize2”

5.添加一个步骤限制限制当车速超过最高限制时,检查巡航控制是否断开。添加从Initialize2步骤,并添加子步骤来定义操作和验证。

sltest.testsequence.addStepAfter (“Harness1 /测试序列”...“限制”“Initialize2”) sltest.testsequence.addTransition (“Harness1 /测试序列”...“Initialize2”“真正的”“限制”%增加一个步长以启用巡航控制和设定速度。setValuesActions2 = sprintf ('CruiseOnOff = true;\nSpeed = 60;');sltest.testsequence.addStep (“Harness1 /测试序列”...的限制。setvalue”“行动”setValuesActions2)增加一个步骤以启动定速控制器。。setCCActions = sprintf (“CoastSetSw = true;”);sltest.testsequence.addStepAfter (“Harness1 /测试序列”...的限制。参与的的限制。setvalue”“行动”setCCActions)增加一步来提高车速。sltest.testsequence.addStepAfter (“Harness1 /测试序列”...的限制。RampUp”的限制。参与的“行动”'速度=速度+斜坡(5*et);'%添加一个步骤来验证巡航控制是否关闭。highLimVerifyActions = sprintf (“验证(从事= = false)”);sltest.testsequence.addStepAfter (“Harness1 /测试序列”...的限制。VerifyHigh”的限制。RampUp”“行动”highLimVerifyActions)%添加步骤之间的转换。速度斜坡在车辆速度超过90。sltest.testsequence.addTransition (“Harness1 /测试序列”...的限制。setvalue”“真正的”的限制。参与的) sltest.testsequence.addTransition (“Harness1 /测试序列”...的限制。参与的“真正的”的限制。RampUp”) sltest.testsequence.addTransition (“Harness1 /测试序列”...的限制。RampUp”“速度> 90”的限制。VerifyHigh”

打开测试工具以查看测试序列。

sltest.harness.open(模型,“Harness1”);

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

关闭Test Harness和Model

sltest.harness.close(模型,“Harness1”);close_system(模型中,0);

另请参阅