В качестве тестового задания предлагаем тебе покрыть тестами наш сервис подписок, его исходный код доступен по ссылке: https://gitlab.monq.ru/p.alekseev/flask-app-example. Инструкция по локальному запуску сервиса доступна в репозитории. Авто-тесты должны покрывать как API так и UI. Будет оцениваться как набор тест-кейсов, так и качество кода, выбор и использование инструментов. В результате выполнения тестового задания отправьте нам ссылку на репозиторий(ии) с тестами.
- Платформа: Mac OS, Linux
- Docker - https://www.docker.com
- Python 3.8 - www.python.org/getit/
- Инструмент для работы с виртуальными окружениями virtualenv
pip install virtualenvgit clone https://github.com/arkuz/subscribe_tests
cd subscribe_tests
virtualenv env
env/bin/activate
pip3 install -r requirements.txtcurl -s https://aerokube.com/cm/bash | bash \
&& ./cm selenoid start --vnc && ./cm selenoid-ui startПанель управления будет доступна по ссылке http://localhost:8080/
При запуске тестов в контейнере Selenoid НЕ будет доступно тестовое приложение по адресу http://localhost:4000. Необходимо узнать IP адрес вашей физической машины и прописать его в config.yaml в site_url и api_url в тестах. Так же необходимо изменить IP адрес тестового сервиса как указано в README файле https://gitlab.monq.ru/p.alekseev/flask-app-example, а конкретно изменить файл docker-compose.yml. Добавить строку BACKEND_HOST.
app:
environment:
BACKEND_HOST: http://192.168.0.12:4000Чтобы узнать свой IP можно воспользоваться командой ifconfig в терминале.
Искать строку похожую на:
inet 192.168.0.12 netmask 0xffffff00 broadcast 192.168.0.255Ваш IP - 192.168.0.12
- Перед запуском тестов необходимо перейти в каталог проекта
subscribe_tests - В файле
config.yamlвbrowserможно вписать значенияChromeилиFirefox
Аргументы запуска:
- -s - показывать принты в процессе выпонения
- -v - verbose режим, чтобы видеть, какие тесты были запущены
py.test -s -v testspy.test -s -v tests/webpy.test -s -v -m positive tests/webpy.test -s -v tests/web/test_subscribe.pypy.test -s -v tests/web/test_subscribe.py::TestsMainpy.test -s -v tests/web/test_subscribe.py::TestsMain::test_check_subscribe_time- Видео запуска на локалном браузере - run_tests_.mp4
- Видео запуска в Selenoid - selenoid_run.mp4