Exemplo n.º 1
0
 /// <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();
         }
     }
 }
Exemplo n.º 2
0
 /// <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();
 }
Exemplo n.º 3
0
 /// <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("Очистка тестовых демо-пользователей завершена");
 }
Exemplo n.º 4
0
        /// <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);
                    }
                }
            }
        }