Tosca Commander 调度 Agent (Settings
设置)
在 Tosca Commander 的 Settings
中,DistributedExecution
(分布式执行)相关的 Monitor Url
和 Server
配置,主要用于 对接 Tosca 分布式执行架构,让 Commander 能调度多 Agent 并行测试、监控执行状态。以下从功能、配置到实际案例详细拆解:


核心作用:支撑分布式测试流程
Tosca 的分布式执行(DEX)需依赖 Distribution Server
(调度中心)和 Agents
(执行节点),Monitor Url
和 Server
配置的作用是:
- 连接调度中心:让 Commander 能把测试任务(TestEvent)发送给
Distribution Server
,由 Server 分配给 Agent 执行。 - 监控执行状态:通过
Monitor Url
访问可视化监控界面,实时查看测试进度、Agent 状态、失败原因。
关键配置项解析
1. DistributedExecution → Server
- 作用:配置 Tosca
Distribution Server
的地址,让 Commander 知道 “把测试任务发给谁”。 - 示例值:
https://dex-server.company.com:5007
(5007
是默认端口,可自定义)。 - 背后逻辑:
Commander → 发送测试任务 → Distribution Server → 分配任务给 Agent → 执行测试 → 回传结果。
DistributedExecution → Monitor Url
- 作用:配置分布式执行的 监控页面地址,测试人员可通过浏览器访问,查看实时执行状态。
- 示例值:
https://dex-monitor.company.com:5008
(5008
是默认监控端口)。 - 监控内容:
- 各 Agent 的在线状态、资源占用。
- 测试任务的执行进度(已完成 / 失败用例数)。
- 详细日志(如某用例在 Agent-01 执行失败的报错)。
与其他组件的关联
组件 | 与 Server/Monitor Url 的关系 |
---|---|
Tosca Commander | 发起测试任务,通过 Server 连接调度中心;通过 Monitor Url 查看结果。 |
Distribution Server | 接收 Commander 的任务,调度 Agent 执行;提供 Monitor Url 监控页面。 |
Execution Agent | 从 Server 获取任务,执行测试;回传结果给 Server,同步到监控页面。 |
Commander 自己就能执行测试任务吧? 为什么要 这样配置?
Tosca Commander 自身确实能独立执行测试,但启用分布式执行架构(配置 DistributedExecution
相关项 ),是为了应对更复杂、大规模的测试需求,解决单 Commander 执行的瓶颈,以下从必要性和价值展开:
Commander 独立执行的能力与局限
- 独立执行能做什么:
在简单场景中,Commander 可直接调用本地 / 单 Agent 执行测试,完成基础功能验证(如单条 UI 用例、小规模 API 测试 )。你只需在 Commander 里设计用例、点击 “执行”,就能在当前环境跑测试,适合单人开发、小规模测试。 - 独立执行的局限:
- 效率瓶颈:若测试用例数量多(如 1000+ 回归用例 ),单 Commander 串行执行耗时极长(可能从 “小时” 级拖到 “天” 级 )。
- 环境覆盖不足:复杂系统需覆盖多浏览器(Chrome、Firefox )、多设备(手机、平板 )、多操作系统(Windows、Linux ),单 Commander 无法同时模拟所有环境。
- 资源浪费:测试高峰期,单 Commander 占用的硬件资源(CPU、内存 )有限,企业闲置的服务器 / 虚拟机资源无法被利用。
分布式执行架构的核心价值
配置 DistributedExecution
(通过 Server
调度多 Agent ),本质是突破单 Commander 的能力边界,解决以下痛点:
1. 并行执行,大幅压缩时间
- 场景:回归测试需执行 500 条 UI 用例,单 Commander 串行执行需 8 小时。
- 分布式方案:通过
Distribution Server
把用例拆分成 10 组,分配给 10 台 Agent 并行执行,2 小时内完成(假设无资源竞争 )。 - 原理:利用多台机器的计算资源,把 “串行任务” 拆分为 “并行任务”,时间 = 单组用例执行时间 ×(总用例数 / Agent 数量 )。
2. 覆盖多环境,保证测试完整性
- 场景:电商系统需验证 “Chrome(Windows)、Safari(Mac)、微信小程序(Android/iOS )” 多端兼容性。
- 分布式方案:
- 在
Distribution Server
注册不同环境的 Agent(如 Agent-01 是 Windows+Chrome,Agent-02 是 Mac+Safari )。 - Commander 发送测试任务后,Server 自动把对应环境的用例分配给匹配的 Agent,一次执行覆盖所有环境。
- 在
3. 资源复用,降低硬件成本
- 企业现状:测试团队有 5 台闲置服务器,但日常仅用 1 台跑 Commander。
- 分布式方案:
- 在闲置服务器部署
Execution Agent
,通过Distribution Server
统一调度。 - 测试任务按需分配到闲置服务器,充分利用硬件资源,避免重复采购设备。
- 在闲置服务器部署
4. 解耦执行与设计,提升协作效率
- 团队协作痛点:测试工程师 A 在 Commander 执行测试时,会占用界面,导致测试工程师 B 无法同时设计用例。
- 分布式方案:
- Commander 仅负责 “设计用例、发起任务”,实际执行由远程
Agent
完成。 - 测试人员可随时提交任务,无需占用本地 Commander 界面,多人协作更顺畅。
- Commander 仅负责 “设计用例、发起任务”,实际执行由远程
5. 集中监控,简化问题排查
- 单 Commander 执行:若测试失败,需逐个查看本地日志,排查效率低。
- 分布式方案:
- 通过
Monitor Url
访问统一监控界面,实时看所有 Agent 的执行状态、失败用例、报错日志。 - 甚至能远程重启 Agent、重新分配任务,运维成本大幅降低。
- 通过
典型适用场景
- 大规模回归测试:每晚自动执行上百条用例,依赖分布式并行压缩时间。
- CI/CD 流水线:代码提交后,需快速触发多环境测试(如开发分支合并时,自动跑全量接口测试 )。
- 多团队协作:测试、开发、运维分属不同部门,需通过分布式架构解耦执行与设计。
- 复杂环境验证:需覆盖多浏览器、多设备、多地域环境,单 Commander 无法胜任。
Tosca Server API 调度Agent
可以通过 Tosca Server API 调度 Agent,无需依赖 Tosca Commander 手动操作,以下从 API 能力、使用场景、配置流程 详细说明:
Tosca Server API 支持直接调度 Agent
Tricentis 为 Tosca Server 提供了 标准化 REST API,允许外部系统(如 Jenkins、自定义脚本 )直接与 Server 交互,实现:
- 触发测试任务:向 Server 提交测试事件(Test Event ),指定要执行的测试用例 / 套件,Server 自动调度 Agent 执行。
- 监控执行状态:通过 API 查询测试任务的实时进度(如 Agent 执行状态、用例通过 / 失败数 )。
- 获取结果报告:测试结束后,拉取详细执行结果(日志、截图、测试报告 )。
Tosca Server 是分布式执行的 “调度中心”,无论 Commander 还是 API,最终都通过 Server 与 Agent 交互 ——API 是更灵活的 “无界面” 调度方式。
CI/CD 流水线集成(无需人工操作 Commander )
- 场景:代码提交到 Git 仓库后,自动触发 Tosca 测试。

Tosca Server API 提供了 脱离 Commander 界面 的调度能力,让 Tosca 测试可以深度集成到 DevOps 流水线、自定义平台中。如果你需要:
- 自动化触发测试(如代码提交后自动跑 )。
- 大规模任务编排(同时调度多 Agent、多环境 )。
- 与第三方系统(如 Jenkins、企业测试平台 )深度融合。
Commander 也能调度多 Agent 并行测试、监控执行状态。那么用 Tosca Server Api调度Agent的意义是?
Tosca Commander 和 Tosca Server API 在调度 Agent 这件事上,确实有不同的适用场景和价值,下面详细说说它们各自的意义以及怎么选:
Tosca Commander 调度 Agent 的意义
- 可视化调试,降低上手门槛
对于测试人员来说,尤其是刚接触 Tosca 的同学,图形化界面的 Commander 特别友好。比如在调试一个复杂的 UI 测试用例时,你可以在 Commander 里:- 直观看到测试用例的结构(像流程步骤、断言逻辑 ),边改边调。
- 执行测试时,能实时看到 Agent 执行到哪一步、哪个元素定位失败了,直接在界面上就能排查问题,不用去解析 API 返回的日志。
- 简单说,Commander 是 “所见即所得” 的调试工具,适合测试用例开发、故障排查阶段。
- 快速编排小规模测试
如果只是临时跑一组测试(比如 10 来个用例,验证某个功能点 ),用 Commander 调度很方便:- 直接拖选用例、选一下 Agent 分组,点 “执行” 就完事,不用写代码、拼 API 请求。
- 测试结果回来后,在 Commander 里直接看报告、对比预期 vs 实际结果,效率高。
- 这是 “轻量级、临时测试” 的首选,不用为了小任务搞复杂的 API 调用。
- 团队协作中的 “过渡方案”
在团队里,不是所有人都懂 API 开发。比如业务测试同学、刚入职的新人,他们可以先用 Commander 调度 Agent 跑测试,不用一开始就接触代码 / API 这些技术活。等流程跑通了,再逐步往自动化流水线(API 集成 )迁移,是一种 “渐进式自动化” 的过渡方式。
Tosca Server API 调度的优势(适合这些场景)
- 深度集成 CI/CD 流水线
如果要做 DevOps,代码一提交就自动触发测试,API 是刚需:- 比如 Jenkins 里写个 Pipeline,代码合并后,直接调 Tosca Server API 触发 Agent 执行测试,完了根据结果决定要不要部署。
- 这种 “自动化闭环” 场景,必须用 API 才能实现,Commander 没法嵌入到流水线里。
- 大规模、批量任务编排
当你要同时跑 100 个测试任务(覆盖不同环境、不同用例集 ),API 更灵活:- 可以写脚本批量创建测试任务,指定每个任务用哪个 Agent 池、哪些参数(比如浏览器类型、测试数据 )。
- 还能定时调度(比如凌晨 2 点自动跑全量回归 ),这些复杂编排用 Commander 手动操作根本搞不定,API 适合 “大规模、自动化” 场景。
- 对接第三方系统(自定义平台)
如果公司有自己的测试平台、运营后台,需要调用 Tosca 的测试能力,API 是唯一途径:- 比如业务系统里有个 “验证订单流程” 按钮,点一下就调 API 触发 Tosca Agent 执行订单测试,结果回传到业务系统里展示。
- 这种 “跨系统集成” 场景,必须用 API 才能打通数据和流程。
总结:什么时候用 Commander,什么时候用 API
场景 | 推荐工具 | 核心原因 |
---|---|---|
测试用例开发 / 调试 | Commander | 可视化界面,方便边改边调,快速定位问题 |
小规模、临时测试 | Commander | 操作简单,不用写代码,适合 “随手测” |
CI/CD 流水线集成 | API | 自动化触发,嵌入 DevOps 流程 |
大规模任务编排(定时、批量) | API | 脚本化控制,灵活编排复杂任务 |
对接第三方系统(自定义平台) | API | 打通跨系统数据,实现深度集成 |
简单说,Commander 是 “测试人员的调试台”,API 是 “自动化流程的连接器” 。实际工作中,两者经常配合使用:
- 先用 Commander 开发、调试好测试用例。
- 再把这些用例通过 API 集成到 CI/CD 流水线,实现自动化执行。
这样既兼顾了测试开发的效率,又能满足大规模自动化的需求~
关于 Tosca Commander 中创建 Workspace 时,Select type of repository 的选项
- None(创建单用户工作区):选择此选项将创建一个单用户工作区,该工作区仅供一个用户使用,没有用户之间的协作和数据共享机制,适合个人独立进行测试开发等工作。
- Oracle:用于创建基于 Oracle 数据库的多用户工作区,适合在企业级环境中,当有多个测试人员需要共享和协作处理测试项目,且公司使用 Oracle 数据库作为存储后端时选择。
- MS SQL Server(包括 Microsoft Azure SQL):可以创建基于微软 SQL Server 数据库的多用户工作区,包括使用微软 Azure SQL 云数据库服务的情况。如果企业使用微软的技术栈,尤其是在有 SQL Server 数据库基础设施的环境中,这是一个常用的选项。
- DB2:选择该选项可创建基于 IBM DB2 数据库的多用户工作区,适用于使用 DB2 数据库的企业环境,能满足多用户对测试项目数据的集中管理和并发访问需求。
- SQLite:可创建基于 SQLite 数据库的工作区。SQLite 是一个轻量级的嵌入式数据库,适合用于开发、测试或小型团队环境,其优点是部署简单,不需要额外的数据库服务器,但在处理大量数据和多用户并发访问时性能相对有限。
- Tricentis Server Repository:这个连接方式默认不出现,需要在 Tosca Commander 的 settings 进行设置。

Tosca Commander 的 settings的 Tricentis Service设置 服务器的URL

在 Tosca Commander 中,Tricentis Server Repository 是一种特殊的仓库连接方式,它通过 Tosca Server 作为中间层,简化了多用户协作和分布式测试的配置。
核心概念
- 中心化管理
- 所有测试资产(用例、数据、结果)存储在 Tosca Server 关联的数据库中(如 SQL Server/Oracle)。
- 用户通过 Server 间接访问仓库,无需记住复杂的数据库连接字符串。
- 解耦客户端与数据库
- 客户端(Tosca Commander)只需配置 Server 地址,由 Server 负责路由到实际数据库。
- 适合企业级环境(如多地域团队),数据库位置变更时无需更新所有客户端配置。
- 增强安全性
- 数据库连接信息集中存储在 Server,客户端仅需验证用户身份(如 LDAP/AD 集成)。
适用场景
场景 | 优势 |
---|---|
多用户协作测试 | 团队成员通过 Server 共享测试资产,自动同步更新(如 A 修改用例,B 立即看到变更)。 |
分布式测试执行 | Server 统一调度测试任务到多个 Agent,Client 通过 Server 触发执行。 |
企业级权限管理 | 结合 Tosca Administration Console,通过 Server 控制用户对仓库的访问权限。 |
跨地域团队 | 数据库部署在总部,分支团队通过 Server 远程访问,无需暴露数据库公网地址。 |
Tricentis Server Repository 是 Tosca 为企业级协作设计的仓库连接方式,通过 Server 作为中间层,简化了多用户、分布式测试场景下的配置与管理,尤其适合需要集中控制、跨地域协作的大型团队。编辑分享