Я пытаюсь понять, как сделать PO и спрашиваю вас, что я делаю это правильно. Я не уверен, когда мне следует создать новый объект класса страницы. Вот пример потока, который я придумал. Я не могу найти похожий пример. Я на MainPage (создать новый объект mp) перейти к UsersPage сделать некоторые действия, и я хочу перейти (используя метод из MainPage) в UsersGroups. Мой код:
export class MainPage
{
navigate(): MainPage
{
cy.get('#mainpage').click()
return this
}
goTouUser(): UsersPage
{
cy.get("#users").click()
return new UsersPage()
}
goToGroups(): UsersGroupsPage
{
cy.get("#usersGroups").click()
return new UsersGroupspage()
}
}
UserPage
export class UsersPage
{
addUser(user: String): UsersPage
{
cy.get("#addUser").type(user)
return this
}
goToProfile(): ProfilePage
{
cy.get('#profile').click()
return new ProfilePage()
}
}
Мой пример теста
describe("Add new users", () =>
{
const mp = new MainPage()
it('Navigate to main page', () =>
{
up = mp.navigate()
.goTouUser()
up.addUser("newUser_1")
>>>> want to navigate to UserGroups <<<<
})
})
И вот мои вопросы: 1. Об этом месте >>>> want to navigate to UserGroups <<<<
Могу ли я перейдите к UserGroups, используя созданный до объекта mp
-> mp.goToGroups (), или я должен создать новый объект MainPage, а затем перейти к группам пользователей? 2. Является ли эта часть кода хорошей практикой использования ПО? Должен ли я «вернуть это» и вернуть «объекты новых страниц»?