This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
courses:testing:selenium [2021/12/07 17:30] kalishenko |
courses:testing:selenium [2023/06/01 22:10] (current) kalishenko |
||
---|---|---|---|
Line 2: | Line 2: | ||
> //Инструмент:// Selenuim | > //Инструмент:// Selenuim | ||
- | - Выбрать один сайт для тестирования и "застолбить" его в Google-таблице, имеющейся в Moodle курса: | + | - В задании по написанию [[courses:testing:test_case|test-case]] вы написали для тестировщика-автоматизатора 3 сценария, которые он должен запрограммировать. Тестировщик-автоматизатор - вы |
- | * Сайт должен иметь повторяемость с точки зрения тестирования (то есть не обфусцирован случайными методами, меняющимися от раза к разу, или подобным случайным интерфейсом) | + | - Склонировать репозиторий через github-classroom, имеющийся в Moodle курса (репозиторий новый, так как по сравнению с прошлым налажен CI) |
- | * Всё, что необходимо для тестирования должно находиться в коде тестов (в том числе, возможно, авторизационные данные тестового пользователя, если выбран сайт с авторизацией) | + | - Создать новую ветку //selenium// от главной |
- | - Склонировать репозиторий через github-classroom, имеющийся в Moodle курса | + | - Требуется реализовать автоматизированное тестирования описанных сценариев на Python / Selenium: |
- | - Создать в репозитории ветку //selenium-test// и дальнейшую работу вести в ней | + | * Средства непрерывной интеграции рассчитаны на наличие драйверов chrome и firefox |
- | - Написать минимум один позитивный тестовый сценарий, характерный для выбранного ресурса (например, авторизация - это общая функуциональность, характерная для большей части ресурсов, она не специфична), в ReadMe в синтаксисе MD. Из сценария должно быть видно: | + | * Проверки должны выполняться средствами PyTest, базовый (идеологически, на unittest) пример можно посмотреть в [[https://github.com/gunesmes/page-object-python-selenium|этом]] репозитории. Атоматический запуск должен осуществляться стандартной командой //"pytest main.py"// |
- | * Какие функции и в какой последовательности проверяются | + | * Имя основного файла - //main.py// |
- | * Что проверяется в функциях (например, при работе удаления проверяется, что количество элементов уменьшилось) | + | * Желательно выделить 3 отдельных файла для тестовых сценариев и подключать их в основной |
- | * Для отбраковки тривиальных сценариев, следующие количественные ограничения: | + | * С целью корректного формирования окружения, на которое вы рассчитываете, необходимо иметь файл с python-зависимости в стандартном виде //requirements.txt// |
- | - Не менее активных 3 элементов задействовано | + | * Рекомендуется использовать такой подход, как Page Object Model при разработке тестов |
- | - Не менее 2 полей ввода заполнено | + | |
- | * В качестве примера сценариев можно руководствоваться [[:courses:testing:materials:start|материалами курса]] | + | |
- | - При неуверенности в адекватности, корректности или достаточности сценария - можно сделать Pull Request с пометкой "Work In Progress", назначив его на //kel-testing-course// и дождаться его одобрения с учётом предложений / замечаний | + | |
- | - Реализовать автоматизированное тестирования описанного сценария на Python / Selenium: | + | |
- | * Скрипт тестирования должен принимать параметр "driver", считываемый стандартными средствами работы с командной строкой в Python | + | |
- | * По умолчанию значение параметра "driver" должно быть выставлено в то, с которым производилась отладка болльшую часть времени | + | |
- | * Проверки должны выполняться средствами PyTest, базовый пример можно посмотреть в [[https://github.com/gunesmes/page-object-python-selenium|этом]] репозитории | + | |
- Выложить код тестов в репозиторий | - Выложить код тестов в репозиторий | ||
- По завершении тестов сделать Pull Request, назначив его на //kel-testing-course// | - По завершении тестов сделать Pull Request, назначив его на //kel-testing-course// |