184

     # UI | 10 | Playwright: Как правильно написать автотест

Вопрос является слишком широким и на него нет простого ответа.

Правильно с какой-точки зрения?

  • автотест пишется под какую-либоу задачу
    • учесть, что нужно проверять в рамках этой задачи
    • автотест должен кем-то, как-то, когда-то использоваться
      • как / кем / когда он будет запускаться
      • что должно произойти по завершении теста (техническая реализация)
      • кем / как / когда будут контролироваться результаты (на какие процессы завязан)
      • дле чего он запускается и какие действия в зависимости от результатов планируются
  • "правильная" структура автотеста
    • очевидность структуры и читаемость кода
    • легкость внесения изменений / поддержки / расширения новыми сценариями
      • нет повторения кода (DRY-принцип)
        • способ работы с локаторами
          • локаторы не дублируются
          • отдельное хранение локаторов
        • способ работы с методами
          • возможности оркестрирования (включение, отключение отдельных тест-кейсов)
          • вынесение однотипных сценариев по работе с элементами в отдельную функцию

Говоря о "правильной" структуре, уже давно были придуманы шаблоны (паттерны) написания тестов, учитывающие определённые грабли, напр.:

  • паттерн "Декоратор"
  • паттерн "Page Object"
  • паттерн "Фабрика"

В следующей главе как раз рассматривается паттерн Page Object.