Шаблон проектирования передовой практики для платформы автоматизации API

В нашем проекте нам нужно автоматизировать API-интерфейсы, написанные на Node.js, который использует GraphQL и REST, для этого нам нужно разработать API-интерфейс автоматизации, который должен поддерживать (синхронизация, асинхронные вызовы).

Есть ли какой-нибудь шаблон проектирования передовой практики для настройки платформы автоматизации API?


person irs102info    schedule 26.05.2017    source источник
comment
Что такое автоматизация API? Для тестирования? Для документации?   -  person borislemke    schedule 26.05.2017


Ответы (4)


Вы можете использовать Cucumber.js плюс один из популярных клиентских пакетов REST.

Cucumber.js - одна из платформ разработки, основанная на поведении, которая может сделать тестирование API читаемым и более управляемым. .

В следующей статье сравнивается несколько пакетов, которые можно использовать для автоматизации RESTful API.

5 способов выполнения HTTP-запросов в Node.js

Есть несколько примеров по тестированию API, а также по фреймворку Cucumber.js.

Кроме того, чтобы создать тестовый сценарий, рассмотрите возможность использования CukeTest вместе с Postman (что служит хорошей цели отладки)

person Lean Prop    schedule 01.03.2018

Если говорить строго, то только о шаблонах проектирования: вы можете использовать шаблон Builder и придерживаться принципа единой ответственности.

Лично в нашей организации мы используем структуру, управляемую RestAssured с подходом на основе шаблонов Builder.

В качестве примера структуры у нас есть объекты передачи данных для хранения запроса и ответа API. Затем у нас есть классы реализации, специально предназначенные для работы с API.

Если вы планируете использовать TestNG, как мы, тогда у вас может быть тестовый класс с отдельным DataProvider классом, который помогает с разделением кода и упрощением отладки.

person HellHammer    schedule 11.10.2018

Для тестирования интеграции GraphQL API я использовал graphql-tester.

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

  1. Если у вас есть собственный сервер API,
    a. Вызов API.
    b. Вы можете нажать на бэкэнд (БД) и проверить, что ожидаемые поля обновлены в БД.
    c. Проверьте ответы HTTP.

  2. Если вы написали оболочку для сторонних API, поймите ответ сторонних API и имитируйте их, используя имитирующие серверы / серверы JSON.

Для интеграционного тестирования (черный ящик) это не имеет значения для REST / GraphQL (все это HTTP-вызовы). Попробуйте выбрать язык, на котором вы можете получить всех клиентов (DB, HTTP и т. Д.).

Перед тем, как приступить к тестированию, подготовьте тестовый пример работоспособности, например, все службы должны быть запущены и работать.

person Anand Ganesh S S    schedule 14.08.2018

Вы можете использовать mocha.js. Согласно официальному сайту, «Mocha - это многофункциональная среда тестирования JavaScript, работающая на Node.js и в браузере, что делает асинхронное тестирование простым и увлекательным. Тесты Mocha запускаются последовательно, что позволяет создавать гибкие и точные отчеты, сопоставляя неперехваченные исключения с правильными. тестовые примеры. Размещены на GitHub ".

Почему вам следует выбрать именно его: Mocha может работать как на node.js, так и в браузере. По сравнению с другими средами тестирования javascript, такими как Jasmine, вы можете увидеть, что обработка асинхронного тестирования Mocha является ключевым фактором для его выбора. При тестировании API нам необходимо отправить некоторые данные в конечную точку и использовать полученные данные для вызова другой конечной точки. Например, нам нужно получить пользователя, а затем получить его идентификатор, чтобы получить все местоположения, принадлежащие этому пользователю.

Chai В отличие от Jasmine, для дополнения Mocha необходимо использовать дополнительную библиотеку утверждений. Chai - это библиотека утверждений, которая позволяет вам выбрать интерфейс утверждений, который вам больше всего нравится, включая «assert», «expect» и «should».

Почему вам следует выбрать его. Хотя Mocha можно использовать с любой библиотекой утверждений, а Chai можно использовать с любой платформой тестирования javascript, многие разработчики javascript предпочитают использовать их вместе. Мы можем использовать интерфейс Chai «expect» для связывания утверждений на естественном языке вместе, чтобы мы могли тщательно протестировать JSON, возвращаемый из конечных точек нашего API.

Ссылка: для получения дополнительной информации посмотреть

person Dhruv Choudhary    schedule 23.08.2018