Alexander2k / selenium_stepik_review

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Финишная прямая: готовим код к ревью

Поздравляем, вы уже почти закончили свой финальный проект! В следующем шаге вы отправите его на оценку сокурсникам, а сейчас время немного причесать его и довести до совершенства. Следуйте этим советам, чтобы получить максимальные баллы:

  1. Убедитесь, что в репозитории есть все нужные файлы. Все файлы, где хранятся страницы, лежат в отдельной папке pages. В итоге структура файлов и папок должна выглядеть так:

Убедитесь, что ничего не потерялось. Обратите внимание обязательно на conftest.py.

  1. Проверьте requirements.txt и убедитесь что там указаны нужные версии пакетов, как минимум:

pytest==5.1.1 selenium==3.14.0

Желательно, чтобы там еще не было лишнего. Помните, что задание будут проверять ваши сокурсники, и им вряд ли понравится ставить огромную кучу пакетов.

  1. Проверьте, что все тесты, описанные в test_main_page.py и test_product_page.py запускаются и проходят (очевидно, за исключением тех, которые помечены как xfail/skip).

  2. Проверьте стиль кода. Представьте, что ваш код будет читать человек, который никогда не программировал и не автоматизировал тестирование — ему должно быть понятно, что происходит.

Убедитесь что все переменные, методы и классы, которые вы создаете, называются осмысленно.

Удалите весь ненужный закомментированный код, помним, что захламлять репозиторий лишним — плохой тон.

  1. Откройте test_product_page.py. Убедитесь, что там есть следующие тесты:

test_user_can_add_product_to_basket

test_guest_can_add_product_to_basket

test_guest_cant_see_product_in_basket_opened_from_product_page

test_guest_can_go_to_login_page_from_product_page

Отмаркируйте эти тесты меткой:

@pytest.mark.need_review

Не забудьте зарегистрировать метку, чтобы избежать предупреждений: Как же регистрировать метки?

Убедитесь, что при запуске с помощью следующей команды тесты запускаются и успешно проходят:

pytest -v --tb=line --language=en -m need_review

  1. Убедитесь, что все тесты написаны в стиле PageObject: нет assert в теле тестов, все методы действия и проверки выделены в отдельные методы в классах PageObject, все селекторы лежат в locators.py.

  2. Зафиксируйте все изменения коммитом. Не добавляйте локальные файлы окружения, файлы ide и прочие вспомогательные вещи в отслеживаемые. Нужен только код!

  3. Сделайте пуш изменений в свой репозиторий.

  4. Откройте репозиторий на GitHub и перепроверьте пункты 1, 2, 4, 5 и 6.

  5. Порадуйтесь за себя и переходите к следующему шагу.

About


Languages

Language:Python 100.0%