Skip to content

Проект по автоматизации тестирования интернет-магазина: Яндекс.Маркет.

Notifications You must be signed in to change notification settings

UnbrkUnchn/QA-SeleniumProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект автоматизации тестирования интернет-магазина: Яндекс.Маркет

Цель:

Провести функциональное тестирование полного "user case story" маршрута: Авторизация и прохождение всего бизнес пути интернет-магазина на примере покупки товара с установленными фильтровыми значениями.

Общее Описание проекта:

Проект по Автоматизации Тестирования выполнен на языке Python 3.10.6 3.11 на системе Linux Ubuntu 22.04.1 LTS 23.04 в интегрированной среде разработки PyCharm 2022.2.3 2023.2.4 (Community Edition), на Google Chrome Версия 106.0.5249.119 119.0.6045.123 (Официальная сборка), (64 бит), 9 января 2023 года (Проект обновлён 19 ноября 2023 года).

Частное Описание проекта:

Проект построен по модели POM (Page Object Model), что позволяет в дальнейшем использовать его как базис для построения новых тестов, также позволяет комфортно его понимать и использовать, плюс возможно интегрировать с CI/CD. Репозиторий содержит следующие директории и файлы:

  • Директории:
    • allure-pytest - содержит файлы отчётов allure-pytest.
    • base - содержит различные базовые методы:
      • получение текущего URL: get_current_url,
      • валидация по URL: assert_url,
      • валидация по строчному значению: assert_word,
      • создания скриншотов окна браузера: get_screenshot.
    • logs - место хранения текстовых логов прохождения тестов,
    • pages - хранит POM классы страниц c используемыми на странице:
      • Selectors - в проекте использую CSS_SELECTOR's (Locators),
      • Getters - методы, позволяющие получить доступ к Selectors и обращаться к нему с помощью Methods,
      • Methods - действия, которые нужно выполнить с Getters,
      • Actions - действия непосредственно выполняемые в тесте test_.py.
    • screen - создаваемые скриншоты, методом get_screenshot,
    • tests - хранит тест или группу тестов в пределах одного или нескольких файла(-ов). Содержит в себе методы непосредственно выполняющие тестирование.
    • utilities - содержит код с помощью которого производится логгирование действий и записываются логи теста(-ов),
    • resources - содержит chromedriver для работы Selenium с Google Chrome (Удалено по причине отсутствия необходимости локального хранения chromedriver с момента выпуска Google Chrome 115+ версии).
  • Файлы:
    • conftest.py - содержит параметры pytest для запуска параметризированных теста(-ов),
    • requirements.txt - содержит наименования необходимых плагинов, библиотек и их версий для корректной работы проекта (pytest, allure, selenium и прочие),
    • .gitignore - содержит исключения для директорий и файлов при работы с Git,
    • README.md - содержит описание данного проекта.

Шаги теста - test_.py:

1. Тестирование Авторизации на Веб-сайте:
  • Введение логина и пароля,
  • Нажатие на кнопку "Вход",
  • Подтверждение входа с помощью короткого кода, приходящего на номер телефона, привязанного к электронной почте,
  • Проверка подтверждения входа в аккаунт, с помощью assert_word сравнения по ключевой фразе в футере сайта.
2. Выбор продукта и прохождение всего бизнес пути (Выбор продукта - Добавление в Корзину - Покупка):
  • Переход на страницу "Каталога",
  • Выбор категории искомого продукта: "Ноутбуки и Персональные Компьютеры" -> "Ноутбуки",
  • Переход на страницу "Фильтров" категории "Ноутбуки",
  • Выборка некоторых фильтров, указанным для данного типа продукта,
  • Выбор товара в соответствии с введёнными значениями фильтров и добавление его в "Корзину",
  • Нажатие на кнопку "Корзина",
  • Создание Скриншота Страницы "Корзины" с нашим товаром,
  • (Условно)Успешное завершение теста*.
3. В тесте имеется собственная система логгирования и подключен allure-pytest для вывода отчётов и удобства для работы с итоговыми результатами.

Примечание: Так как автотест написан любительским образом для самообучения и демонстрации своих навыков работодателю, такие моменты веб-сайтов, как "Captcha" или "двух-факторная аутентификация", приходится проходить вручную, ибо я не имею доступа к тестовой среде площадки Яндекс.Маркета. Также, я не имею различных входных данных тестовых сценариев, данных тестового счёта и данных о клиенте. Поэтому некоторые этапы прохождения тестирования мне пришлось опустить, например вышеупомянутая: "Оплата Товара"

Конарев Илья

About

Проект по автоматизации тестирования интернет-магазина: Яндекс.Маркет.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages