В этом примере показано, как создать и использовать сценарии в редакторе тестовых последовательностей. Сценарии позволяют включать несколько тестовых последовательностей в блок Test Sequence. Если ваша тестовая обвязка включает более одного блока Test Sequence, можно переместить каждую тестовую последовательность в сценарий в одном блоке Test Sequence.
В примере также показано, как использовать Test Manager для настройки и использования итераций для запуска нескольких сценариев в одном тесте.
Откройте HeatPumpScenario
модель, ScenarioTest
обвязка и редактор тестовых последовательностей.
open_system('HeatPumpScenario') sltest.harness.open('HeatPumpScenario/Controller','ScenarioTest'); open_system('ScenarioTest/Test Sequence')
На панели в левой части редактора тестовых последовательностей перейдите на вкладку «Сценарии» и нажмите «Использовать сценарии».
В диалоговом окне Start Using Scenarios нажмите OK, что подтверждает, что при переходе в режим сценария вы не можете вернуть блок Test Sequence в режим, не связанный со сценарием. Существующие шаги и переходы перемещаются на вкладку с именем Scenario_1.
Чтобы добавить новый сценарий, на вкладке Сценарии щелкните знак плюс рядом с Списком сценариев. Также щелкните по знаку плюс рядом с заголовком вкладки Scenario_1. Новый сценарий называется Scenario_2.
Чтобы начать с существующего сценария, можно дублировать его. Перейдите на вкладку Сценарии. Щелкните на Scenario_1 в списке сценариев, чтобы отобразить кнопку «Повторить сценарий». Нажмите кнопку Повторяющийся сценарий, чтобы добавить новый сценарий с именем Scenario_3, который имеет то же содержимое, что и Scenario_1.
Измените Scenario_3, чтобы изменить переход шага Test_signals на Troom_in >= 78
.
На вкладке Сценарии на боковой панели наведите указатель мыши на Scenario_2 в Списке сценариев, чтобы отобразить кнопку Удалить сценарий. Нажмите кнопку Удалить сценарий и нажмите кнопку ОК в диалоговом окне, чтобы удалить Scenario_2.
Имя Scenario_3 не изменяется, но индекс сценария, показанный слева от сценария в списке сценариев, изменяется на 2, поскольку теперь это второй сценарий.
В боковой панели «Список сценариев» значок молнии черного цвета и имя сценария с болтовым соединением указывают, что Scenario_1 является текущим активным сценарием. Если вы запускаете модель, запускается только активный сценарий.
Измените активный сценарий на Scenario_3. Укажите на Scenario_3 в списке сценариев, чтобы отобразить кнопку активации, представляющую собой серый молниеносный болт. Щелкните на молнии, чтобы Scenario_3 активный сценарий.
Другой способ управлять тем, какой сценарий является активным, - из командной строки. См. раздел Альтернативный способ управления активным сценарием ниже.
Запустите модель, и вы увидите, что Scenario_3 работает. Активный сценарий запускается независимо от того, какая вкладка сценария отображается в данный момент. Если переключить отображение на Scenario_1 и нажать кнопку Выполнить, отображаемый сценарий переключается на активный Scenario_3 и запускает этот сценарий.
Вместо настройки активного сценария из редактора тестовых последовательностей можно использовать переменную в базовом рабочем пространстве, рабочем пространстве модели или словаре данных для управления активным сценарием. Для активации сценария установите значение переменных индекс сценария.
1. На вкладке Test Sequence Editor Scenarios перейдите к разделу Scenario Parameter.
2. Включите активный сценарий Control из рабочей области. Ранее активный сценарий деактивирован. Когда вы управляете активным сценарием с помощью переменной рабочей области, Редактор тестовой последовательности не знает, какой сценарий активен, пока вы не нажмете кнопку Выполнить.
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
. Установите его в нужный индекс сценария, например 1
, путем ввода: ChangeScenario = Simulink.Parameter(1);
.
3. Вернитесь в Редактор тестовых последовательностей и нажмите кнопку Выполнить. Scenario_1 работает.
Можно запустить несколько сценариев в тест с помощью итераций. В этом разделе описываются сценарии в итерациях, использующие Test Manager.
1. В Диспетчере тестов создайте тестовый файл, тестовый набор и тестовый пример симуляции.
2. В разделе «Тестируемая система» установите значение Модели HeatPumpScenario
и жгут к ScenarioTest
.
3. В разделе Входные параметры щелкните значок Обновить рядом с полем Блок тестовой последовательности, чтобы заполнить его путями к блокам Тестовой последовательности в обвязке.
4. Установите блок тестовой последовательности в ScenarioTest/Test Sequence
блок, который имеет сценарии для использования в итерациях.
5. Щелкните значок Обновить рядом с полем Переопределить со сценарием, чтобы заполнить его сценариями в выбранном блоке.
6. Установите значение переопределения сценарием Scenario_1
, который устанавливает этот сценарий как значение по умолчанию для всех итераций. Этот сценарий переопределяет активный сценарий в блоке Test Sequence. В разделе Итерации можно изменить этот сценарий по умолчанию на другой сценарий для каждой итерации.
Если вы не выбираете сценарий, активный сценарий в блоке Test Sequence используется как значение по умолчанию.
7. В разделе Итерации разверните раздел Итерации таблицы, щелкните знак плюс в правом верхнем углу таблицы и выберите Сценарий тестовой последовательности, чтобы добавить этот столбец в таблицу.
8. Нажмите Add в нижней части окна Table Iterations, чтобы добавить отдельные итерации. Столбец Сценарий тестовой последовательности для каждой итерации показывает сценарий по умолчанию. В этом случае он показывает [Default] Scenario_1
.
Кроме того, щелкните Автоматическая генерация (Auto Generate) и выберите Сценарий тестовой последовательности (Test Sequence Scenario), чтобы сгенерировать итерацию для каждого сценария в выбранном блоке Тестовая последовательность (Test Sequence). В столбце «Сценарий тестовой последовательности» каждой итерации присваивается отдельная итерация.
9. В столбце Сценарий тестовой последовательности итерации щелкните имя сценария, чтобы просмотреть список доступных сценариев. Выберите другой сценарий по умолчанию для одной из итераций.
10. Запустите тест.