Выбрать инструмент для автоматизации тестирования Выше я уже писала, что API-интерфейсы GraphQL вызываются так же, как REST, но вам надо передать query или mutation как тела запроса POST. Так что подходящих инструментов довольно много и вы можете выбрать любой на свой вкус.
В нашем проекте мы выбирали из инструментов для Java. Пробовали такие варианты, как
Karate и
Rest Assured.
Оба эти варианта можно использовать для тестирования GraphQL API, ниже немного расскажу о них.
Karate.
Karate - это легкий в освоении и удобный в использовании фреймворк, использующий синтаксис BDD. Отлично подходит для тестирования GraphQL API, поскольку у него есть такие возможности, как встроенный
text-manipulation и
JsonPath.
Пример:
Feature: get user name Background: * url '
https://testapi.com/graphql' Scenario: graphql get user Given path '/' Given text query = """ query { user{ id, name } } """ And request {query: #(query)} When method POST Then match response == "#object" Then match response.data.user[0].name == "Test User"