在测试序列编辑器和测试管理器中使用测试序列场景
此示例展示了如何在测试序列编辑器中创建和使用场景。场景允许您在 Test Sequence 模块中包含多个测试序列。如果您的测试框架包含多个 Test Sequence 模块,您可以将每个测试序列移动到单个 Test Sequence 模块中的场景。
该示例还展示了如何使用测试管理器来设置和使用迭代在单个测试用例中运行多个场景。
打开模型和测试框架
打开 HeatPumpScenario
模型、ScenarioTest
框架和测试序列编辑器。
open_system('HeatPumpScenario') sltest.harness.open('HeatPumpScenario/Controller','ScenarioTest'); open_system('ScenarioTest/Test Sequence')
启用场景
在测试序列编辑器左侧面板中,切换到场景选项卡,然后点击使用场景。
在开始使用场景对话框中,点击确定,这确认当您切换到场景模式时无法将 Test Sequence 模块恢复为非场景模式。现有的步骤和转移被移至名为 Scenario_1 的选项卡中。
添加新场景
要添加新场景,请在场景选项卡中点击场景列表旁边的加号。或者,点击 Scenario_1 选项卡标题旁边的加号。新的场景名为 Scenario_2。
复制场景
要从现有场景开始新场景,您可以复制它。
右键单击 Scenario_1 选项卡标签,然后从上下文菜单中选择 Duplicate Scenario_1。或者,转到场景侧面板,指向场景列表中的 Scenario_1 以显示重复场景按钮,然后点击它。
场景列表部分更新并列出了新的场景 Scenario_3,其内容与 Scenario_1 相同。
编辑步骤和转移
修改 Scenario_3,将 Test_signals 步骤的转移更改为 Troom_in >= 78
。
删除场景
右键单击 Scenario_2 选项卡标签,然后从上下文菜单中选择删除 Scenario_2。或者,在左侧窗格中的场景选项卡中,指向 Scenario_2 以显示删除场景图标。单击删除场景图标,然后点击对话框中的确定以删除 Scenario_2。
Scenario_3 的名称没有改变,但是场景列表中场景名称左侧显示的场景索引更改为 2,因为它现在是第二个场景。
激活场景
在左侧窗格中的场景选项卡中,黑色闪电图标和粗体场景名称表示 Scenario_1 是当前活动场景。如果您运行该模型,则只有活动场景会运行。
要将活动场景更改为 Scenario_3,请右键单击 Scenario_3 选项卡,然后从上下文菜单中选择激活 Scenario_3。或者,在左侧窗格中的场景选项卡中,指向 Scenario_3 以显示单击以激活图标,该图标是一个灰色闪电。点击闪电使 Scenario_3 成为活动场景。
您还可以从命令行控制活动场景。请参阅下面的以编程方式控制活动场景部分。
运行活动场景
右键单击 Scenario_3 选项卡标签,然后从上下文菜单中选择运行 Scenario_3。如果您没有激活该场景,菜单选项为激活并运行场景_3。或者,正常运行模型以运行活动场景。测试序列编辑器显示模型仿真期间的活动场景。
通过编程控制活动场景
您也可以使用基础工作区、模型工作区或数据字典中的变量以编程方式控制活动场景。要激活场景,请将变量值设置为该场景的索引。
1.在测试序列编辑器场景选项卡中,转到场景参数部分。
2.启用从工作区控制活动场景。先前活动的场景将停用。当您使用工作区变量控制活动场景时,测试序列编辑器不知道哪个场景处于活动,直到您点击运行。
如果选择从工作区控制活动场景,则无法使用右键单击上下文菜单或场景列表从测试序列编辑器中激活场景。
3.对于此示例,在基础工作区中,创建一个名为 Active_Scenario_Index
的变量,并通过输入以下内容将其设置为激活第一个场景 Scenario_1:Active_Scenario_Index = Simulink.Parameter(1);
4.返回测试序列编辑器并点击运行。Scenario_1 运行。
您可以指定其他名称,而不是使用 Active_Scenario_Index
作为变量名称。
1.对于此示例,在测试序列编辑器中的场景参数部分中,点击 Active_Scenario_Index
并输入新名称,例如 ChangeScenario
。
2.在基础工作区中,创建一个名为 ChangeScenario
的变量。通过输入:ChangeScenario = Simulink.Parameter(1);
将其设置为所需的场景索引,例如 1
。
3.返回测试序列编辑器并点击运行。Scenario_1 运行。
使用迭代在测试用例中运行多个场景
您可以通过迭代在测试用例中运行多个场景。本节描述使用测试管理器的迭代场景。
1.在测试管理器中,创建测试文件、测试套件和仿真测试用例。
2.在在测系统部分中,将模型设置为 HeatPumpScenario
,将框架设置为 ScenarioTest
。
3.在输入部分中,点击 Test Sequence 模块字段旁边的刷新图标,以使用框架中 Test Sequence 模块的路径填充它。
4.将 Test Sequence Block 设置为 ScenarioTest/Test Sequence
模块,该模块包含在迭代中使用的场景。
5.单击用场景覆盖字段旁边的刷新图标,以便使用所选模块中的场景来填充该字段。
6.将用场景覆盖设置为 Scenario_1
,将该场景设置为所有迭代的默认场景。此场景覆盖了 Test Sequence 模块中的活动场景。在迭代部分,您可以将每次迭代的默认场景更改为另一个场景。
如果您未选择场景,则 Test Sequence 模块中的活动场景将作为默认场景。
7.在迭代部分中,展开表迭代,点击表右上角的加号并选择测试序列场景以将该列添加到表中。
8.点击表迭代底部的添加以添加单个迭代。每次迭代的测试序列场景列显示默认场景。在这种情况下,它显示 [Default] Scenario_1
。
或者,点击自动生成并选择测试序列场景来为所选 Test Sequence 模块中的每个场景生成一次迭代。在测试序列场景列中,每个迭代都分配有一个单独的迭代。
9.在迭代的测试序列场景列中,点击场景名称可以查看可用场景的列表。为其中一次迭代选择不同于默认方案的场景。
10.运行测试。