1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/TommyLemon-APIAuto

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

APIAuto: мощный и удобный инструмент для работы с HTTP-интерфейсами

APIAuto — это инструмент, который помогает быстро и легко работать с HTTP-интерфейсами. Он предлагает широкий спектр функций, включая машинное обучение, генерацию кода и статическую проверку, а также генерацию документации и всплывающие комментарии.

Инструмент объединяет в себе функции для документирования, тестирования, Mock, отладки и управления в одном удобном интерфейсе. Кроме того, он предоставляет ряд эффективных горячих клавиш для форматирования и комментирования кода.

В APIAuto реализованы все основные методы HTTP (GET, POST, PUT, PATCH, DELETE, HEAD) и различные типы контента. Инструмент подходит для работы как с RESTful, так и с другими типами API.

APIAuto активно используется в различных компаниях и организациях, таких как Tencent, Huawei, Industrial and Commercial Bank of China и других. Инструмент был представлен на нескольких технических конференциях и вебинарах.

Примечание: перевод выполнен автоматически, возможны неточности. Ещё можно посмотреть видео: APIAuto тестирование запроса стороннего HTTP API

https://www.bilibili.com/video/BV1JZ4y1d7c8

Быстрое начало работы

Этот проект представляет собой чистый статический SPA-сайт. После загрузки и распаковки исходного кода:

  • Можно использовать браузер для открытия index.html. Рекомендуется использовать Chrome или Firefox (Safari, Edge, IE могут иметь проблемы с совместимостью). Обратите внимание, что этот метод не отображает значки SVG.
  • Также можно использовать IntelliJ Webstorm, IntelliJ IDEA или Eclipse для открытия.
  • Или развернуть на сервере и использовать Nginx или Node в качестве обратного прокси, или поместить исходный код в каталог resources/static проекта SpringBoot.
  • Вы также можете напрямую посетить официальный веб-сайт http://apijson.cn/api или http://apijson.cn:8080.

Поместите базовый URL в поле ввода URL слева, например, http://localhost:8080, затем измените тип базы данных и схему базы данных в раскрывающемся меню настроек в правом верхнем углу.

В правом верхнем углу логин по умолчанию имеет имя пользователя 13000082001 и пароль 123456. В правом верхнем углу три метки являются тестовыми учётными записями по умолчанию. Нажмите «Войти» или «Выйти», а в левом нижнем углу — «Удалить», в правом нижнем углу — «Добавить».

Функции автоматического создания документации и автоматического управления тестовыми примерами требуют развёртывания бэкэнда APIJSON. Рекомендуется использовать APIJSONBoot серии один из демонстрационных проектов, см. https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server

Рекомендуется использовать встроенный APIAuto в APIJSONBoot-MultiDataSource, чтобы избежать следующих распространённых проблем 1, 3, 4.

Добавление тестовых примеров

Можно использовать следующие методы:

  1. Импорт одним щелчком мыши из Postman/Swagger/YApi/Rap и других инструментов/платформ интерфейса: нажмите кнопку входа в правом верхнем углу > нажмите кнопку настройки в правом верхнем углу > импортируйте сторонний документ (платформа URL) > если настройки по умолчанию не соответствуют вашим потребностям, вы можете изменить их во всплывающем окне > нажмите кнопку загрузки.
  2. Скопируйте и вставьте информацию о сетевом интерфейсе или Charles в поле ввода URL: https://github.com/TommyLemon/APIAuto#%E7%99%BE%E5%BA%A6%E6%90%9C%E7%8B%97%E6%8A%96%E9%9F%B3%E5%85%AC%E7%BD%91%E6%8E%A5%E5%8F%A3%E8%B0%83%E7%94%A8%E6%BC%94%E7%A4%BA
  3. Вызов /delegate для записи информации о методе, параметрах, заголовке, ответе и т. д.: https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server/APIJSONBoot-MultiDataSource#%E4%BB%A3%E7%90%86%E6%8E%A5%E5%8F%A3%E5%8F%8A%E5%BD%95%E5%88%B6%E6%B5%81%E9%87%8F
  4. Откройте ссылку для совместного использования, чтобы автоматически заполнить URL, параметры JSON, конфигурацию параметров запроса, настройки и т.д.: например: http://apijson.cn/api/?send=true&type=JSON&url=http%3A%2F%2Fapijson.cn%3A8080%2Fget&json={%22[]%22:{%22Comment%22:{},%22User%22:{%22id@%22:%22%2FComment%2FuserId%22}}}
  5. Введите URL, параметры JSON и заголовок вручную, а затем нажмите кнопку «Загрузить/Поделиться»: вы можете нажать кнопку «Поделиться», чтобы создать ссылку для обмена, и открыть её в браузере, чтобы заполнить автоматически. После выхода из системы вы можете установить используемый тип запроса, все типы PARAM, JSON, FORM, DATA, GRPC.

Бэкэнд безголовый режим возврата к тестированию

Jenkins, Blue Shield и другие CI/CD конвейеры не поддерживают тестирование с пользовательским интерфейсом, поэтому предоставляется этот режим. Через вызов HTTP API можно выполнять примеры использования и просматривать ход выполнения, что удобно для интеграции в конвейер CI/CD.

Изображения: image image

Настройка среды узла и инструмента управления пакетами npm

https://nodejs.org

Установка зависимостей

https://koajs.com

nvm install 7
npm i koa

Использование бэкэнд-HTTP-сервиса

Сначала запустите HTTP-сервис:

cd js
node server.js

Если при запуске возникает ошибка missing package xxx, это означает, что отсутствуют соответствующие зависимости, выполните шаги 2 для выполнения:

npm i xxx

Затем снова запустите HTTP-службу. Если запуск прошёл успешно, появится приглашение, нажмите на ссылку или скопируйте её в поле ввода браузера, чтобы открыть.

Если служба хостинга использует [APIJSONBoot-MultiDataSource] (https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server/APIJSONBoot-MultiDataSource) для развёртывания, после host в ссылке можно добавить /api, например http://localhost:3000/api/test/start. Через этот интерфейс можно ослабить ограничения на количество примеров использования, которые можно выполнить за один раз при выполнении запросов на переднем плане для получения списка примеров использования и конфигураций параметров.

Общие проблемы

На каждой кнопке/поле ввода и других компонентах пользовательского интерфейса этого веб-сайта есть комментарии или всплывающие документы с инструкциями по эксплуатации. Многие проблемы не требуют просмотра документов/видео, и ответы можно получить, просто попробовав. Методы развёртывания

Документ описывает методы развёртывания APIJSON на внутреннем сервере после создания. Также необходимо изменить адрес хостинга сервера.

2. Не создан документ

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

https://github.com/Tencent/APIJSON/issues/85

3. Нет доступа к хостингу сервера

Невозможно проксировать интерфейс, нельзя отобразить документ, невозможно исправить результаты утверждений и т.д.

https://github.com/TommyLemon/APIAuto/issues/12

4. Нет доступа apijson.cn

Адрес хостинга сервиса изменён на http://47.98.196.224:8080.

https://github.com/TommyLemon/APIAuto/issues/13

Дополнительные вопросы и ответы.

https://github.com/TommyLemon/APIAuto/issues

План развития

  1. Перевод документа на английский / итальянский / французский / испанский языки и т. д.
  2. Добавление функций:
    • кнопка для добавления утверждений результатов;
    • список в нижней правой части экрана, который отображает конкретные поля, вызывающие проблемы в утверждениях. При нажатии отображаются только значения соответствующих полей.
  3. Улучшение автоматического утверждения, поддержка большего количества форматов соответствия.
  4. Устранение ошибок.
  5. Повышение производительности.
  6. Другие дополнения.

Благодарность за открытый исходный код

  • jsonon
  • editor.md
  • vue.js

Техническое общение

О создателе:

https://github.com/TommyLemon

Если у вас есть какие-либо вопросы или предложения, вы можете создать задачу (issue) для обсуждения технических вопросов и обмена опытом. Если вы исправили некоторые ошибки или добавили новые функции, мы будем рады получить ваш вклад (pull request). Мы очень благодарны за вашу помощь.

Другие проекты:

  • APIJSON — библиотека ORM от Tencent с нулевым кодом, полной функциональностью и высокой безопасностью. Обеспечивает автоматическую генерацию кода для серверных интерфейсов и документов.
  • UnitAuto — платформа машинного обучения для автоматизации модульного тестирования.
  • SQLAuto — инструмент для автоматизации тестирования выполнения SQL-запросов.
  • UIGO — платформа для быстрой записи и воспроизведения пользовательского интерфейса.
  • apijson-doc — официальный документ APIJSON с удобным интерфейсом и содержанием.
  • APIJSONdocs — английский документ APIJSON.
  • apijson.org — официальный сайт APIJSON.
  • APIJSON.NET — версия APIJSON для C#.
  • apijson-go — версия APIJSON для Go.
  • apijson-hyperf — PHP-версия APIJSON, основанная на Hyperf.
  • APIJSON-php — PHP-версия APIJSON, основанная на ThinkPHP.
  • apijson-php — ещё одна PHP-версия APIJSON, также основанная на ThinkPHP.
  • apijson-node — Node.ts-версия APIJSON от инженеров ByteDance.
  • uliweb-apijson — Python-версия APIJSON.
  • apijson-practice — библиотека аннотаций для проверки параметров APIJSON и соответствующий демонстрационный проект.
  • Android-ZBLibrary — фреймворк для быстрого создания MVP-приложений для Android.

Продолжайте обновлять:

https://github.com/TommyLemon/APIAuto/commits/master

Я хочу выразить свою благодарность:

Tencent, China Post, ByteDance, Alibaba, Meituan, Baidu, JD.com, DiDi, Ping An, SHEIN, Kuaishou, Ctrip, Bilibili, VIVO и другим крупным компаниям и зарубежным NVIDIA, Amazon, SAP, ThoughtWorks, Red Hat и другим известным компаниям.

Спасибо всем, кто поддержал этот проект, поставив звёздочку ⭐.

  • Создание проекта — это непростая задача, а его поддержание ещё сложнее. Поставьте ⭐ этому проекту, чтобы поддержать его.

https://github.com/TommyLemon/APIAuto

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/TommyLemon-APIAuto.git
git@api.gitlife.ru:oschina-mirror/TommyLemon-APIAuto.git
oschina-mirror
TommyLemon-APIAuto
TommyLemon-APIAuto
master