private static int _GetDelayFrom(ScriptWaitDuration duration) { const int maxDuration = 5000; int pauseDuration; switch (duration) { case ScriptWaitDuration.None: { pauseDuration = 0; break; } case ScriptWaitDuration.Tiny: { pauseDuration = maxDuration / 20; break; } case ScriptWaitDuration.VeryShort: { pauseDuration = maxDuration / 10; break; } case ScriptWaitDuration.Short: { pauseDuration = maxDuration / 5; break; } case ScriptWaitDuration.Medium: { pauseDuration = (int)(maxDuration / 2.5); break; } case ScriptWaitDuration.Long: { pauseDuration = (int)(maxDuration / 1.5); break; } case ScriptWaitDuration.VeryLong: { pauseDuration = maxDuration / 1; break; } default: { // Untestable scenario - consider throwing Argument exception instead // throw new System.ArgumentException("Please define ScriptWaitDuration", "duration"); pauseDuration = 500; break; } } return(pauseDuration); }
/// <summary> /// Pause the script execution /// </summary> /// <param name="duration"></param> public static void PauseExecution(ScriptWaitDuration duration) { var pauseDuration = _GetDelayFrom(duration); System.Threading.Thread.Sleep(pauseDuration); }