Skip to content

LightLisA/Habr_PlayWright_CI

Repository files navigation

Инструкция запуска тестов:

Локально:

  1. Стянуть репу
  2. Подтянуть зависимости: python3 -m pip install -r requirements.txt
  3. После установки зависимостей прописать: playwright install
  4. Создать файл .env в корневой директории и добавить значения переменным: ENV=prod, AUTH_LOGIN = standard_user, AUTH_PASSWORD = secret_sauce (Актуально если нету файла .env)
  5. Запустить тесты командой: pytest (по умолчанию тесты запустятся в Chrome). Для запуска только одной группы тестов использовать модуль -m:
    • Регресс: pytest -m regression
    • Smoke: pytest -m smoke
    • Запуск отдельных тестов: нужно перейти в папку tests командой cd tests и запустить нужный тест командой pytest -s test_buy_product.py (пример)

  • conftest.py – дозволяє керувати фікстурами.
  • README.md – дозволяє додати опис нашого проекту.
  • .gitignore - в ньому вказуються файли та каталоги, які Git ігноруватиме при пуші в master. Це допоможе не засмічувати наш проект тимчасовими та непотрібними файлами.
  • pytest.ini - конфігураційний файл. Я використовую його для визначення маркерів користувача і інтеграції з плагінами і розширеннями. (За допомогою маркерів зручно розділяти автотести, наприклад, на smoke та регресійні – залежно від ситуації будуть проганятися потрібні нам тести).

  • Locators - тут будуть локатори для різних сторінок.
  • data - тут зберігатимуться оточення, константи, асерти.
  • fixtures - тут розташовуватимуться модулі з фікстурами Pytest.
  • pages - тут зберігатимуться файли з методами взаємодії з елементами веб-сторінки.
  • tests - тут будуть автотести.

Cтараюсь следовать следующему приоритету локаторов:

  • На первом месте — Data attributes.
  • На втором — CSS-селекторы.
  • На третьем — XPath (использую при более сложных сценариях поиска, как один из примеров — если хочу привязаться к какому-то элементу по тексту).



About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published