/// <summary>
/// Метод выполняет последовательно действия, переданные в него коллекцией.
/// В зависимости от значения cbDebugMode, метод завершает текущее действие и переходит к следующему при появлении исключения,
/// либо останавливается на исключении.
/// </summary>
/// <param name="TestCases">Список действий (методов) для последовательного выполнения. Методы не должны возвращать значение</param>
public static void Execute(List <Action> TestCases)
{
foreach (Action TestCase in TestCases)
{
try
{
TestCase.Invoke();
}
catch (OpenQA.Selenium.UnhandledAlertException)
{
Log.MesQuestion("неожиданное модальное окно. <a href=\"" + ScreenCapture.Printscreen() + "\">скриншот</a>");
BitrixFramework.Wait(5);
BitrixFramework.BrowserAlert(false);
Log.NodeClose();
}
catch (WebException e)
{
Log.MesError("Словили Вэб-эксепшен =( Видимо отвалился вебдрайвер.\r\n" + e.Message + "\r\n" + e.StackTrace +
"\r\nStatus Code : " + ((HttpWebResponse)e.Response).StatusCode +
"\r\nStatus Description : " + ((HttpWebResponse)e.Response).StatusDescription);
Log.NodeClose();
}
catch (OpenQA.Selenium.WebDriverException e)
{
Log.MesError("Словили Вэб-эксепшен =( \r\n" + e.Message + "\r\n" + e.StackTrace);
BitrixFramework.Refresh();
Log.NodeClose();
}
catch (Exception Ex)
{
Log.MesError(Ex.Message + "\r\n" + Ex.StackTrace);
Log.NodeClose();
}
}
}