版本发布
1 - v0.0.12
atest
版本发布 v0.0.12
atest
是一款用 Golang 编写的、基于 YAML 格式的开源接口测试工具,可以方便地在本地、服务端、持续集成等场景中使用。
我们希望提供一个简单、强大、高质量的测试工具,方便测试、研发人员快速、低成本地借助接口测试为产品研发质量保驾护航。
通过以下命令启动 HTTP 代理服务器后,给您的浏览器配置该代理,打开业务系统就会自动录制:
docker run -p 1234:8080 -v /var/tmp:/var/tmp \
ghcr.io/linuxsuren/api-testing atest-collector \
--filter-path /api \
-o /var/tmp/sample.yaml
# --filter-path /api 会过滤所有以 /api 为前缀的 HTTP 请求
# 关闭服务后,您可以在 /var/tmp/sample 这个目录中找到生成的测试用文件
更新重点
- 支持通过基于 HTTP 代理服务生成测试用例
- 支持根据 Swagger 数据生成接口测试覆盖率
- 增加 HTML、Markdown 等格式的测试报告
- 代码重构,包括:包结构、原文件名整理,逻辑抽象为接口以及不同实现
- 支持打印所有支持的模板函数
- 优化 Kubernetes 的部署清单文件
- 修复已知缺陷
本次版本发布,包含了以下三位 contributor 的努力:
相关数据
下面是 atest
截止到 v0.0.12 的部分数据:
- watch 3
- fork 9
- star 33
- contributor 4
- 二进制文件下载量 561
- 代码行数 7.6k
- 单元测试覆盖率 94%
想了解完整信息的话,请访问 https://github.com/LinuxSuRen/api-testing/releases/tag/v0.0.12
2 - v0.0.13
atest
版本发布 v0.0.13
atest
是一款用 Golang 编写的、开源的接口测试工具。
你可以在容器中启动:
docker run -v /var/www/sample:/var/www/sample \
--network host \
linuxsuren/api-testing:master
或者,直接下载二进制文件后启动:
atest server --local-storage /var/www/sample
对于持续集成(CI)场景,可以通过在流水线中执行命令的方式:
# 执行本地文件
atest run -p your-test-suite.yaml
# 执行远程文件
atest run -p https://gitee.com/linuxsuren/api-testing/raw/master/sample/testsuite-gitee.yaml
# 容器中执行
docker run linuxsuren/api-testing:master atest run -p https://gitee.com/linuxsuren/api-testing/raw/master/sample/testsuite-gitee.yaml
你也可以把测试用例转为 JMeter 文件并执行:
# 格式转换
atest convert --converter jmeter -p https://gitee.com/linuxsuren/api-testing/raw/master/sample/testsuite-gitee.yaml --target gitee.jmx
# 执行
jmeter -n -t gitee.jmx
主要的新功能
- 增加了插件扩展机制,支持以 Git、S3、关系型数据为后端存储,支持从 Vault 获取密码等敏感信息
- 新增对 gRPC 接口的用例支持 @Ink-33
- 支持导出 JMeter 文件
- 支持通过 Operator 的方式安装,并上架 OperatorHub.io
- 提供了基本的 Web UI
- 支持导出 PDF 格式的测试报告 @wjsvec
本次版本发布,包含了以下 5 位 contributor 的努力:
相关数据
下面是 atest
截止到 v0.0.13
的部分数据:
- watch 7
- fork 18
- star 69
- contributor 8
- 二进制文件下载量 872
- 代码行数 45k
- 单元测试覆盖率 84%
想了解完整信息的话,请访问 https://github.com/LinuxSuRen/api-testing/releases/tag/v0.0.13
3 - v0.0.14
atest
版本发布 v0.0.14
atest
是一款用 Golang 编写的、开源的接口测试工具。
你可以在容器中启动:
docker run --network host \
linuxsuren/api-testing:v0.0.14
或者,直接下载二进制文件后启动:
atest server --local-storage /var/www/sample
主要的新功能
- 增加了对
tRPC
和gRPC
协议的(命令行与 Web 界面)支持 - 新增了 Helm Chart 的安装方式
- 支持通过按钮切换暗模式
- 支持启动启动插件
- 支持在 Web 界面中参数化执行
- 支持生成
curl
与Golang
代码 - 支持从 Postman 中导入测试用例
- 可观测方便,增加了对 Apache SkyWalking 和 Prometheus 的支持
- 一些 Web 界面操作的优化(例如:多语言、测试结果缓存、自动保存)
本次版本发布,包含了以下 5 位 contributor 的努力:
相关数据
下面是 atest
截止到 v0.0.14
的部分数据:
- watch 7
- fork 23
- star 104
- contributor 12
- 二进制文件下载量 1.1k
- 代码行数 45k
- 单元测试覆盖率 88%
想了解完整信息的话,请访问 https://github.com/LinuxSuRen/api-testing/releases/tag/v0.0.14
4 - v0.0.15
atest
发布 v0.0.15
atest
是致力于帮助开发者持续保持高质量 API 的开源接口工具。
你可以在命令行终端或者容器中启动:
docker run -p 8080:8080 linuxsuren/api-testing:v0.0.15
亮点
在本次版本发布之前,成功地为以下开源项目实现了 API 的 E2E 测试:
- halo-dev/halo,一款 Java 实现的开源建站工具
- dromara/hertzbeat,一款监控系统
非常期待 atest
可以帮助更多的项目持续提升、保持 API 稳定性。
主要的新功能
- 支持复用 Cookies(简化了基于 Cookie 做会话认证) (#301) @LinuxSuRen
- 增加了基于 Docker 的应用性能监控 (#300) @LinuxSuRen
- 支持以 Comment 的方式发送测试报告到 GitHub PR (#298) @LinuxSuRen
- UI 布局重构 (#297) @LinuxSuRen
- 增加对 OAuth 认证的支持(包括 Device 模式) (#290) @LinuxSuRen
- 支持设置 gRPC 的元数据 (#282) @LinuxSuRen
- 增加了新的后端存储: Mongodb (#278) @LinuxSuRen
致谢
本次版本发布,包含了以下 2 位 contributor 的努力:
相关数据
下面是 atest
截止到 v0.0.15
的部分数据:
- watch 7
- fork 23
- star 123 (+19)
- contributor 13 (+1)
- 二进制文件下载量 1.3k (+0.2k)
- 部分镜像 2.2k
- 单元测试覆盖率 82% (-6%)
想了解完整信息的话,请访问 https://github.com/LinuxSuRen/api-testing/releases/tag/v0.0.15
5 - v0.0.17
atest
发布 v0.0.17
atest
是致力于帮助开发者持续保持高质量 API 的开源接口工具。
你可以在命令行终端或者容器中启动:
docker run -p 8080:8080 ghcr.io/linuxsuren/api-testing:v0.0.17
亮点
- 我们提供了基于 Electron 的桌面应用,会极大地方便开发者在桌面环境中测试 API。
- 为缩减镜像的体积(40M),我们把插件全部以 OCI 的格式单独存储,并在启用时自动下载。
- 诞生了第二位项目 Committer @yuluo-yx
非常期待 atest
可以帮助更多的项目持续提升、保持 API 稳定性。
🚀 主要的新功能
- 支持通过 HTTP 请求执行测试套件 (#478) @LinuxSuRen
- 增加 gRPC 接口对 TLS 的支持 (#477) @DWJ-Squirtle
- 支持自动下载插件 (#471) @LinuxSuRen
- 补充代码生成器的 e2e 测试 (#458) @LinuxSuRen
- 支持复制测试用例和测试套件 (#455) @LinuxSuRen
- Web 界面上添加切换语言的按钮 (#447) @SamYSF
- 支持通过 Web 界面查看 YAML 格式的测试套件 (#438) @SamYSF
- 支持发送测试报告到 gRPC 服务 (#431) @lizzy-0323
- 支持发送测试报告到 HTTP 服务 (#367) @hahahashen
- 增加基于 Electron 的桌面应用 (#428) @LinuxSuRen
- 实现了镜像 Registry 的 Mock 服务 (#425) @LinuxSuRen
- 支持在 Web 界面启动、刷新 Mock 服务 (#410) @LinuxSuRen
- 支持根据测试用例生成 JavaScript 代码 (#400) @YukiCoco
- 支持根据测试用例生成 Python 代码 (#398) @zhouzhou1017
- 支持根据测试用例生成 Java 代码 (#369) @Agility6
- 增加日志框架的支持 (#389) @yuluo-yx
- 生成 Golang 代码时支持 Cookie 的设置 (#363) @SLOWDOWNO
- 测试用例支持 Cookie 设置 (#355) @LinuxSuRen
🐛 缺陷修复
- 解决测试用例页面徽章显示的问题 (#462) @SamYSF
- 解决无法导入 Postman 子集的问题 (#426) @SamYSF
- 优化 gRPC 消息超过默认值的处理 (#399) @acceleratorssr
- 解决 golang.org/x/net 的安全漏洞 CVE-2023-45288 (#401) @yuluo-yx
- 修复生成 Golang 代码时对 HTTP 请求体的设置 (#383) @Agility6
📝 文档
- 增加行为准则说明 (#379) @yuluo-yx
- 增加安全漏洞相关的说明 (#391) @yuluo-yx
- 更新贡献文档说明 (#380) @yuluo-yx
👻 维护
- 用 openapi 官方的依赖库替换当前实现 (#439) @dshyjtdes8888
- 增加 issue comment github actions (#382) @yuluo-yx
致谢
本次版本发布,包含了以下 13 位 contributor 的努力:
- @Agility6
- @DWJ-Squirtle
- @LinuxSuRen
- @SLOWDOWNO
- @SamYSF
- @YukiCoco
- @acceleratorssr
- @dshyjtdes8888
- @hahahashen
- @lizzy-0323
- @wt-goodluck
- @yuluo-yx
- @zhouzhou1017
相关数据
下面是 atest
截止到 v0.0.17
的部分数据:
- watch 8
- fork 47
- star 209 (+86)
- contributor 24 (+11)
- 二进制文件下载量 3.1k (+1.8k)
- 部分镜像 5.5k (+3.3k)
- 单元测试覆盖率 74% (-8%)
想了解完整信息的话,请访问 https://github.com/LinuxSuRen/api-testing/releases/tag/v0.0.17
6 - v0.0.18
atest
发布 v0.0.18
atest
是致力于帮助开发者持续保持高质量 API 的开源接口工具。
你可以在命令行终端或者容器中启动:
docker run -p 8080:8080 ghcr.io/linuxsuren/api-testing:v0.0.18
亮点
- 在开源之夏 2024 中
atest
增加了基于 MySQL 的测试用例历史的支持 - HTTP API Mock 功能的支持
在系统和平台的开发过程中,我们通常会采用前后端分离的开发模式。在后端API尚未开发完成、稳定化,并且未部署到公共集成测试环境之前,前端开发者往往需要通过硬编码数据来推进页面开发。待后端开发完成后,会进入所谓的“联调”阶段,这时可能会遇到以下问题:
- 前端可能需要调整数据结构、页面布局和逻辑,并重新进行测试
- 在实际查看页面后,可能会发现后端的数据结构和API的请求与响应需要调整
在最坏的情况下,前后端的联调可能会耗费远超预期的时间。为了更有效地解决这一问题,atest
提供了HTTP API Mock功能。
在设计评审阶段,我们可以根据API设计提供相应的Mock服务配置,从而快速模拟后端API的响应数据。例如:
objects:
- name: users
sample: |
{
"name": "LinuxSuRen",
"age": 18
"gender": "male"
}
proxies:
- path: /api/v1/projects/{projectID}
target: http://localhost:8080
把上面的内容放到 mock.yaml
文件中,然后使用 atest mock --prefix /api/v1 --port 6060 mock.yaml
命令即可启动一个 HTTP Mock 服务。
此时,Mock 服务就会把代理模块指定的 API 转发到已有服务的的接口上,并同时提供了 users
对象的增删查改(CRUD)的标准 API。你可以用 atest
或者 curl
命令来调用这些 API。
curl -X POST -d '{"name": "Rick"}' http://localhost:6060/api/v1/users
curl -X GET http://localhost:6060/api/v1/users
curl -X PUT -d '{"name": "Rick", "age": 20}' http://localhost:6060/api/v1/users/Rick
curl -X GET http://localhost:6060/api/v1/users/Rick
curl -X DELETE http://localhost:6060/api/v1/users/Rick
非常期待 atest
可以帮助更多的项目持续提升、保持 API 稳定性。
🚀 主要的新功能
- Mock 功能的增强,包含对象、原始、代理三种模式 (#552) @LinuxSuRen
- 支持重命名测试用例、测试集 (#550) @LinuxSuRen
- 支持给定频率下重复执行测试用例 (#548) @LinuxSuRen
- 下载插件文件时显示进度信息 (#544) @LinuxSuRen
- 支持生成随机图片并上传 (#541) @LinuxSuRen
- 支持上传嵌入式文件(基于 base64 编码) (#538) @LinuxSuRen
- 支持导入其他 atest 实例的用例数据 (#539) @LinuxSuRen
- UI 上显示响应体的大小 (#536) @LinuxSuRen
- 增加基于 MySQL 位存储的测试用例执行历史记录 (#524) @SamYSF
- 支持设置插件下载的“前缀”信息 (#532) @SamYSF
- 优化存储插件管理界面 (#518) @LinuxSuRen
- 在 UI 上增加快捷键支持 (#510) @LinuxSuRen
- 重构 API 风格为 restFul (#497) @LinuxSuRen
- 增加 Mock 配置的 JSON schema (#499) @LinuxSuRen
- 增加了对 JSON 兼容性的响应格式的支持 (#496) @LinuxSuRen
🐛 缺陷修复
- 修复测试用例重复时被覆盖的问题 (#531) @LinuxSuRen
致谢
本次版本发布,包含了以下 3 位 contributor 的努力:
相关数据
下面是 atest
截止到 v0.0.18
的部分数据:
- watch 9
- fork 50
- star 249 (+40)
- contributor 25 (+1)
- 二进制文件下载量 6.3k (+3.2k)
- 部分镜像 6.4k (+0.9k)
- 单元测试覆盖率 76% (+2%)
想了解完整信息的话,请访问 https://github.com/LinuxSuRen/api-testing/releases/tag/v0.0.18
7 - v0.0.20
atest
发布 v0.0.20
atest
是致力于为开发者提供一站式接口开发、测试的开源工具,无需注册账号、完全私有化部署、可扩展、可定制。
亮点
- 增加对正态分布随机函数的支持 (#761) @LinuxSuRen
- Web 页面支持快捷键绑定的特性,而且,用户可以通过配置文件修改 (#728) @LinuxSuRen
- Web 页面支持主题切换 (#715) @LinuxSuRen
- 优化欢迎页面布局 (#708) @Aditya-132
- Mock 服务中增加 TCP 类型的代理 (#692) @LinuxSuRen
- 支持多线程下载插件 (#669) @LinuxSuRen
- 支持通过 HTTP 协议启动插件 (#664) @LinuxSuRen
- 支持 SQL 语言编辑器的自动补全 (#722) @LinuxSuRen
- 数据库 Web 客户端新增对 openGemini 的支持 (#665) @LinuxSuRen
- 数据库 Web 客户端新增对 Cassandra 的支持 (#656) @LinuxSuRen
- 数据库 Web 客户端新增对 IotDB 的支持 (#653) @LinuxSuRen
- Elasticsearch Web 客户端支持翻页功能 (#663) @LinuxSuRen
🐛 缺陷修复
- 修复中英文语言切换失效的问题 (#720) @user-xixiboliya
- 修复暗黑主题不生效的问题 (#714) @LinuxSuRen
- 修复了非 JSON 响应的内容无法显示的问题 (#677) @KariHall619
致谢
本次版本发布,包含了以下 5 位 contributor 的努力:
相关数据
下面是 atest
截止到 v0.0.20
的部分数据:
- Watch 8
- Fork 61
- star 333 (+84)
- Contributor 29 (+4)
- 二进制文件下载量 11k (+4.7k)
- 部分镜像 7.7k (+1.3k)
- 单元测试覆盖率 73% (-2%)
想了解完整信息的话,请访问 https://github.com/LinuxSuRen/api-testing/releases/tag/v0.0.20