跳转到内容

无界面执行与持续集成

在界面中构建好的场景可以从命令行无界面执行。这正是把您的 API 测试变成流水线中一个步骤的途径。

编辑器中的 “Find pets by status” 场景:一个名为 status 的 Input/Param 动作、“Finds Pets by status”请求和一个 Log

Terminal window
restorm \
--open ./projet.restorm \
--run "Find pets by status" \
--headless \
--param status=available
参数作用
--open <path>-o要打开的项目。--run 一起使用时必填
--run <target>要执行的场景。它的出现会启用命令行模式
--by <name|id>--run 如何指定场景:按名称(默认)或按标识符
--headless不显示任何窗口。不加它时窗口会显示,同时日志在控制台滚动
--param name=value场景的一个输入参数(一个 Input / Param 节点)提供值。可重复
--all-logs包含引擎的记录;默认只输出 Log 动作的记录
--out <file>同时把日志实时写入一个文件
--clear-settings-cls在启动前重置偏好设置

格式不正确的 --param(缺少 =)会在错误输出上被指出并被忽略。 nom=(值为空)是被接受的。

这些值会按参数的声明类型进行转换 —— 参见 变量与数据

含义
0场景正常结束
1失败、被取消,或引擎出错
2找不到目标、--out 文件不可访问,或使用了 --run 却没有 --open
3权限被拒RESTORM_TOKEN 缺失、无效或已吊销,套餐不足,或校验端点不可达

正是这套约定让结果可以被 CI runner 直接使用。

日志会写到标准输出,一次一条,产生即输出,形式为一个 YAML 序列:

- message: "🔵 [2026-07-29 10:30:00.123] Commande créée"
data: { id: 4271 }

各级别前面带一个圆点:⚪ debug、🔵 info、🟠 warn、🔴 error。行永远不会被截断 —— 输出始终可以用 grep 处理。错误会走标准错误输出。

这与界面上“复制日志”按钮产生的文本完全一致:两边格式相同。

请使用环境变量这种密钥来源:密钥由您 CI 的保险库注入,Restorm 只负责读取, 项目中不会写入任何东西。参见密钥

name: Tests d'API
on: [push]
jobs:
api:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Installer Restorm
env:
RESTORM_VERSION: '1.4.2' # 您想要固定的版本
run: |
curl -sSL -o restorm.deb \
"https://dl.restorm.app/restorm_${RESTORM_VERSION}_amd64.deb"
sudo apt-get install -y ./restorm.deb
- name: Exécuter les tests de fumée
env:
RESTORM_TOKEN: ${{ secrets.RESTORM_TOKEN }}
API_TOKEN: ${{ secrets.API_TOKEN }}
run: |
xvfb-run -a restorm \
--open ./api.restorm \
--run "Find pets by status" \
--headless \
--all-logs \
--out run.log \
--param status=available
- name: Publier le journal
if: always()
uses: actions/upload-artifact@v4
with:
name: journal-restorm
path: run.log
tests-api:
image: ubuntu:24.04
variables:
RESTORM_TOKEN: $RESTORM_TOKEN
RESTORM_VERSION: '1.4.2' # 您想要固定的版本
before_script:
- apt-get update && apt-get install -y curl xvfb
- curl -sSL -o restorm.deb "https://dl.restorm.app/restorm_${RESTORM_VERSION}_amd64.deb"
- apt-get install -y ./restorm.deb
script:
- >
xvfb-run -a restorm
--open ./api.restorm
--run "Find pets by status"
--headless --all-logs --out run.log
--param status=$PET_STATUS
artifacts:
when: always
paths: [run.log]
  • Toast 动作不做任何事;执行照常继续。
  • 参数无法通过交互方式询问:请用 --param 全部提供,或者让它们取各自的默认值。
  • 在没有显示环境的机器上,MCP 服务器永远不会启动,无论设置如何。

RESTORM_TOKEN 令牌(以 rstk_ 为前缀)可从您账户的仪表板生成。它绑定到组织, 而不是绑定到个人:这正是应该放进 CI 保险库的那个令牌。参见 账户与登录