Що таке POM (Рage Оbject Мodel)?

Мітки: QA Automation

Що таке POM?

POM – Рage Оbject Мodel – це шаблон дизайну, який широко використовується в автоматизації тестів, що створює сховище об'єктів для елементів вебінтерфейсу.

Модель PageObject – зараз дуже популярний фреймворк для автоматизації тестування, багато компаній працюють з ним через його простоту обслуговування тестів і зниження дублювання коду.

Згідно з цією моделлю для кожної вебсторінки у програмі повинен бути відповідний клас сторінки. Цей клас Page визначає WebElements цієї вебсторінки, а також містить методи Page, які виконують операції з такими WebElements. Назви цих методів слід вказувати відповідно до завдання, яке вони виконують. Вони повинні відповідати діям, які вони виконують, наприклад, метод очікування, поки елемент з'явиться – waitForPaymentScreenDisplay()

Цей клас Page буде шукати всі WebElements на сторінці й також міститиме методи для роботи з ними.

Такий шаблон вперше застосували в проекті WebDriver, який пізніше об'єднався з Selenium.

Головною перевагою моделі є те, що у випадку зміни структури будь-якої сторінки, не потрібно заново складати тести, досить буде змінити код для об'єкта сторінки.

Отож, модель Page Object надає наступні переваги:

  • Чіткий поділ між кодом тестів і кодом специфічним для сторінки (таким як локатори)
  • Також ця модель дозволяє при змінах в дизайні сторінки - змінювати відповідний код тільки в одному місці.

Переваги POM

  • Page Object Patten повідомляє елементи окремо від реалізації тесту. Ця концепція робить код є більш зрозумілим.
  • Другою перевагою є те, що незалежність класу об'єктів від реалізації тесту дозволяє використовувати цей репозиторій у різних цілях та з різними для виконання тестами. Наприклад, ми можемо інтегрувати POM із TestNG/JUnit для функціонального тестування, а також із JBehave/Cucumber для приймального тестування.
  • Код стає меншим і він більш оптимізований. Його можна повторно використати.
  • Методи отримують більш реальні імена та відображають виконану дію на UI, наприклад, gotoHomePage().

  • Що таке об'єктна модель сторінки (POM)?
  • Навіщо нам потрібна об'єктна модель сторінки?
  • Які переваги об’єктної моделі сторінки?
  • Як реалізувати об'єктну модель сторінки в селені?
  • Як визначити класи Page?
  • Як POM рятує в разі частих змін локатора?

Відповіді на всі ці питання ти отримаєш на Мінікурсі: Automation Testing. Selenium + Java + TestNG

copy_obkladynka_facebook-podii_1920x1080_piks_26.300x0.jpeg.pagespeed.ce.wHqK7hSgBo.jpg

Курси та події

Публікації

Відео