This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

版本

本节内容包含 API Testing 的版本概述。

1 - v0.0.1

日期:2024 年 6 月 1 日

// TBD

2 - 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

3 - 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

4 - 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

主要的新功能

  • 增加了对 tRPCgRPC 协议的(命令行与 Web 界面)支持
  • 新增了 Helm Chart 的安装方式
  • 支持通过按钮切换暗模式
  • 支持启动启动插件
  • 支持在 Web 界面中参数化执行
  • 支持生成 curlGolang 代码
  • 支持从 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

5 - v0.0.15

atest 发布 v0.0.15

atest 是致力于帮助开发者持续保持高质量 API 的开源接口工具。

你可以在命令行终端或者容器中启动:

docker run -p 8080:8080 linuxsuren/api-testing:v0.0.15

亮点

在本次版本发布之前,成功地为以下开源项目实现了 API 的 E2E 测试:

非常期待 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

6 - 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 的努力:

相关数据

下面是 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