Намагаюся розібратися з патерном Page object і виникло питання: Намагаюся автоматизувати тестування сайту на якому є
Для автоматизації тестування сторінки при використанні паттерна Page object потрібно:
Створити клас для логіна:
Створити клас для створення оголошення:
Так ось підкажіть чи правильно я все роблю згідно патерни Page Object
Це не кращий спосіб реалізації даного шаблону, тому що в вашому класі AutoQAcreateMail по суті дії виконуються над сторінкою AutoQALogin. а це не є добре.
Пропоную ознайомитися з даними туторіали по реалізації паттерна PageObject. Тут основна ідея полягає в тому, що методи конкретної сторінки повертають новий стан поточної сторінки:
або повертають сторінку, на яку здійснюється перехід після виконання певної дії:
І ніяких перехідних класів на зразок AutoQAcreateMail не потрібно створювати. Якщо в додатку є всього 3 сторінки HTML, то все буде 3 класу, що описують сторінки. Більше класів не слід створювати.
UPD. Єдиний мінус даної реалізації - це те, що при великій кількості переходів між сторінками кожен раз буде створюватися новий об'єкт, тобто необхідно задуматися про те, як зберігати стану сторінок. Для цього можна використовувати один з нижчеперелічених способів:
передавати в метод старий екземпляр сторінки;
створити конструктор, не започатковано стан сторінки.