/// <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 CheckSelectType() { Log.NodeOpen("Проверка типа выбора местоположения"); Case_Sale_Helper.ChangePlacementSelectType(false); Case_Sale_Helper.ValidatePlacementSelectType(false); BitrixFramework.Refresh(); Case_Sale_Helper.ChangePlacementSelectType(true); Case_Sale_Helper.ValidatePlacementSelectType(true); Log.NodeClose(); }
/// <summary> /// Метод для очистки тестовых данных /// </summary> /// <param name="edition">Редакция</param> /// <param name="DBType">Тип базы</param> public static void Clear(string edition, string DBType) { Log.Gap(); Log.MesNormal("Старт очистки тестовых данных"); // идем в админку на стр пользователи Case_Main.OpenAdmin(); //Закрываем модальное окно Битрикс24 - Единая авторизация if (TO_Main.CheckBox_NetworkDontshow().Displayed()) { TO_Main.CheckBox_NetworkDontshow().ClickAndWait(); TO_AdminPanel.Button_Close().ClickAndWait(); } Case_Main.AdminLeftMenu("Настройки"); Case_Main.AdminLeftSubMenu("Пользователи", "Список пользователей"); if (TO_Users.Region_Admin_UsersList().AssertTextMatching(TestUsers.Petr.Email)) { Log.MesNormal("Найден тестовый пользователь Петров с прошлого теста. Удаляем"); // удаляем Петрова TO_Users.Checkbox_Admin_User(edition, DBType, TestUsers.Petr.Name, TestUsers.Petr.LastName).Click(); TO_Users.Button_Admin_Delete().Click(false); BitrixFramework.BrowserAlert(true); TO_General.Region_Wait().WaitWhileElementExists(); // проверяем что удален BitrixFramework.Refresh(); TO_Users.Link_Admin_UserEmail(TestUsers.Petr.Email).NOTExists("Пользователь " + TestUsers.Petr.Email + " успешно удален", "Пользователь " + TestUsers.Petr.Email + " не удален"); } else { Log.MesPass("Тестовый пользователь Петров уже удален."); } if (TO_Users.Region_Admin_UsersList().AssertTextMatching(TestUsers.S***n.Email)) { Log.MesNormal("Найден тестовый пользователь Синичкин с прошлого теста. Удаляем"); // удаляем Синичкина TO_Users.Checkbox_Admin_User(edition, DBType, TestUsers.S***n.Name, TestUsers.S***n.LastName).Click(); TO_Users.Button_Admin_Delete().Click(false); BitrixFramework.BrowserAlert(true); TO_General.Region_Wait().WaitWhileElementExists(); // проверяем что удален BitrixFramework.Refresh(); TO_Users.Link_Admin_UserEmail(TestUsers.S***n.Email).NOTExists("Пользователь " + TestUsers.S***n.Email + " успешно удален", "Пользователь " + TestUsers.S***n.Email + " не удален"); } else { Log.MesPass("Тестовый пользователь Синичкин уже удален."); } TO_AdminPanel.Tab_AdminViewTab().Click(); Case_Main.OpenPublic(); Case_General_Login.Logout(); Log.MesPass("Очистка тестовых демо-пользователей завершена"); }
/// <summary> /// Метод включает/отключает подсветку кода в редакторе php команды /// </summary> /// <param name="turnBacklightOn">true - включить подстветку, false - отключить</param> public static void BacklightCodeSwitcher(bool turnBacklightOn) { if (turnBacklightOn) { if (TO_General.Button_BacklightCodeOff.Exists()) { TO_General.Button_BacklightCodeOff.Click(true, false); } } else { if (TO_General.Button_BacklightCodeOn.Exists()) { TO_General.Button_BacklightCodeOn.Click(true, false); BitrixFramework.Refresh(); if (TO_General.Button_BacklightCodeOn.Exists()) { TO_General.Button_BacklightCodeOn.Click(true, false); } } } }