Skip to content
| Marketplace
Sign in
Visual Studio Code>Testing>Harbor Test WorkbenchNew to Visual Studio Code? Get it now.
Harbor Test Workbench

Harbor Test Workbench

qysharbor

| (0) | Free
Create and synchronize Harbor script Working Copies from VS Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Harbor Test Workbench for VS Code

当前切片提供 Test Case Working Copy 的最小原生工作台:

  • 空工作区会显示 CLI 连接检查、脚本用例/Flow 拉取和 CLI 路径配置入口,不再留下无法解释的空白 Tree;
  • 连接检查读取 harbor help --json 的真实命令目录,能识别版本号相同但缺少 Working Copy 命令的旧构建;
  • 在受信任 Workspace 中通过 Quick Pick 显式选择 deployment、Workspace、Project/Test Suite 和一条脚本用例;
  • 选择 Workspace 内的父目录和新目录名后,按需执行单条 working-copy pull,不切换 CLI 全局上下文、不拉整棵树;
  • 扫描当前 VS Code Workspace 中的 test-case.harbor.json;
  • 通过 harbor test-case working-copy inspect 复验本地文件并显示标题、deployment、dirty 状态和固定目录;
  • 点击节点打开同目录 script.ts;
  • “检查同步状态”通过 sync-status 只读显示 base/local/remote 状态;“同步线上版本”会在本地 clean 时更新当前副本,冲突时让用户选择保留本地合并或备份后覆盖;
  • 用户手动点击上传按钮后,先执行零写入 upload-preview;只有预检可上传、脚本已保存且用户在模态框中再次确认,才执行带 --yes 的 CAS Revision 上传;
  • 上传成功只更新本地基线并刷新 Tree,不会启动本地或线上运行;截图、Trace、本地运行产物、Storage State 与下载的 Secret 永不上传;
  • 用户手动点击本地运行按钮后,才会以已保存的当前脚本启动 CLI Local Runner;运行支持取消,dirty 脚本无需先上传;
  • 本地运行状态写入独立 Output,结束后可打开首张截图或 .harbor-local/runs/<run-id> 证据目录;这些结果固定为 localOnly 且没有上传动作;
  • 已存在 Working Copy 的 Workspace 会激活原生 Testing API;Test Explorer 的 Run Locally 支持 Stop,失败分类映射到保存的 script.ts 行列,关闭窗口或停用扩展会取消在途 CLI;
  • 对 clean、已上传的副本显示独立线上运行按钮;点击后先读取默认 Environment 的远端最终计划,再以模态框确认 deployment、目标、Revision、浏览器、资源和证据策略;
  • 只有用户再次点击 Start Online Run 才把完整计划指纹与 --yes 交回 CLI;计划在确认后变化会零入队失败,Extension 不自动等待运行终态;
  • Extension Host 只以参数数组启动 harbor CLI,不经过 shell,不读取 CLI Credential 或 Harbor HTTP API。

开发验证:

pnpm --filter harbor-test-workbench test
pnpm --filter harbor-test-workbench typecheck
pnpm --filter harbor-test-workbench build
pnpm --filter harbor-test-workbench package:vsix

Marketplace 本地发布从仓库根目录执行:

pnpm vscode:publish

根目录跟踪的 .env.vscode-marketplace 保存内网共享的 VSCE_PAT。首次使用时,由 Publisher 管理员把占位值替换为 qysharbor 的 Marketplace (Manage) PAT 并提交;所有能读取仓库及 Git 历史的成员都将获得相同发布权限。该文件位于 Extension 打包目录之外,并被 Docker Context 排除,不会进入公开 VSIX。

只验证共享 Token,不递增版本或发布:

pnpm vscode:publish:verify

命令要求发布前工作树干净且当前分支已配置上游。它会先验证 Token 对 qysharbor 的发布权限,再自动递增 patch 版本(例如 0.1.0 → 0.1.1)、构建并上传;上传成功后显式创建 chore(vscode): release v0.1.1 commit 和 v0.1.1 tag,再执行 git push --follow-tags。若 Marketplace 上传失败,package.json 会保留未提交的新版本,应先核对线上版本;若仅 Git push 失败,市场版本已经 生效,只需修复连接后重试 git push --follow-tags,不要再次递增发布。人员离开、仓库权限扩大或疑似泄漏时必须立即在 Azure DevOps 撤销旧 Token、替换文件并提交; 从 Git 删除旧值不能替代服务端撤销。发布工具固定使用 @vscode/vsce@3.9.2;旧版 2.26.0 无法正确验证当前 Azure DevOps PAT, 会把有效 Publisher Owner 误报为 TF400813。

harbor.cli.path 是默认 CLI 路径,留空时使用 PATH 中的 harbor;harbor.cli.deploymentPaths 可以按命名部署覆盖它,其他 API URL、 登录态、Workspace 和 target 仍保留在 Harbor CLI 自己的部署配置中。例如本机开发可配置:

{
  "harbor.cli.path": "",
  "harbor.cli.deploymentPaths": {
    "harbor-local": "/Users/yishuai/qiyuesuo/q-harbor/apps/cli/dist/main.js",
    "q-harbor": ""
  }
}

空的 deployment 值继承默认 CLI,因此 q-harbor 的其他配置不会改变。本地开发路径使用构建后的 JavaScript 入口,才能同时支持普通命令 和 VS Code Debug;CLI 源码变化后先重新执行 pnpm --filter @harbor/cli build。harbor.localRun.timeoutSeconds 配置显式本地运行的业务超时。 Extension 在未信任 Workspace 中停用,并在拉取、上传和运行命令内再次检查 Trust。 拉取前 Extension 会先检查 harbor help --json 的实际命令目录;选择 deployment 后再执行 harbor --version 和 harbor config deployment check,只接受 >=0.1.0 <0.2.0 的 CLI 及 schema v1/API v1 部署。package:vsix 生成的 dist/harbor-test-workbench.vsix 只包含 manifest、README、图标和 bundle。 当前尚未提供关联 Webview、内置 Trace Viewer、新用例 Candidate 上传或命名 Environment Picker;这些能力按 docs/changes/vscode-test-authoring-workbench/implementation-plan.md 后续切片推进。

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft