Вимірювання часу виконання важливо тоді, коли хочеться зрозуміти як пришвидшити роботу сценарія. На жаль в ZennoPoster немає вбудованих способів, які б позволили це зробити. А варіант зберігати час зараз, і потім час після виконання не завжди може відображати корректні значення.
Тому прийдеться вирішувати проблему з виміром часу використовуючи блок Свій C# Код.
Значить ідея в мене така – першим блоком необхідно запустити таймер.
Потім помістити його в контекст, щоб появилась можливість звернутись до нього у будь-якому іншому блоці.
project.Context["sw"] = System.Diagnostics.Stopwatch.StartNew();
Після чого по виходу Bad End потрібно звернутись до цього об’єкта, тому що не успішне виконання може відбутись у будь-який момент часу.
Після чого по виходу Good End також можна виконати цей самий фрагмент коду, щоб мати можливість дізнатись скільки часу виконувався весь сценарій.
var sw = project.Context["sw"]; sw.Stop(); project.SendInfoToLog(string.Format("Стоп: {0:c} ms", sw.Elapsed));
Ось так просто можна виміряти час виконання будь-якого сценарію який виконується в ZennoPoster.
Завдяки контексту можна визвати зупинку в любому місці (тоді потрібно видалити код із Bad End і Good End).