/// <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(); } } }
/// <summary> /// Удаление данных магазина /// </summary> public static void DeleteAllData() { BitrixFramework.Wait(3); string PHPCommand = Case_Sale_Helper.DeleteInnerAccounts(true) + Case_Sale_Helper.DeleteTaxRate(true); GM.RunPHPCommand(PHPCommand); }
/// <summary> /// Кейс выполнения php команды в админ. части /// </summary> /// <param name="PhpCommand">текст команды</param> public static void RunPHPCommand(string PhpCommand) { //идем на страницу выполнения php команды BitrixFramework.OpenURL(BitrixFramework.Host() + "/bitrix/admin/php_command_line.php"); //отключаем подсветку синтаксиса GM.BacklightCodeSwitcher(false); //вставляем команду, выполняем TO_General.Textbox_PhpCommand.PasteText(PhpCommand, false, HideMessage: true); BitrixFramework.Wait(3); TO_General.Button_ExecutePhpCommand.ClickAndWait(checkErrors: false); BitrixFramework.BrowserAlert(true); BitrixFramework.Wait(3); }
/// <summary> /// Смена типа выбора местоположения /// </summary> /// <param name="isList">Список или поиск</param> public static void ChangePlacementSelectType(bool isList) { Case_Main.OpenAdmin(); BitrixFramework.Wait(2); Case_Main.OpenSettings(); Case_Main.OpenSettings(); Case_Main.AdminLeftSubMenu("Настройки продукта", "Настройки модулей"); Case_Main.AdminLeftSubSubMenu("Настройки модулей", "Интернет-магазин"); TO_Sale_Placements.Region_Placements.Scroll(); if (isList) { TO_Sale_Placements.DropDown_PlacementsSelectType.SendKeys(OpenQA.Selenium.Keys.Home, false); Log.MesPass("Установлен тип выбора местоположения выпадающие списки"); } else { TO_Sale_Placements.DropDown_PlacementsSelectType.SendKeys(OpenQA.Selenium.Keys.End, false); Log.MesPass("Установлен тип выбора местоположения выпадающие строка поиска"); } TO_Main.Button_Update().ClickAndWait(); BitrixFramework.Wait(5); }
/// <summary> /// Метод для перехода в пункт левого админ меню Настройки /// </summary> public static void OpenSettings() { TO_AdminLeftMenu.Button_Settings.ClickAndWait(NoRefresh: true); BitrixFramework.Wait(5); }