Я хочу протестировать GraphQL API. На данный момент я использую GraphiQL, но ищу любой автоматизированный инструмент ... Похоже, что SOAPUI не поддерживает тестирование GraphQL.
Любые идеи?
Спасибо.
Postman выпустил поддержку GraphQL на своем канареечном канале - getpostman.com/downloads/canary





Что конкретно вы хотите протестировать?
У нас есть ряд автоматических тестов для проверки работоспособности, которые мы запускаем при каждой сборке:
Схема действительна (согласно graphql-js)? Это может быть удивительно легко испортить, если ваша реализация позволяет, например, несколько определений одного и того же типа или любое другое количество тонких ошибок.
Это критическое изменение схемы? Если это так, прервите сборку, если нет специального сообщения git commit, подтверждающего и принимающего его. С graphql-js это довольно просто - запустить запрос самоанализа для текущего производства, запустить его для текущей сборки и использовать встроенную функцию findBreakingChanges.
Обратите внимание, что тесты graphql-js не означают, что ваш сервер должен быть написан на JS - наш написан на ReasonML с использованием ocaml-graphql-сервер, а затем при сборке мы используем набор тестов узла, чтобы поразить его, как это сделал бы любой другой клиент.
Наконец, помимо этого, у нас есть несколько тестов, которые запускают запросы / мутации для сквозного тестирования сервера API. В целом, до сих пор это было довольно устойчиво к регрессу.
И имейте в виду, что вы можете просто подключиться к серверу GraphQL с помощью любого http-клиента, в вашем наборе тестов нет имеют для поддержки GraphQL. Я бы порекомендовал этот маршрут помимо проверок работоспособности, о которых я упоминал выше.
Спасибо за ответ, но я спрашиваю об инструментах автоматизации для тестирования ответа сервера на запрос GraphQL.
У вас в основном есть несколько вариантов, которые я видел:
Платформа Apollo GraphQL. Он предоставляет вам полноценную телеметрию на ваших индивидуальных преобразователях и может интегрироваться с VS Code, чтобы ваши разработчики знали, насколько дорого обходится их запрос в режиме реального времени. Но ты за это заплатишь.
Инструмент наблюдения, такой как Медовая расческа или DataDog, тоже платный.
Напишите свой. Для достаточно простого случая использования это может иметь смысл, но если вы ищете богатый набор функций, вероятно, имеет смысл покупать, а не создавать.
Я использую SoapUI 5.4.0 (версия сообщества), и у меня нет проблем с тестированием запросов GraphQL. Считайте их запросом на отдых и добавляйте заголовок, например Тип содержимого: приложение / graphql
см. изображение для всех деталей.

Это работает только в том случае, если сторона сервера принимает application / graphql. Многие серверы, как правило, остаются стандартными и принимают формат json.
Karate - единственный инструмент с открытым исходным кодом, который объединяет автоматизацию тестирования API, имитацию и тестирование производительности в единую унифицированную структуру.
Для автоматизированного тестирования есть https://github.com/ohler55/graphql-test-tool/gtt. Он написан на go, но как отдельное приложение его можно использовать с любым сервером GraphQL. Мы используем его для модульного тестирования и CI.
У моей команды тоже было подобное требование, мы написали наш собственный инструмент на основе cucumber-jvm, и у нас есть открытый исходный код, чтобы помочь другим, мы включили тестирование graphql в последнюю версию. если вы все еще ищете, посмотрите github.com/JakimLi/pandaria