Функция эмуляции сценария позволяет убедиться, что фактический результат выполнения сценария соответствует ожидаемому, а так же проверить поведение сценария при различных значениях контекста процесса.
Несмотря на то, что для эмуляции сценария не требуется публикация процесса, сценарий, запущенный в режиме эмуляции, работает так же, как и сценарий, выполняемый в опубликованном процессе. При этом нет необходимости выполнять операции процесса, предшествующие выполнению требуемого сценария. Кроме того, в режиме эмуляции, в зависимости от настроек выполнения эмуляции, существует возможность не сохранять в базе данных системы ELMA данные тестового запуска.
Несмотря на то, что эмуляция запускается в настраиваемом контексте процесса, в режиме эмуляции не загружаются формы задач процесса. Из-за этого ограничения в режиме эмуляции сценариев нельзя проверить работу динамических форм.
Запуск эмуляции осуществляется в карточке бизнес-процесса на вкладке Сценарии (рис. 1).
Для запуска сценария в режиме эмуляции требуется нажать кнопку Запустить эмуляцию на панели инструментов.
Рис. 1. Вкладка "Сценарии" в карточке бизнес-процесса. Кнопка "Запустить эмуляцию"
Процесс эмуляции сценариев выполняется в веб-приложении ELMA (рис. 2).
Рис. 2. Страница запуска эмуляции сценария в веб-приложении
В блоке Параметры отладки необходимо выбрать эмулируемый сценарий и указать, требуется ли выполнить откат всех изменений, производимых сценарием. В списке выбора сценария отображаются все сценарии бизнес-процесса.
Откат после выполнения - этот переключатель позволяет настроить характер выполнения эмуляции сценариев:
-
Да - по окончанию выполнения эмуляции будет произведен откат транзакции в базе данных. То есть все внесенные сценарием изменения будут аннулированы: будут удалены созданные переменные, уже существующие переменные получат свои изначальные значения; если при выполнении сценария создаются экземпляры объектов, они также будут удалены;
-
Нет - по окончанию выполнения эмуляции сценария все внесенные в базу данных изменения сохраняются.
В блоке Контекст можно заполнить значения контекстных переменных, с которыми будет работать эмулируемый сценарий.
Для запуска эмуляции выбранного сценария с заданными параметрами отладки и значениями контекстных переменных необходимо нажать кнопку Запустить сценарий. При успешном выполнении сценария в режиме эмуляции, в верхней части страницы Эмуляция сценариев будет выведено сообщение "Сценарий выполнен" (рис. 3).
Рис. 3. Успешное завершение эмуляции сценария
В случае возникновения при выполнении сценария ошибок, в этой области выводится сообщение об ошибке (рис. 4, блок 1). Как правило, в описании ошибки указана строка, в которой возникла ошибка (рис. 4, блок 2).
Рис. 4. Сообщение об ошибке при эмуляции сценария
Если сценарий изменяет контекст бизнес-процесса, то после выполнения сценария в режиме эмуляции, новые значения контекстных переменных можно посмотреть в группе Контекст.
Для очистки значений контекстных переменных нажмите кнопку Очистить контекст. Данная функция предназначена для ситуаций, когда необходимо выполнить эмуляцию сценария с новыми начальными значениями.
Дополнительные возможности эмуляции сценариев
Иногда при эмуляции сценариев возможности простого мониторинга изменения контекстных переменных процесса бывает недостаточно. В системе имеются дополнительные инструменты, позволяющие сделать процесс отладки более гибким.
Вывод сообщений в консоль
По умолчанию при эмуляции сценариев, пользователь не видит консоль, в которую выводятся результаты работы сценария. При необходимости вы можете использовать в ваших сценариях команды вывода в консоль. Команда имеет следующий формат:
this.Console.WriteLine("Этот текст будет выведен в консоль");
При помощи данной команды в консоль можно выводить произвольную информацию.
Если в сценарии присутствует хотя бы одна такая команда, на странице Эмуляция сценариев появится дополнительная группа Консоль сообщений (рис. 5). В ней можно просмотреть содержимое консоли.
Рис. 5. Консоль сообщений при эмуляции сценария.
При выполнении сценариев, содержащих команды вывода в консоль, в экземплярах процесса, пользователи системы не увидят эти сообщения, так как на формах пользовательских задач отсутствует стандартный механизм отображения консоли.
Вывод сообщений об ошибках
Если в сценарии требуется предусмотреть обработку некоторых ошибок, полезной окажется возможность использования команды вывода сообщений об ошибках:
throw new Exception("Текст ошибки");
При запуске эмуляции сценария, выполнение данной строки кода приведет к выводу в верхней части страницы, в строке Ошибка при выполнении сценария, сообщения об ошибке с указанным в методе Exception текстом (рис. 4). Подробное описание ошибки с указанием строки сценария, в которой она была вызвана, можно прочитать в блоке Описание ошибки
Отладочный код
Для большей гибкости процесса отладки предусмотрен специальный инструмент, позволяющий использовать в коде сценария фрагменты, которые будут выполняться только в режиме отладки. Если же данный сценарий запускается в рамках выполнения процесса в веб-приложении, такие фрагменты кода игнорируются системой, подобно тому, как игнорируется содержимое закомментированных участков кода.
Код, который исполняется только в режиме отладки, оформляется следующим образом:
if (IsDebug)
{
// Весь код, находящийся между этими фигурными скобками будет выполняться
// только в режиме отладки.
}
См. также: