/
koskv
/
TeamSync-Tests
Обзор
Документация
Войти
/
koskv
/
TeamSync-Tests
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/test/java/stepdefinitions/ui/NavigationSteps.java
317 строк
15 KB
Koskv
Add: Smoke тесты - на EmployeeSkill
30 окт 2025, 10:20
30 окт 2025, 10:20
d5bb70a
Код
Авторство
О чём код?
package stepdefinitions.ui; import TeamSyncTest.config.TestData; import TeamSyncTest.pages.HeaderPage; import TeamSyncTest.pages.MainPage; import TeamSyncTest.pages.SideBarPage; import io.cucumber.java.en.Given; import io.cucumber.java.en.When; import io.cucumber.java.en.Then; import io.qameta.allure.Allure; import io.qameta.allure.Step; import java.lang.reflect.InvocationTargetException; import static org.junit.jupiter.api.Assertions.*; public class NavigationSteps { private HeaderPage headerPage = new HeaderPage(); private MainPage mainPage = new MainPage(); private SideBarPage sideBarPage = new SideBarPage(); private final String username = TestData.Users.adminUsername(); private final String password = TestData.Users.adminPassword(); // Инициализация страниц private HeaderPage getHeaderPage() { if (headerPage == null) { headerPage = new HeaderPage(); } return headerPage; } private MainPage getMainPage() { if (mainPage == null) { mainPage = new MainPage(); } return mainPage; } private SideBarPage getSideBarPage() { if (sideBarPage == null) { sideBarPage = new SideBarPage(); } return sideBarPage; } // ==================== COMMON STEPS ==================== @Step("Открыта страница логина") @Given("I am on the login page") public void i_am_on_the_login_page() { Allure.addAttachment("Page Status", "Находимся на странице логина"); } @Step("Логин как администратор") @When("I login as admin user") public void i_login_as_admin_user() { getHeaderPage().login() .loginSuccess(username, password) .getGreatingUsers(); Allure.addAttachment("Login Successful", "Пользователь: " + username + "\nСтатус: Успешный вход"); } @Step("Проверка заголовка страницы: {expectedHeader}") @Then("I should see page header {string}") public void i_should_see_page_header(String expectedHeader) { String actualHeader = getSideBarPage().getMainPageLink().getText(); assertEquals(expectedHeader, actualHeader, "Заголовок страницы не соответствует ожидаемому"); Allure.addAttachment("Header Verification", "Ожидаемый: " + expectedHeader + "\n" + "Фактический: " + actualHeader + "\n" + "Статус: ✓ Совпадает"); } @Step("Проверка заголовка модального окна: {expectedHeader}") @Then("I should see modal header {string}") public void i_should_see_modal_header(String expectedHeader) { String actualHeader = sideBarPage.getMainPageLink().getText(); assertEquals(expectedHeader, actualHeader, "Заголовок модального окна не соответствует ожидаемому"); Allure.addAttachment("Modal Header Verification", "Ожидаемый: " + expectedHeader + "\n" + "Фактический: " + actualHeader + "\n" + "Статус: ✓ Совпадает"); } // ==================== MAIN NAVIGATION ==================== @Step("Навигация на главную страницу") @When("I navigate to main page") public void i_navigate_to_main_page() { getHeaderPage().openMainPage(); Allure.addAttachment("Navigation", "Переход на главную страницу"); } @Step("Навигация на главную через боковое меню") @When("I navigate to main page via sidebar") public void i_navigate_to_main_page_via_sidebar() { sideBarPage.openMainPage(); Allure.addAttachment("Navigation Path", "Sidebar → Главная"); } @Step("Проверка заголовка главной страницы: {expectedHeader}") @Then("I should see main page header {string}") public void i_should_see_main_page_header(String expectedHeader) { String actualHeader = mainPage.getHeader().getText(); assertEquals(expectedHeader, actualHeader, "Заголовок главной страницы не соответствует ожидаемому"); Allure.addAttachment("Main Page Header", "Ожидаемый: " + expectedHeader + "\n" + "Фактический: " + actualHeader + "\n" + "Статус: ✓ Совпадает"); } // ==================== EMPLOYEE MODULE ==================== @Step("Навигация на страницу списка сотрудников") @When("I navigate to employee list page") public void i_navigate_to_employee_list_page() { sideBarPage.openEmployeePage().isLoaded(); Allure.addAttachment("Navigation", "Переход к списку сотрудников"); } @Step("Навигация на страницу ведения данных сотрудника") @When("I navigate to employee info page") public void i_navigate_to_employee_info_page() { sideBarPage.openEmployeeInfoPage().isLoaded(); Allure.addAttachment("Navigation", "Переход к ведению данных сотрудника"); } @Step("Навигация на страницу создания сотрудника") @When("I navigate to create employee page") public void i_navigate_to_create_employee_page() { sideBarPage.openEmployeePage().openCreateEmployeePage().isLoaded(); Allure.addAttachment("Navigation", "Открытие модалки создания сотрудника"); } @Step("Навигация на страницу деталей сотрудника для первого сотрудника") @When("I navigate to employee details page for first employee") public void i_navigate_to_employee_details_page_for_first_employee() { sideBarPage.openEmployeePage().openViewEmployeePage(0).isLoaded(); Allure.addAttachment("Navigation", "Просмотр деталей первого сотрудника"); } @Step("Навигация на страницу инструментов сотрудника для первого сотрудника") @When("I navigate to employee tools page for first employee") public void i_navigate_to_employee_tools_page_for_first_employee() { sideBarPage.openEmployeePage().openEmployeeToolsPage(0).isLoaded(); Allure.addAttachment("Navigation", "Открытие инструментов первого сотрудника"); } @Step("Навигация на страницу редактирования сотрудника для первого сотрудника") @When("I navigate to edit employee page for first employee") public void i_navigate_to_edit_employee_page_for_first_employee() { sideBarPage.openEmployeePage().openEditEmployeePage(0).isLoaded(); Allure.addAttachment("Navigation", "Редактирование первого сотрудника"); } // ==================== COMPANY MODULE ==================== @Step("Навигация на страницу списка компаний") @When("I navigate to company list page") public void i_navigate_to_company_list_page() { sideBarPage.openCompanyPage().isLoaded(); Allure.addAttachment("Navigation", "Переход к списку компаний"); } @Step("Навигация на страницу создания компании") @When("I navigate to create company page") public void i_navigate_to_create_company_page() { sideBarPage.openCompanyPage().openCreateCompanyPage().isLoaded(); Allure.addAttachment("Navigation", "Создание новой компании"); } @Step("Навигация на страницу редактирования компании {int}") @When("I navigate to edit company page for company {int}") public void i_navigate_to_edit_company_page_for_company(int companyIndex) { sideBarPage.openCompanyPage().openEditCompanyPage(companyIndex).isLoaded(); Allure.addAttachment("Navigation", "Редактирование компании " + companyIndex); } @Step("Навигация на страницу просмотра компании {int}") @When("I navigate to view company page for company {int}") public void i_navigate_to_view_company_page_for_company(int companyIndex) { sideBarPage.openCompanyPage().openViewCompanyPage(companyIndex).isLoaded(); Allure.addAttachment("Navigation", "Просмотр компании " + companyIndex); } // ==================== PROJECT MODULE ==================== @Step("Навигация на страницу списка проектов") @When("I navigate to project list page") public void i_navigate_to_project_list_page() { sideBarPage.openProjectPage().isLoaded(); Allure.addAttachment("Navigation", "Переход к списку проектов"); } @Step("Навигация на страницу создания проекта") @When("I navigate to create project page") public void i_navigate_to_create_project_page() { sideBarPage.openProjectPage().openCreteProjectPage().isLoaded(); Allure.addAttachment("Navigation", "Создание нового проекта"); } @Step("Навигация на страницу редактирования проекта {int}") @When("I navigate to edit project page for project {int}") public void i_navigate_to_edit_project_page_for_project(int projectIndex) { sideBarPage.openProjectPage().openEditProjectPage(projectIndex).isLoaded(); Allure.addAttachment("Navigation", "Редактирование проекта " + projectIndex); } @Step("Навигация на страницу просмотра проекта {int}") @When("I navigate to view project page for project {int}") public void i_navigate_to_view_project_page_for_project(int projectIndex) { sideBarPage.openProjectPage().openViewProjectPage(projectIndex); Allure.addAttachment("Navigation", "Просмотр проекта " + projectIndex); } // ==================== EMPLOYEE PROJECT MODULE ==================== @Step("Навигация на страницу проектов сотрудников") @When("I navigate to employee project page") public void i_navigate_to_employee_project_page() { sideBarPage.openEmployeeProjectPage().isLoaded(); Allure.addAttachment("Navigation", "Переход к проектам сотрудников"); } @Step("Навигация на страницу создания работы сотрудника") @When("I navigate to create employee job page") public void i_navigate_to_create_employee_job_page() { sideBarPage.openEmployeeProjectPage().openCreateEmployeeJobPage().isLoaded(); Allure.addAttachment("Navigation", "Создание новой работы сотрудника"); } @Step("Навигация на страницу редактирования работы сотрудника {int}") @When("I navigate to edit employee job page for job {int}") public void i_navigate_to_edit_employee_job_page_for_job(int jobIndex) { sideBarPage.openEmployeeProjectPage().openEditEmployeeJobPage(jobIndex).isLoaded(); Allure.addAttachment("Navigation", "Редактирование работы сотрудника " + jobIndex); } @Step("Навигация на страницу просмотра работы сотрудника {int}") @When("I navigate to view employee job page for job {int}") public void i_navigate_to_view_employee_job_page_for_job(int jobIndex) { sideBarPage.openEmployeeProjectPage().openViewEmployeeJobPage(jobIndex).isLoaded(); Allure.addAttachment("Navigation", "Просмотр работы сотрудника " + jobIndex); } // ==================== SKILL MODULES ========================= @Step("Навигация на страницу навыков сотрудника") @When("I navigate to employee skills page") public void i_navigate_to_employee_skills_page() { sideBarPage.openEmployeeSkillPage().isLoaded(); Allure.addAttachment("Navigation", "Переход к навыкам сотрудника"); } // ==================== ADDITIONAL MODULES ==================== @Step("Навигация на страницу моего профиля") @When("I navigate to my profile page") public void i_navigate_to_my_profile_page() { sideBarPage.openMyProfilePage().isLoaded(); Allure.addAttachment("Navigation", "Переход к моему профилю"); } @Step("Навигация на страницу задач сотрудника") @When("I navigate to employee tasks page") public void i_navigate_to_employee_tasks_page() { sideBarPage.openEmployeeTaskPage().isLoaded(); Allure.addAttachment("Navigation", "Переход к задачам сотрудника"); } @Step("Навигация на страницу пользователей") @When("I navigate to users list page") public void i_navigate_to_users_list_page() { sideBarPage.openUsersListPage().isLoaded(); Allure.addAttachment("Navigation", "Переход к списку пользователей"); } @Step("Навигация на страницу 'О системе'") @When("I navigate to about system page") public void i_navigate_to_about_system_page() { sideBarPage.openAboutSystemPage().isLoaded(); Allure.addAttachment("Navigation", "Переход к информации о системе"); } @Step("Навигация на страницу IT-поддержки") @When("I navigate to IT department page") public void i_navigate_to_it_department_page() { sideBarPage.openItDepartmentPage().isLoaded(); Allure.addAttachment("Navigation", "Переход к IT-поддержке"); } //========== Check Header // Общие методы ================================================= // 1. Проверки Хедера страницы. }