GraphQL API - какой-нибудь инструмент автоматизации для его тестирования?

Я хочу протестировать GraphQL API. На данный момент я использую GraphiQL, но ищу любой автоматизированный инструмент ... Похоже, что SOAPUI не поддерживает тестирование GraphQL.

Любые идеи?

Спасибо.

У моей команды тоже было подобное требование, мы написали наш собственный инструмент на основе cucumber-jvm, и у нас есть открытый исходный код, чтобы помочь другим, мы включили тестирование graphql в последнюю версию. если вы все еще ищете, посмотрите github.com/JakimLi/pandaria

Jakim 11.05.2019 09:44

Postman выпустил поддержку GraphQL на своем канареечном канале - getpostman.com/downloads/canary

Sivcan Singh 29.05.2019 07:52
Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание API-ресурса Laravel может быть непростой задачей. Она требует глубокого понимания возможностей Laravel и лучших практик, чтобы обеспечить...
Как создать простое погодное приложение на Python с API OpenWeatherMap
Как создать простое погодное приложение на Python с API OpenWeatherMap
Этот учебник проведет вас через процесс создания простого погодного приложения с помощью Python и OpenWeatherMap API.
Пакеты Java
Пакеты Java
Пакет java - это группа классов, интерфейсов и подпакетов схожего типа. Думайте об этом как о папке в каталоге файлов. Мы используем пакеты, чтобы...
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
В этом руководстве вы узнаете, как использовать API парсинга квитанций за 5 минут с помощью JavaScript. Eden AI предоставляет простой и удобный для...
5
2
8 150
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Что конкретно вы хотите протестировать?

У нас есть ряд автоматических тестов для проверки работоспособности, которые мы запускаем при каждой сборке:

  1. Схема действительна (согласно graphql-js)? Это может быть удивительно легко испортить, если ваша реализация позволяет, например, несколько определений одного и того же типа или любое другое количество тонких ошибок.

  2. Это критическое изменение схемы? Если это так, прервите сборку, если нет специального сообщения git commit, подтверждающего и принимающего его. С graphql-js это довольно просто - запустить запрос самоанализа для текущего производства, запустить его для текущей сборки и использовать встроенную функцию findBreakingChanges.

Обратите внимание, что тесты graphql-js не означают, что ваш сервер должен быть написан на JS - наш написан на ReasonML с использованием ocaml-graphql-сервер, а затем при сборке мы используем набор тестов узла, чтобы поразить его, как это сделал бы любой другой клиент.

Наконец, помимо этого, у нас есть несколько тестов, которые запускают запросы / мутации для сквозного тестирования сервера API. В целом, до сих пор это было довольно устойчиво к регрессу.

И имейте в виду, что вы можете просто подключиться к серверу GraphQL с помощью любого http-клиента, в вашем наборе тестов нет имеют для поддержки GraphQL. Я бы порекомендовал этот маршрут помимо проверок работоспособности, о которых я упоминал выше.

Спасибо за ответ, но я спрашиваю об инструментах автоматизации для тестирования ответа сервера на запрос GraphQL.

Eden G. 25.11.2018 13:07
Ответ принят как подходящий

У вас в основном есть несколько вариантов, которые я видел:

  1. Платформа Apollo GraphQL. Он предоставляет вам полноценную телеметрию на ваших индивидуальных преобразователях и может интегрироваться с VS Code, чтобы ваши разработчики знали, насколько дорого обходится их запрос в режиме реального времени. Но ты за это заплатишь.

  2. Инструмент наблюдения, такой как Медовая расческа или DataDog, тоже платный.

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

Я использую SoapUI 5.4.0 (версия сообщества), и у меня нет проблем с тестированием запросов GraphQL. Считайте их запросом на отдых и добавляйте заголовок, например Тип содержимого: приложение / graphql

см. изображение для всех деталей.

SoapUI GraphQL example

Это работает только в том случае, если сторона сервера принимает application / graphql. Многие серверы, как правило, остаются стандартными и принимают формат json.

Payam 30.07.2020 21:45

Karate - единственный инструмент с открытым исходным кодом, который объединяет автоматизацию тестирования API, имитацию и тестирование производительности в единую унифицированную структуру.

https://github.com/intuit/karate

Для автоматизированного тестирования есть https://github.com/ohler55/graphql-test-tool/gtt. Он написан на go, но как отдельное приложение его можно использовать с любым сервером GraphQL. Мы используем его для модульного тестирования и CI.

Другие вопросы по теме