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