Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

выбор фреймворка для тестирования API (python)

framework
python
Теги: #<Tag:0x00007f7b70570ab0> #<Tag:0x00007f7b70570970>

#1

Подскажите фреймворк для тестирования REST API на python.
Или лучше свой написать ?
Проект новый. Все нюансы пока неизвестны.


(Stan) #2

По сути для тестирования REST не нужно ничего специфического. Если не хочется писать руками реквесты - возьмите одну из кучи http request модулей, хотя http://docs.python-requests.org/en/latest/ и так проще некуда. Если хочется иметь ассерты и всякие тестовые фичи, типа before/after - https://docs.python.org/2/library/unittest.html или pytest. Если не хочется вообще писать код - что-то вроде https://github.com/svanoort/pyresttest.
Можете заглянуть в https://github.com/atinfo/awesome-test-automation/blob/master/python-test-automation.md


(Владимир Керимов) #3

http://robotframework.org/ - Robot Framework, очень гибкий и удобный инструмент. Для разработки можно использовать RIDE (удобная IDE для разработки тестов, поддерживает автозавершение кода и тп) - https://github.com/robotframework/RIDE/wiki
Из библиотек - requests, как уже отмечалось выше и requstslibrary


#4

когда то пробовал писать на нем десктоп тесты. (Robot Framework)
По факту достаточно просто использовать чистый пайтон + request + unittest or pytest .?


(Viktor) #5

Использовать - удобно(проганять). Репортинг/логгинг нам нужен специфический - есть отдельный пакет под это. Robot это в целом решение для keyword-driven, а не для интерфейсной части.
Что Вы хотите получить от фреймворка? Полагаю, раз проект новый - быстрый результат. Если нет заморочек с видом репортов(заказчик/интерфейс для интеграции) или тестов(опять же заказчик / квалификация в команде) - то можно брать решение попроще - сэкономите время на начальной настройке и избежите сложных решений на дизайн тест системы. Если есть время на инвестигейшн, попробуйте сделать один-два теста в разных инструментах и оценить плюсы/минусы.