Дмитрий Пронин – Python для веба

1,037 views
980 views

Published on

В докладе мы рассмотрим на примере работы с RESTful интерфейсом сервиса через Json, как написать автоматизированное тестирование с нуля. Особое внимание уделим настройке системных и юнит-тестов и постановке системы CI.

Published in: Internet
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,037
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
14
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Дмитрий Пронин – Python для веба

  1. 1. Python for WEB with unit and system tests
  2. 2. Используемые технологии ● Python ● Flask ● JSON ● Jenkins CI ● *nix ● MongoDB ● cURL ● PyCharm IDE ● AngularJS
  3. 3. План ● Зачем нужно автоматическое тестирование ● Как написать автотесты на Python ● Проверка работы всей системы
  4. 4. Зачем нужно автоматическое тестирование ? Малый проект Большой проект Код проекта Время тестирования
  5. 5. Что хотим получить Product API CI server Unit tests System testscommit DB DB
  6. 6. Json { "response": { "audio": { "aid": "132924633", "artist": "Simon and Garfunkel", "duration": "189", "lyrics_id": "7396635", "owner_id": "189814", "title": "The Sounds of Silence (original)", "url": "http://cs4376.vkontakte.ru/u3141879/audio/2153ed0466be.mp3" }, "text": "Simon and Garfunkel – The Sounds of Silence (original)" } } http://vk.com/pages?oid=-1&p=status.get
  7. 7. API http://en.wikipedia.org/wiki/Application_programming_interface http://apievangelist.com/
  8. 8. Разработка API /position ● post (lat, lon) - создаем запись ● get (limit=10) - получаем список записей ● delete (id) - удаляем одну или весь список записей { "_id" : ObjectId("5351349a5c77020f9be5da0f"), "lat" : "56.327358", "long" : "43.985191" }
  9. 9. Ручное тестирование с cURL POST curl -X POST -H "Content-Type: application/json" -d '{"lat": "56.327358", "lon":"43.985191"}' 127.0.0.1:5000/position GET curl -X GET 127.0.0.1:5000/position curl -X GET 127.0.0.1:5000/position?limit=2 DELETE curl -X DELETE 127.0.0.1:5000/position curl -X DELETE 127.0.0.1:5000/position?id=5352f2d95c770219cf11ea13 postman!
  10. 10. Написание Unit тестов
  11. 11. Написание System тестов
  12. 12. Настройка системы непрерывной интеграции
  13. 13. Просмотр работы тестов
  14. 14. Верификация работы тестов
  15. 15. Подготовка данных для работы
  16. 16. Вопросы?
  17. 17. Ресурсы GitHub project https://github.com/heiscoming/python_web_tests Контакты dpronin@yandex.ru
  18. 18. Спасибо

×