Легко протестируйте свои API с помощью модуля Python PyHTTPTest

  • 31 октября, 14:49
  • 1481
  • 0

Я много часов писал сценарии Python для ручного тестирования, чтобы иметь возможность протестировать продукт, включающий множество микросервисов. Все они следуют соглашениям REST. Перегруженный слишком большим количеством скриптов, каждый из которых тестирует разные конечные точки, как они реагируют и что они отвечают, я решил создать пакет Python, чтобы не создавать скрипт вручную. Чтобы импортировать библиотеки для отправки HTTP-запроса скопируйте и вставьте код из других сценариев для быстрого тестирования новых конечных точек и т. д.

Папам -  Pyhttptest !

pyhttptest - инструмент командной строки для HTTP-тестов через веб-сервер, элегантно решающий проблему за три простых шага.

1. Установите пакет

pip install pyhttptest

2. Опишите ваши тестовые примеры HTTP-запросов для вашего сервиса в простейшем и широко используемом формате JSON в файле.

  1. Чтобы отправить HTTP-запрос GET:

Создайте файл JSON, например,  data / GET_USERS.json

{
  "name": "TEST: Github Page",
  "verb": "GET",
  "endpoint": "/",
  "host": "https://github.com",
  "headers": {
    "Accept-Language": "en-US"
  }
}

  1. Чтобы отправить HTTP-запрос POST:

Создайте файл JSON, например, data / POST_BIN.json

{
  "name": "TEST: Create an HTML bin",
  "verb": "POST",
  "endpoint": "post",
  "host": "https://httpbin.org",
  "payload": {
    "content": "Hello, world!"
  }
}

Свойства, которые вы можете передать в .json файл:

  • name - название вашего теста, например,  «Получить всех пользователей».
  • verb  - метод HTTP, например,  "GET", "POST" . В настоящий момент поддерживаются только «GET» и «POST».
  • endpoint - ресурс, который вы хотите вызвать на вашем сервере, например  "/ users".
  • host - идентификатор вашего сервера, например,  « http: // localhost: 8008 », « https://github.com »  и т. д.
  • headers  - HTTP-заголовки. 
  • query_string - передать параметры строки запроса в URL после вопросительного знака, например,  http://example.com/test ? имя = pyhttptest
  • payload  - данные.

ПРИМЕЧАНИЕ. Существуют обязательные и дополнительные свойства для .json.

Обязательные свойства:

  • name
  • verb
  • endpoint
  • host

Дополнительные свойства:

  • headers
  • payload
  • query_string

3. Запустите команду и получите отчет

pyhttptest execute data/GET_USERS.json 

Это оно!

В настоящее время пакет находится в бета-версии, он может содержать ошибки.

Перевод


0 комментариев
Сортировка:
Добавить комментарий