TommyLemon / APIAuto

☔ 敏捷开发最强大易用的接口工具,机器学习零代码测试、生成代码与静态检查、生成文档与光标悬浮注释,腾讯、华为、SHEIN、传音、工行等使用 ☔ The most advanced tool for HTTP API. Testing with machine learning, generating codes and static analysis, generating comments and floating hints. Used by Tencent, Huawei, SHEIN, TRANSSION, ICBC, etc.
http://apijson.cn/api
Apache License 2.0
1.96k stars 247 forks source link
api api-testing apijson apitesting automated-testing autotesting document-database documentation-tool grpc headless http http-api http-client http-request http-tool javascript test-automation testing testing-tools vuejs2

APIAuto

☔ HTTP 接口 机器学习零代码测试 和 一站式智能开发管理 工具

快速上手 视频教程 在线体验


敏捷开发最强大易用的 HTTP 接口工具,机器学习零代码测试、生成代码与静态检查、生成文档与光标悬浮注释。
集 文档、测试、Mock、调试、管理 于一体的一站式体验,还有一键 格式化、注释/取消注释 等高效易用的快捷键。
在常用功能上远超 Postman, Swagger, YApi 等各种 开源、商业 的 API 文档/测试 工具,并能一键导入用例和文档。
支持 GET, POST, PUT, PATCH, DELETE, HEAD 等各种 HTTP Method 及 Content-Type, URL /{Path}/{Variable}。
不仅适用于 RESTful、类 RESTful、GRPC 的 API,还是腾讯 APIJSON 官方建议的文档与测试工具。
腾讯内部用户包括 IEG 互动娱乐事业群、TEG 技术工程事业群、CSIG 云与智慧事业群 的多个部门及团队,
外部用户包含 华为、工商银行某地分行、500 强上市公司传音、跨境电商巨头 SHEIN、行业领头羊社保科技 等。

腾讯 AI 测试圈子演讲(部分)

腾讯内先后被 TEG 工具开发组、微信支付部门、IEG 工具开发组、CDG 金融支付组、IEG PC 游戏平台部 邀请分享了

质效无双线上技术访谈-零代码智能测试工具实践介绍-第11期

https://testwo.cn1.quickconnect.cn/vs/sharing/iiP8VK1C#!aG9tZV92aWRlby0xMQ== https://testwo.cn1.quickconnect.cn/vs/sharing/iiP8VK1C#!aG9tZV92aWRlby0xMQ==

和华为云副总裁并列,QECon-全球软件质量&效能 大会分享总结

零代码开发和测试 成为大会主会场回看预约海报唯一分会场演讲范例

wecom-temp-377bbd0daf5aed716baf7ebcb003d94c

现场录播回放视频:QECon大会-零代码开发和测试(APIJSON和APIAuto)
https://www.bilibili.com/video/BV1yv411p7Y4

image APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 008 APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 009 APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 010 APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 012 APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 013 APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 014 APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 016 APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 017 APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 018 APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 019 APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 020 APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 021 APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 022 APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 023 APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 024 APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 025 APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 026 APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 027 APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 028 APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 030 APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 031 APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 033 APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 034 APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 036 APIJSON 和 APIAuto - 零代码开发和测试-QECon 大会-图像 037



特点功能

以上是简略图,机器学习测试、自动生成代码、自动静态检查、自动生成注释 等详细的功能介绍见

https://github.com/TommyLemon/APIAuto/blob/master/apijson/README.md

演讲稿件

APIAuto-机器学习 HTTP 接口工具
QECon 大会-腾讯 Tommy-零代码开发和测试

视频教程

Bilibili:https://search.bilibili.com/all?keyword=APIAuto

image


优酷:https://i.youku.com/i/UNTg1NzI1MjQ4MA==

image

相关推荐

别再生成测试代码了!
APIAuto: 最先进的HTTP接口工具

百度、搜狗、抖音公网接口调用演示

因为这些接口不支持 CORS 跨域,所以需要开启托管服务代理。
可以复制 Chrome 等浏览器、Charles 等抓包工具的请求文本,
粘贴到 APIAuto 的 URL 输入框,会自动填充 URL, JSON, Header 等。
https://github.com/TommyLemon/APIAuto/issues/16

百度

APIAuto_request_thirdparty_api_baidu

搜狗

APIAuto_request_sogou_api

抖音

APIAuto_request_douyin_api


还可以参考视频:APIAuto 测试请求第三方 HTTP API
https://www.bilibili.com/video/BV1JZ4y1d7c8 image


快速上手

本项目是纯静态 SPA 网页,下载源码解压后:
可以用浏览器打开 index.html,建议用 ChromeFirefox (Safari、Edge、IE 等可能有兼容问题),注意此方法不显示 svg 图标。
也可以用 IntelliJ Webstorm, IntelliJ IDEA, Eclipse 等 IDE 来打开。
也可以部署到服务器并用 NginxNode 反向代理,或者 把源码放到 SpringBoot 项目的 resources/static 目录
还可以直接访问官方网站 http://apijson.cn/apihttp://apijson.cn:8080

把左侧 URL 输入框内基地址改为你主机的地址(例如 http://localhost:8080 ),
然后在右上角 设置 下拉菜单内修改 数据库类型Database、数据库模式Schema。

右上角登录的默认管理员账号为 13000082001 密码为 123456,
右侧上方中间 3 个标签是默认的测试用户账号,点击登录/退出,左侧 - 删除,右侧 + 新增。

自动生成文档、自动管理测试用例 这两个功能 需要部署 APIJSON 后端,建议用 APIJSONBoot 系列之一 Demo,见
https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server

建议使用已 内置 APIAutoAPIJSONBoot-MultiDataSource,可以避免以下常见问题 1, 3, 4


新增测试用例

可以使用以下几种方式:

1.从 Postman/Swagger/YApi/Rap 等其它接口工具/平台一键导入

点右上角登录 > 点右上角设置 > 导入第三方文档(平台 URL) > 如果默认设置不符你的需求,可以在弹窗内修改 > 点上传按钮

2.从浏览器 Network 接口信息界面或 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 代理接口来录制请求的方法、参数、Header、响应等信息

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


后台 Headless 无 UI 模式回归测试

Jenkins、蓝盾 等 CI/CD 等流水线不支持带 UI 测试,所以提供了这个模式,
通过调用 HTTP API 即可执行用例和查看进度,方便集成到 CI/CD 流水线。 image image

1.配置 Node 环境及 NPM 包管理工具

https://nodejs.org

2.安装相关依赖

https://koajs.com

nvm install 7
npm i koa

3.使用后台 HTTP 服务

先启动 HTTP 服务

cd js
node server.js

如果运行报错 missing package xxx,说明缺少相关依赖,参考步骤 2 来执行

npm i xxx

然后再启动 HTTP 服务。

启动成功后会有提示,点击链接或者复制到浏览器输入框打开即可。

如果托管服务是用 APIJSONBoot-MultiDataSource 部署的,
链接 host 后可以加上 /api,例如 http://localhost:3000/api/test/start
通过这个接口来放宽前端执行时查询测试用例、参数配置等列表的条数,一次可批量执行更多用例。



常见问题

本网页工具基本每个按钮/输入框等 UI 组件都有注释或悬浮文档等形式的操作提示,
很多问题都不需要看文档/视频,可以直接通过把光标放上去等简单尝试来得到解答

1.无法访问接口

如果是 APIAuto 本身调用的后端接口,则一般是 Chrome 90+ 对 CORS 请求禁止携带 Cookie
或 Chrome 80-89 强制 same-site Cookie 的策略导致,打开以下链接查看解决方法
https://github.com/TommyLemon/APIAuto/issues/9

如果是其它接口,则一般是以上原因或者被接口不支持 CORS 跨域,可以改为支持,
或者在 APIAuto 右上角设置开启托管服务器代理,通过后端代理访问接口,
注意默认是官网的托管服务器 http://apijson.cn:9090 ,仅支持公网,
如果是贵公司内网,请按以上 部署方法 文档来部署 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


Roadmap 路线图

1.Translate document to English/Italian/Franch/Spanish...

2.新增功能
1) 断言结果 新增按钮 变-{原因},点击后右侧展示 JSON diff view;
2) 右下角列表展示具体每个断言有问题的字段,点击后 JSON view 只显示该字段对应值
其他待补充...

3.完善自动断言,支持更多格式的匹配

4.解决 bug

5.提升性能

6.其他待补充...


感谢开源

技术交流

关于作者

https://github.com/TommyLemon

如果有什么问题或建议可以 提 issue,交流技术,分享经验。
如果你解决了某些 bug,或者新增了一些功能,欢迎 提 PR 贡献代码,感激不尽。

其它项目

APIJSON 🚀 腾讯零代码、全功能、强安全 ORM 库 🏆 后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构

UnitAuto 机器学习单元测试平台,零代码、全方位、自动化 测试 方法/函数 的正确性和可用性

SQLAuto 智能零代码自动化测试 SQL 语句执行结果的数据库工具,任意增删改查、任意 SQL 模板变量、一键批量生成参数组合、快速构造大量测试数据

UIGO 📱 零代码快准稳 UI 智能录制回放平台 🚀 自动兼容任意宽高比分辨率屏幕,自动精准等待网络请求,录制回放快、准、稳!

apijson-doc APIJSON 官方文档,提供排版清晰、搜索方便的文档内容展示,包括设计规范、图文教程等

APIJSONdocs APIJSON 英文文档,提供排版清晰的文档内容展示,包括详细介绍、设计规范、使用方式等

apijson.org APIJSON 官方网站,提供 APIJSON 的 功能简介、登记用户、作者与贡献者、相关链接 等

APIJSON.NET C# 版 APIJSON ,支持 MySQL, PostgreSQL, SQL Server, Oracle, SQLite

apijson-go Go 版 APIJSON , 基于Go(>=1.18) + GoFrame2, 支持查询、单表增删改、权限管理等

apijson-go Go 版 APIJSON ,支持单表查询、数组查询、多表一对一关联查询、多表一对多关联查询 等

apijson-hyperf PHP 版 APIJSON,基于 Hyperf 支持 MySQL

APIJSON-php PHP 版 APIJSON,基于 ThinkPHP,支持 MySQL, PostgreSQL, SQL Server, Oracle 等

apijson-php PHP 版 APIJSON,基于 ThinkPHP,支持 MySQL, PostgreSQL, SQL Server, Oracle 等

apijson-node 字节跳动工程师开源的 Node.ts 版 APIJSON,提供 nestjs 和 typeorm 的 Demo 及后台管理

uliweb-apijson Python 版 APIJSON,支持 MySQL, PostgreSQL, SQL Server, Oracle, SQLite 等

apijson-practice BAT 技术专家开源的 APIJSON 参数校验注解 Library 及相关 Demo

Android-ZBLibrary Android MVP 快速开发框架,Demo 全面,注释详细,使用简单,代码严谨

持续更新

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

我要赞赏

腾讯、中国邮政、字节跳动、阿里巴巴、美团、网易、百度、京东、滴滴、平安、SHEIN、快手、携程、Bilibili、微众银行、VIVO、
58 集团、中兴 等 和国外 NVIDIA, Amazon, SAP, ThoughtWorks, Red Hat 等各大知名大厂员工点了 Star,感谢大家的支持~
image

创作不易、坚持更难,右上角点亮 ⭐Star 支持/收藏下本项目吧,谢谢 ^_^
https://github.com/TommyLemon/APIAuto