Runscope: удобный тул для тестирования API

в 12:30, , рубрики: api, mobile development, qa, runscope, Блог компании REDMADROBOT, инструменты тестирования, разработка, Тестирование веб-сервисов, Тестирование мобильных приложений, тестирование приложений

Runscope: удобный тул для тестирования API - 1
Back-end не всегда функционирует так идеально, как указано в API-спецификации. Например, кто-нибудь забывает внести обязательный параметр в JSON-строку выдачи или вместо «0» решает вписать null. Если такие данные проникают в мобильное приложение, последствия могут быть самые неприятные.
Сегодня я расскажу об инструменте, который используется для выявления таких случаев. Это Runscope.

Runscope: удобный тул для тестирования API - 2

Как это работает?

Runscope — сервис для автоматизированного тестирования API. С его помощью можно посылать запросы к серверу и проверять полученные ответы по заранее установленным критериям. Интерфейс Runscope интуитивно понятен, если у вас под рукой есть API-спецификации.

1. Создание запроса

Поддерживаются:

  • HTTP verb. Все необходимые методы (GET, HEAD, POST, PUT, PATCH, OPTIONS, DELETE)
  • Авторизация логином/паролем и OAuth
  • Изменение Header’ов
  • Querystring-параметры, которые сразу подставляются в URL
  • Обычные параметры, которые отправляются как body

Runscope: удобный тул для тестирования API - 3

2. Установка проверок

Для проверки ответов сервера используются Assertions (англ. – утверждения). К любой части ответа можно выставить проверку на свой вкус. К примеру, мы запрашиваем баланс пользователя, и нам нужно проверить вот такой ответ:

{
   "balance":150
}

В данной ситуации мы можем выставить следующий Assertion:
Runscope: удобный тул для тестирования API - 4

Assertions поддерживают множество сравнений. Вот некоторые из них:
Runscope: удобный тул для тестирования API - 5

3. Использование переменных

Если вам нужно использовать одинаковые данные в нескольких запросах подряд, вы можете создать переменные.

Переменные можно создать до выполнения теста:
Runscope: удобный тул для тестирования API - 6

Или во время выполнения теста можно взять часть ответа и использовать её в качестве переменной:
Runscope: удобный тул для тестирования API - 7

Созданные переменные появляются на вкладке Request в правом верхнем углу (см п.1 Создание запроса). Для того, чтобы они появились в вашем запросе, нужно просто на них кликнуть.

4. Использование скриптов

Скрипты используются далеко не в каждом запросе, но они дают невероятную гибкость тестированию. Скрипты пишутся на JavaScript. Основной инструмент — Chai Assertion Library.

Скрипты позволяют:
1. Изменять переменные после выполнения запроса
2. Выводить любую информацию в лог
3. Использовать функции всех сторонних библиотек, которые поддерживает Runscope

Пример скрипта, который используется в реальном тестировании:
Runscope: удобный тул для тестирования API - 8
variables.get(“token”) достает Runscope переменную, которая была создана на вкладке Variables.

В итоге в лог выводится следующая информация:
Runscope: удобный тул для тестирования API - 9

5. Просмотр ответов

После выполнения какого-либо теста Runscope позволяет посмотреть результат каждого запроса.
Runscope: удобный тул для тестирования API - 10

Важно!
Runscope не отображает ответы с размером более 1мб. Если вы хотите посмотреть картинку с помощью Runscope, то с этим возникнут проблемы.

После создания нескольких запросов мы получаем полноценный тест, который можно запустить большой зеленой кнопкой “Run Now”.
Runscope: удобный тул для тестирования API - 11

Что еще умеет Runscope?

1. Хорошо писать документацию.
2. Запускать тесты по расписанию.
3. Автоматически собирать performance-статистику всех тестов.
4. Отсылать уведомления о проведенных тестах на почту.
5. Присоединяться к стороннему сервису и пользоваться его дополнительными возможностями. К примеру, автоматически запускать тест после коммита в GitHub.
6. Запускать тесты из разных локаций. Runscope предоставляет несколько proxy-серверов, разбросанных по всему миру и проводит тесты с них.
7. Запускать тесты удаленно с помощью Trigger URL. По сути надо просто перейти по специальной URL с любого устройства, и тест начнется.
8. Сохранять результаты предыдущих тестов, если вы не хотите смотреть их прямо сейчас.

Самое главное

Ценовой политикой в Runscope определяется только количество пользователей на организацию и количество запросов в месяц. За превышение лимита запросов необходимо отдельно доплачивать (около 0.30 центов за 1000 запросов).
Но можно остаться и на бесплатном аккаунте.

Итоги

Runscope активно развивается и часто выкатывает новые фичи. Сервис предельно простой, и в этой статье описана далеко не вся его функциональность. У нас в Redmadrobot с ним работают не только QA, но также разработчики и бизнес-аналитики. Сейчас мы используем Runscope для тестирования новых и старых API, для просмотра JSON-строк в удобном формате и для сбора логов по разным аккаунтам.

Для перехвата выдачи сервера на конкретном устройстве мы используем Charles, но об этом как-нибудь потом.

Автор: yaryabu

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js