/// <summary> /// Метод реализует логаут с админской части /// </summary> public static void LogoutAdmin() { if (TO_AdminPanel.Button_Logout().Exists()) { TO_AdminPanel.Button_Logout().ClickAndWait(); } }
/// <summary> /// Метод для включения/выключения режима правки публичной части /// </summary> /// <param name="mode">true - включить, false - отключить</param> public static void EditMode(bool mode) { if (mode == true) { // если режим выключен - включаем if (TO_AdminPanel.Button_EditMode().GetAttribute("class") == "bx-panel-toggle-off") { Log.MesPass("Включаем режим правки"); TO_AdminPanel.Button_EditMode().ClickAndWait(); } // если включен - все хорошо else if (TO_AdminPanel.Button_EditMode().GetAttribute("class") == "bx-panel-toggle-on") { Log.MesPass("Режим правки уже включен"); } } else { // если режим включен - выключаем if (TO_AdminPanel.Button_EditMode().GetAttribute("class") == "bx-panel-toggle-on") { Log.MesPass("Выключаем режим правки"); TO_AdminPanel.Button_EditMode().ClickAndWait(); } // если выключен - все хорошо else if (TO_AdminPanel.Button_EditMode().GetAttribute("class") == "bx-panel-toggle-off") { Log.MesPass("Режим правки уже выключен"); } } }
/// <summary> /// Метод открывает закладку "Сайт" /// </summary> public static void OpenPublic() { if (TO_AdminPanel.Tab_AdminViewTab().Exists()) { TO_AdminPanel.Tab_AdminViewTab().ClickAndWait(checkErrors: false); } else if (TO_AdminPanel.Tab_PublicViewTab().Exists()) { TO_AdminPanel.Tab_PublicViewTab().ClickAndWait(checkErrors: false); } }
/// <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> /// Метод реализует логаут с сайта БУС /// </summary> public static void Logout() { if (TO_AdminPanel.Button_Logout().Exists()) { TO_AdminPanel.Button_Logout().ClickAndWait(); } if (TO_General.Button_Logout().Exists()) { TO_General.Button_Logout().ClickAndWait(); } if (TO_General.Button_Logout_Title().Exists()) { TO_General.Button_Logout_Title().ClickAndWait(); } }
/// <summary> /// Метод для проверки регистрации нового пользователя в админ части, его авторизации в публичной части /// </summary> /// <param name="edition">Редакция</param> /// <param name="DBType">Тип базы</param> protected static void CreateUserAtAdmin(string edition, string DBType) { Log.Gap(); Log.MesNormal("Тест создания нового пользователя в админке БУСа"); Case_General_Login.Login(TestUsers.Admin.Login, TestUsers.Admin.Password); Case_Main.OpenAdmin(); Case_Main.AdminLeftMenu("Настройки"); Case_Main.AdminLeftSubMenu("Пользователи", "Список пользователей"); // нажимаем кнопку добавить нового юзера TO_Users.Button_Admin_AddNewUser().Click(); // жмем сохранить TO_Users.Button_Admin_Save().Click(); // проверяем ошибки сохранения (Не указан пароль пользователя. Логин должен быть не менее 3 символов. Неверный E-Mail.) TO_AdminPanel.Region_RedMessage().AssertTextMatching("Не указан пароль пользователя.\r\nЛогин должен быть не менее 3 символов.\r\nНеверный E-Mail.", "Сообщение об ошибки сохранения верное", "Сообщение об ошибки сохранения не верное"); // заполняем поля на табе Пользователь TO_Users.Textbox_Admin_Name().SendKeys(TestUsers.S***n.Name); TO_Users.Textbox_Admin_LastName().SendKeys(TestUsers.S***n.LastName); TO_Users.Textbox_Admin_Email().SendKeys(TestUsers.S***n.Email); TO_Users.Textbox_Admin_Login().SendKeys(TestUsers.S***n.Email); TO_Users.Textbox_Admin_Password().SendKeys(TestUsers.S***n.Password); TO_Users.Textbox_Admin_ConfirmPassword().SendKeys(TestUsers.S***n.Password); // заполняем поля на табе Группы TO_Users.Region_Tab("Группы").Click(); TO_Users.Checkbox_Admin_Group("Зарегистрированные пользователи").Click(); // жмем сохранить TO_Users.Button_Admin_Save().Click(); // проверяем что в списке юзеров есть новый юзер TO_Users.Region_Admin_UsersList().AssertTextMatching(TestUsers.S***n.Name, "Имя нового пользователя есть в списке юзеров", "Имени нового пользователя нет в списке юзеров"); TO_Users.Region_Admin_UsersList().AssertTextMatching(TestUsers.S***n.LastName, "Фамилия нового пользователя есть в списке юзеров", "Фамилии нового пользователя нет в списке юзеров"); TO_Users.Region_Admin_UsersList().AssertTextMatching(TestUsers.S***n.Email, "Емайл нового пользователя есть в списке юзеров", "Емайла нового пользователя нет в списке юзеров"); // идем в публичку Case_Main.OpenPublic(); Case_General_Login.Logout(); // логинемся новым юзером Case_General_Login.Login(TestUsers.S***n.Email, TestUsers.S***n.Password); // проверяем что мы авторизированы if (TO_General.Button_Logout().Exists()) { Log.MesPass("Авторизация на сайте успешно пройдена"); } // выходим с сайта Case_General_Login.Logout(); Log.MesPass("Тест создания нового пользователя в админке завершен"); }