可供测试的 SAP API,无需与 SAP 认证较劲。
SAP BAH Sandbox 运行在你自己的电脑上。从 Business Accelerator Hub 导入 API 规范,就能得到一个像真实服务一样响应的 mock,包括 OData——让你的产品或 iFlow 指向它即可。它还会关注 Hub 目录,在某个 API 或工件发布新版本时通知你。
无需 Docker,无需 SAP 凭据 · MIT 许可证 · 自动更新
测试 SAP API 所需的一切
一个小型服务器,一个 SQLite 文件:mock、变更跟踪、测试和流量日志。
像 SAP 一样响应的 mock
导入 OpenAPI 3、Swagger 2 或 OData EDMX 规范,然后 mount。支持集合、键谓词、$filter、$select、$orderby、$top、$skip 以及正确的 V2 或 V4 响应封装——数据可以来自生成器、你自己的 fixture、本地 AI,或通过代理转发的真实后端。
API 变更时及时知晓
它会抓取 Hub 目录(约 1,950 个包和 42,000 个工件,无需登录),保存每个版本,并生成一份报告,列出新增、变更或删除的内容,并标出不兼容变更。支持 HTML、JSON 和 CSV。
为你写好的测试套件
每个操作一个测试,内容根据规范填充,检查状态码并按 schema 验证响应。为真实 tenant 提供只读模式,并为你的流水线返回退出代码。
准确查看你的 iFlow 发送了什么
对 mock 的每次调用都会连同请求头、正文和耗时一起记录,并像浏览器开发者工具一样实时显示——包括格式错误的 JSON,逐字节原样保留。
也覆盖出错的路径
为任意 mock 增加额外延迟和错误率,测试集成中的重试和异常分支,而不只是一切正常的路径。
自动安装,自动更新
一条命令即可安装,自带私有的 Node 运行时,并在登录时启动。沙盒空闲时会自动安装新版本;你的数据和设置保持不变。
五分钟即可运行
SAP 端无需安装任何东西,也无需创建账户。
- 安装解压最新版本,运行适用于你系统的安装程序。它会下载自己的 Node 运行时,生成管理员密钥并启动沙盒。
- 导入规范并 mount从 api.sap.com 下载规范,或保存某个 tenant 的
$metadata,在 Mocks 选项卡中导入,然后点击 mount。它随即可以通过/mock/<slug>访问。 - 让你的产品或 iFlow 指向它调用
http://<host>:8080/mock/<slug>。对于 Cloud Foundry 上的 Integration Suite tenant,代码仓库中说明了如何通过 Cloud Connector、隧道或 nginx 访问它。
通过命令行
# Windows (PowerShell), inside the unpacked release powershell -ExecutionPolicy Bypass -File .\install\install.ps1 # macOS / Linux ./install/install.sh # then sapbah open # the UI in your browser sapbah sync --filter SuccessFactors # what changed on the Hub sapbah test --mock s4-bp --read-only # run the generated suite sapbah update --check # is there a new release?
安装程序会注册自动启动:Windows 上使用任务计划程序,macOS 上使用 launchd,Linux 上使用 systemd。也可以进行系统级安装,用于团队共享的服务器。
你的数据留在你的电脑上
一个能看到你集成流量的沙盒,必须谨慎对待这些流量。
从设计上就在本地
规范、数据集和流量日志都保存在你电脑上的一个 SQLite 文件中。除非你设置了代理 mock,否则任何数据都不会外传。
受保护的管理 API
安装程序会生成管理员密钥。其他网站试图从你的浏览器发出的请求会被拒绝,mock 响应也永远无法在管理页面中执行代码。
机密不进日志
Authorization、Cookie 和 API key 请求头会在存储任何内容之前被隐去。Hub 凭据是可选的:目录是公开的。
无遥测
它自己发出的唯一外部请求,是向 GitHub 匿名检查是否有新版本,而且一个设置就能关闭它。
免费开源,并将一直如此
SAP BAH Sandbox 以 MIT 许可证发布:可以在工作中使用、修改和分享。如果它为你节省了一个下午,一笔小额捐赠可以帮助它持续维护。
常见问题
需要 SAP 凭据吗?
不需要。目录跟踪使用 Hub 的公开目录,mock 可以基于你导入的任何规范工作。只有自动下载规范时才需要 Hub API key 或已登录的会话。
SAP Integration Suite 能调用这些 mock 吗?
可以。Cloud Foundry tenant 无法访问私有地址,因此请使用 SAP Cloud Connector、Cloudflare Tunnel 或 nginx——代码仓库中为每种方式都提供了可用的配置。
支持哪些规范?
OpenAPI 3、Swagger 2 和 OData EDMX,包括从 tenant 保存的 $metadata 文档。OData 引擎覆盖了集成实际会发送的查询选项。
自动更新是如何工作的?
沙盒每六小时向 GitHub 查询一次最新版本。如果有更新的版本,它会在空闲满 15 分钟后立即安装,并保留你的数据和设置。你也可以点击 Update now,或用 AUTO_UPDATE=false 关闭自动更新。
能在 macOS 和 Linux 上运行吗?
可以。同一个安装程序同时支持两者,并注册一个 launchd agent 或 systemd 用户服务。对于整个团队使用的服务器,还提供系统级的 systemd 安装。
这是 SAP 产品吗?
不是。这是一个独立的开源项目,与 SAP 无关联。它只读取 Hub 的公开目录以及你提供的规范。