Як правильно користуватися патерном pageobject

Намагаюся розібратися з патерном Page object і виникло питання: Намагаюся автоматизувати тестування сайту на якому є

Для автоматизації тестування сторінки при використанні паттерна Page object потрібно:

Створити клас для логіна:

Створити клас для створення оголошення:

Так ось підкажіть чи правильно я все роблю згідно патерни Page Object

Це не кращий спосіб реалізації даного шаблону, тому що в вашому класі AutoQAcreateMail по суті дії виконуються над сторінкою AutoQALogin. а це не є добре.

Пропоную ознайомитися з даними туторіали по реалізації паттерна PageObject. Тут основна ідея полягає в тому, що методи конкретної сторінки повертають новий стан поточної сторінки:

або повертають сторінку, на яку здійснюється перехід після виконання певної дії:

І ніяких перехідних класів на зразок AutoQAcreateMail не потрібно створювати. Якщо в додатку є всього 3 сторінки HTML, то все буде 3 класу, що описують сторінки. Більше класів не слід створювати.

UPD. Єдиний мінус даної реалізації - це те, що при великій кількості переходів між сторінками кожен раз буде створюватися новий об'єкт, тобто необхідно задуматися про те, як зберігати стану сторінок. Для цього можна використовувати один з нижчеперелічених способів:

передавати в метод старий екземпляр сторінки;

створити конструктор, не започатковано стан сторінки.

Схожі статті