Skip to content

hiatus1eternity/jsonplaceholder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

jsonplaceholder

Проект покрывает автотестами, написанными на pytest, свободно доступный сервис, предоставляющий фейковые данные через REST API - https://jsonplaceholder.typicode.com/

Все тесты располагаются в папке tests. Структура тестов повторяет структуру дерева проекта: отдельный файл создан для каждого отдельного раздела. Общие классы и методы вынесены в файл utils.py, а json схемы и глобальные переменные в файл globals.py

Для запуска тестов потребуется python3, а также пакеты из файла requirements.txt находящегося в корне проекта. Из корня потребуется дать команду pytest -v

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

============================= test session starts ============================== platform darwin -- Python 3.7.1, pytest-3.9.3, py-1.7.0, pluggy-0.8.0 -- rootdir: /Users/stanislav/PycharmProjects/tests/jsonplaceholder, inifile: collecting ... collected 145 items

tests/test_albums.py::test_albums_get PASSED [ 0%] tests/test_albums.py::test_albums_element_get[1] PASSED [ 1%] tests/test_albums.py::test_albums_element_get[34] PASSED [ 2%] tests/test_albums.py::test_albums_element_get[100] PASSED [ 2%] tests/test_albums.py::test_albums_phot_get[1] PASSED [ 3%] tests/test_albums.py::test_albums_phot_get[34] PASSED [ 4%] tests/test_albums.py::test_albums_phot_get[100] PASSED [ 4%] tests/test_albums.py::test_albums_user_get[1] PASSED [ 5%] tests/test_albums.py::test_albums_user_get[5] PASSED [ 6%] tests/test_albums.py::test_albums_user_get[10] PASSED [ 6%] tests/test_albums.py::test_albums_post[1] PASSED [ 7%] tests/test_albums.py::test_albums_post[5] PASSED [ 8%] tests/test_albums.py::test_albums_post[10] PASSED [ 8%] tests/test_albums.py::test_albums_put[1-1] PASSED [ 9%] tests/test_albums.py::test_albums_put[1-5] PASSED [ 10%] tests/test_albums.py::test_albums_put[1-10] PASSED [ 11%] tests/test_albums.py::test_albums_put[34-1] PASSED [ 11%] tests/test_albums.py::test_albums_put[34-5] PASSED [ 12%] tests/test_albums.py::test_albums_put[34-10] PASSED [ 13%] tests/test_albums.py::test_albums_put[100-1] PASSED [ 13%] tests/test_albums.py::test_albums_put[100-5] PASSED [ 14%] tests/test_albums.py::test_albums_put[100-10] PASSED [ 15%] tests/test_albums.py::test_albums_patch[1] PASSED [ 15%] tests/test_albums.py::test_albums_patch[34] PASSED [ 16%] tests/test_albums.py::test_albums_patch[100] PASSED [ 17%] tests/test_albums.py::test_albums_delete[1] PASSED [ 17%] tests/test_albums.py::test_albums_delete[34] PASSED [ 18%] tests/test_albums.py::test_albums_delete[100] PASSED [ 19%] tests/test_comments.py::test_comments_get PASSED [ 20%] tests/test_comments.py::test_comments_element_get[1] PASSED [ 20%] tests/test_comments.py::test_comments_element_get[316] PASSED [ 21%] tests/test_comments.py::test_comments_element_get[500] PASSED [ 22%] tests/test_comments.py::test_comments_postId_get[1] PASSED [ 22%] tests/test_comments.py::test_comments_postId_get[51] PASSED [ 23%] tests/test_comments.py::test_comments_postId_get[100] PASSED [ 24%] tests/test_comments.py::test_comments_post[1] PASSED [ 24%] tests/test_comments.py::test_comments_post[51] PASSED [ 25%] tests/test_comments.py::test_comments_post[100] PASSED [ 26%] tests/test_comments.py::test_comments_put[1-1] PASSED [ 26%] tests/test_comments.py::test_comments_put[1-51] PASSED [ 27%] tests/test_comments.py::test_comments_put[1-100] PASSED [ 28%] tests/test_comments.py::test_comments_put[316-1] PASSED [ 28%] tests/test_comments.py::test_comments_put[316-51] PASSED [ 29%] tests/test_comments.py::test_comments_put[316-100] PASSED [ 30%] tests/test_comments.py::test_comments_put[500-1] PASSED [ 31%] tests/test_comments.py::test_comments_put[500-51] PASSED [ 31%] tests/test_comments.py::test_comments_put[500-100] PASSED [ 32%] tests/test_comments.py::test_comments_patch[1] PASSED [ 33%] tests/test_comments.py::test_comments_patch[316] PASSED [ 33%] tests/test_comments.py::test_comments_patch[500] PASSED [ 34%] tests/test_comments.py::test_comments_delete[1] PASSED [ 35%] tests/test_comments.py::test_comments_delete[316] PASSED [ 35%] tests/test_comments.py::test_comments_delete[500] PASSED [ 36%] tests/test_photos.py::test_photos_get PASSED [ 37%] tests/test_photos.py::test_photos_element_get[1] PASSED [ 37%] tests/test_photos.py::test_photos_element_get[4108] PASSED [ 38%] tests/test_photos.py::test_photos_element_get[5000] PASSED [ 39%] tests/test_photos.py::test_photos_albumid_get[1] PASSED [ 40%] tests/test_photos.py::test_photos_albumid_get[7] PASSED [ 40%] tests/test_photos.py::test_photos_albumid_get[100] PASSED [ 41%] tests/test_photos.py::test_photos_post[1] PASSED [ 42%] tests/test_photos.py::test_photos_post[7] PASSED [ 42%] tests/test_photos.py::test_photos_post[100] PASSED [ 43%] tests/test_photos.py::test_photos_put[1-1] PASSED [ 44%] tests/test_photos.py::test_photos_put[1-7] PASSED [ 44%] tests/test_photos.py::test_photos_put[1-100] PASSED [ 45%] tests/test_photos.py::test_photos_put[4108-1] PASSED [ 46%] tests/test_photos.py::test_photos_put[4108-7] PASSED [ 46%] tests/test_photos.py::test_photos_put[4108-100] PASSED [ 47%] tests/test_photos.py::test_photos_put[5000-1] PASSED [ 48%] tests/test_photos.py::test_photos_put[5000-7] PASSED [ 48%] tests/test_photos.py::test_photos_put[5000-100] PASSED [ 49%] tests/test_photos.py::test_photos_patch[1] PASSED [ 50%] tests/test_photos.py::test_photos_patch[4108] PASSED [ 51%] tests/test_photos.py::test_photos_patch[5000] PASSED [ 51%] tests/test_photos.py::test_photos_delete[1] PASSED [ 52%] tests/test_photos.py::test_photos_delete[4108] PASSED [ 53%] tests/test_photos.py::test_photos_delete[5000] PASSED [ 53%] tests/test_posts.py::test_posts_get PASSED [ 54%] tests/test_posts.py::test_posts_element_get[1] PASSED [ 55%] tests/test_posts.py::test_posts_element_get[97] PASSED [ 55%] tests/test_posts.py::test_posts_element_get[100] PASSED [ 56%] tests/test_posts.py::test_posts_comm_get[1] PASSED [ 57%] tests/test_posts.py::test_posts_comm_get[97] PASSED [ 57%] tests/test_posts.py::test_posts_comm_get[100] PASSED [ 58%] tests/test_posts.py::test_posts_user_get[1] PASSED [ 59%] tests/test_posts.py::test_posts_user_get[2] PASSED [ 60%] tests/test_posts.py::test_posts_user_get[10] PASSED [ 60%] tests/test_posts.py::test_posts_post[1] PASSED [ 61%] tests/test_posts.py::test_posts_post[2] PASSED [ 62%] tests/test_posts.py::test_posts_post[10] PASSED [ 62%] tests/test_posts.py::test_posts_put[1-1] PASSED [ 63%] tests/test_posts.py::test_posts_put[1-2] PASSED [ 64%] tests/test_posts.py::test_posts_put[1-10] PASSED [ 64%] tests/test_posts.py::test_posts_put[97-1] PASSED [ 65%] tests/test_posts.py::test_posts_put[97-2] PASSED [ 66%] tests/test_posts.py::test_posts_put[97-10] PASSED [ 66%] tests/test_posts.py::test_posts_put[100-1] PASSED [ 67%] tests/test_posts.py::test_posts_put[100-2] PASSED [ 68%] tests/test_posts.py::test_posts_put[100-10] PASSED [ 68%] tests/test_posts.py::test_posts_patch[1] PASSED [ 69%] tests/test_posts.py::test_posts_patch[97] PASSED [ 70%] tests/test_posts.py::test_posts_patch[100] PASSED [ 71%] tests/test_posts.py::test_posts_delete[1] PASSED [ 71%] tests/test_posts.py::test_posts_delete[97] PASSED [ 72%] tests/test_posts.py::test_posts_delete[100] PASSED [ 73%] tests/test_todos.py::test_todos_get PASSED [ 73%] tests/test_todos.py::test_todos_element_get[1] PASSED [ 74%] tests/test_todos.py::test_todos_element_get[195] PASSED [ 75%] tests/test_todos.py::test_todos_element_get[200] PASSED [ 75%] tests/test_todos.py::test_todos_user_get[1] PASSED [ 76%] tests/test_todos.py::test_todos_user_get[5] PASSED [ 77%] tests/test_todos.py::test_todos_user_get[10] PASSED [ 77%] tests/test_todos.py::test_todos_post[1] PASSED [ 78%] tests/test_todos.py::test_todos_post[5] PASSED [ 79%] tests/test_todos.py::test_todos_post[10] PASSED [ 80%] tests/test_todos.py::test_todos_put[1-1] PASSED [ 80%] tests/test_todos.py::test_todos_put[1-5] PASSED [ 81%] tests/test_todos.py::test_todos_put[1-10] PASSED [ 82%] tests/test_todos.py::test_todos_put[195-1] PASSED [ 82%] tests/test_todos.py::test_todos_put[195-5] PASSED [ 83%] tests/test_todos.py::test_todos_put[195-10] PASSED [ 84%] tests/test_todos.py::test_todos_put[200-1] PASSED [ 84%] tests/test_todos.py::test_todos_put[200-5] PASSED [ 85%] tests/test_todos.py::test_todos_put[200-10] PASSED [ 86%] tests/test_todos.py::test_todos_patch[1] PASSED [ 86%] tests/test_todos.py::test_todos_patch[195] PASSED [ 87%] tests/test_todos.py::test_todos_patch[200] PASSED [ 88%] tests/test_todos.py::test_todos_delete[1] PASSED [ 88%] tests/test_todos.py::test_todos_delete[195] PASSED [ 89%] tests/test_todos.py::test_todos_delete[200] PASSED [ 90%] tests/test_users.py::test_users_get PASSED [ 91%] tests/test_users.py::test_users_element_get[1] PASSED [ 91%] tests/test_users.py::test_users_element_get[2] PASSED [ 92%] tests/test_users.py::test_users_element_get[10] PASSED [ 93%] tests/test_users.py::test_users_post PASSED [ 93%] tests/test_users.py::test_users_put[1] PASSED [ 94%] tests/test_users.py::test_users_put[2] PASSED [ 95%] tests/test_users.py::test_users_put[10] PASSED [ 95%] tests/test_users.py::test_users_patch[1] PASSED [ 96%] tests/test_users.py::test_users_patch[2] PASSED [ 97%] tests/test_users.py::test_users_patch[10] PASSED [ 97%] tests/test_users.py::test_users_delete[1] PASSED [ 98%] tests/test_users.py::test_users_delete[2] PASSED [ 99%] tests/test_users.py::test_users_delete[10] PASSED [100%]

========================= 145 passed in 66.76 seconds ==========================

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages