Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/curiousdenis/docker_tests
Тестирование виджета (собес)
https://github.com/curiousdenis/docker_tests
docker interview-test oop-principles page-object-model playwright pytest python
Last synced: about 2 months ago
JSON representation
Тестирование виджета (собес)
- Host: GitHub
- URL: https://github.com/curiousdenis/docker_tests
- Owner: curiousdenis
- Created: 2024-12-13T07:10:24.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-12-23T03:23:52.000Z (about 2 months ago)
- Last Synced: 2024-12-23T03:24:11.741Z (about 2 months ago)
- Topics: docker, interview-test, oop-principles, page-object-model, playwright, pytest, python
- Language: Python
- Homepage: https://autofaq.ai/
- Size: 41.7 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Задание
https://docs.google.com/document/d/1GKvzuQcRVdCYVpS90vg_Oi2Syk-m1qkJmr8RpU4alIw/edit?tab=t.0## Что надо было сделать:
1. Написать checklist.txt
2. 5-7 авто тестов (Frontend, Backend):
- Frontend: Playwright
- Backend: no frameworks
4. Все тесты должны быть асинхронными - asyncio
5. Придерживаться паттерна Page Object, и принципам ООП
6. Тест должы быть упакованы в докер контейнер
- Результат работы контейнера : запуск тестов с отчетом в allure
- По упавшим отчетам: должен быть скриншот и видео (несколько отчетов должны намерено упасть)## Что было выполнено:
- [x] Написать checklist.txt (см. файл в репе)
- [x] 5-7 авто тестов
/tests.py
```
test_positive_user_first_attempt
test_positive_user_prompt
test_after_reload_test_not_disappear
test_widget_closing
test_buttons_to_be_clickable_that_will_fail
test_benchmark_for_menu
test_benchmark_for_price
```
- [ ] Тесты асинхронные
- [x] Придерживаться паттерна Page Object, и принципам ООП
- [ ] Тест должы быть упакованы в докер контейнер### test_positive_user_first_attempt
1. По клику на иконку открывается виджет
2. В форме юзер вводит свои (валидные) почту и имя
3. Нажимает на Отправить
4. Проверяется, что форма пропадает - появляется приветственный текст### test_positive_user_prompt
1. По клику на иконку открывается виджет
2. Пользователь вводет в промпт "Цены"
3. Проверяется, что пользователь получил ответ в течение 60 секунд
4. В диалоговом окне, проверяется статус у сообщений (положительный статус), дата отправки, имя, и наличие/отсутствие аватара (картинки)### test_after_reload_test_not_disappear
1. По клику на иконку открывается виджет
2. Пользователь вводит в промпт "Цены"
3. Проверяется, что пользователь получил ответ в течение 60 секунд
4. Перезагружаем страницу
5. По клику на иконку открывается виджет
6. После перезагрузки текст не пропал, ответ и текст пользователя остались на месте### test_widget_closing
1. По клику на иконку открывается виджет
2. При повторном нажатии на иконку, диалог закрывается
3. При повторном опять, открывается
4. При нажатии на крестик в виджете, то он закрывается### test_buttons_to_be_clickable_that_will_fail
1. По клику на иконку открывается виджет
2. Пользователь вводит в промпт "Меню"
3. Проверяется, что пользователь получил ответ в течение 60 секунд
4. Пользователь вводит в промпт "Меню"
5. Проверяется, что пользователь получил ответ в течение 60 секунд
6. Проверяется, что ссылки "не кликабельные" в 1ом сообщении (пункт 2)### test_benchmark_for_menu / test_benchmark_for_price
1. Предположим, что хотим узнать среднюю скорость ответов на основные запросы Меню и Цены
2. Создаем бэнчмарк, который расскажет нам среднюю скорость (медиану, мин, макс) с которой виджет выдаст ответ на данные запросы## Что помешало выполнить задание:
Недостаточно времени и в каких-то моментах компетенции## Как запустить автотесты через github
1. В репе = https://github.com/curiousdenis/docker_tests переходим в Actions -> Automated tests -> Run workflow
2. По окончания выполнения тестов -> Settings -> Pages -> По ссылке переходим на генерацию отчета в allure = https://curiousdenis.github.io/docker_tests/