背景
最近在学习 Tricentis Tosca 这款产品 做自动化测试,把学习过程掌握的知识简单记录一下。
Tricentis Tosca 是一款企业级自动化测试平台,主打 无代码、AI 驱动 的全流程测试方案,帮企业加速软件交付、降低发布风险。
关键功能:
- 无代码测试设计:用可视化、拖拽式操作创建测试用例,无需写代码。比如测试 Web 登录流程,直接拖选 “输入框、按钮” 等元素,配置操作(输入账号密码、点击登录 )和校验(断言登录成功跳转 ),测试人员(甚至业务人员 )也能快速上手。
- 覆盖全技术栈:支持 160+ 技术 / 应用,包括:
- UI 测试:Web(Chrome、Firefox 等 )、桌面应用(Windows、Linux )、移动端(Android、iOS)
- API 测试:REST、SOAP 等接口,还能模拟复杂业务场景(如电商下单→支付→物流全链路 )。
- 集成与系统测试:跨应用、跨服务的流程验证(比如 ERP 系统与 CRM 系统的数据同步 )。
- 特殊场景:SAP 等企业级应用深度适配,还有性能测试(集成 NeoLoad )、安全合规测试等能力。
- 分布式与 CI/CD 集成:
- 通过 Execution Agent 实现分布式测试(多环境并行执行,比如同时在 10 台机器跑不同浏览器的 UI 测试 )。
- 深度对接 Jenkins、GitLab CI 等流水线,代码提交 / 合并时自动触发测试,结果直接阻断或推进流程(质量卡点 )。
和其他测试工具的差异:
对比维度 | Tricentis Tosca | 传统测试工具(如 Selenium) |
---|---|---|
技术门槛 | 无代码,业务 / 测试人员均可上手 | 需写代码(Java/Python 等 ),依赖开发技能 |
测试覆盖 | 全流程(UI+API + 集成 + 性能…),适配复杂系统 | 侧重 UI 或 API 单一维度 |
团队协作 | 打通需求、开发、测试数据,支持跨角色协作 | 工具链割裂,数据难同步 |
部署方式 | 云、本地、混合部署灵活选择 | 多为本地部署,云化支持弱 |
学习路线
Tosca官方学习网址:https://academy.tricentis.com/learn/learning-plans/78/tricentis-tosca-product-consultant-self-paced
用个人邮箱注册就可以了,课程如下:

每个课程主要的学习内容如下:
Lesson | Contents | |
AS1 | 1-20 | Introduction,Modules,XScan,TestCases,Buffer,Parameters,ActionModes,Libraries |
21-27 | Advanced:ModulesAction,TestCases,Parameters,BP,ExecutionLists,Requirements | |
28-39 | Additional Advanced Topics:While,If,Do | |
AS2 | 1-7 | TestSheet,Templates,Conditions |
TDS1 | 1-5 | Requirements,Attributes,Instances,Combinatorial Methods, TestCase Specifications |
6-10 | Classes,Link to Requirements, Integration of New Attributes,Best Practices,Automatic Generation of Instances | |
TDS2 | All | Theory Lesson,Preparing your Project for using TDS |
AE1 | 1 | Excel Engine |
2 | PDF Engine | |
3 | Mail Engine | |
4 | WinX Engine and UIA Engine | |
5 | Self Healing | |
6 | Install and Use Custom Controls | |
7 | Standard modules | |
8 | Image Based Controls | |
9 | Mobile Engine – Android | |
API | All | Introduction to the API Scan |
SAP | All | SUT,Scan SAP,SAP Testing Specialist Solution Subset |
上面的Tosca的课程,主要是围绕 Tosca Commander 展开的:
- 基础类(如 AS1、AS2 ):会从 Tosca Commander 入手教学,比如教你在 Commander 里做 Web 应用自动化测试、配置集中测试数据, Commander 是实操的核心入口。
- 进阶类(如 TDS1、TDS2、AE1 等 ):会基于 Commander 拓展,教你用 Commander 结构化管理用例和数据、处理有状态数据、突破 Web 应用限制做更多自动化(如桌面应用、API 等 ), Commander 是承载这些高阶操作的平台。
课程以 Tosca Commander 为核心操作界面和基础,逐步拓展到测试设计、数据管理、复杂场景自动化等深度内容 。
Tosca Commander是什么?
Tosca Commander 是 Tricentis Tosca 测试平台的核心图形化操作界面(GUI),是测试人员日常工作的 “主战场”,主要作用:
- 测试全流程管理:在 Commander 里可视化创建、编辑、执行、分析测试用例,从需求导入(如对接 Jira 需求 )→ 用例设计(拖拽元素、配置操作 )→ 测试执行(手动 / 自动触发 )→ 结果分析(看报告、定位缺陷 ),一站式完成。
- 核心功能承载: Tosca 的无代码测试设计、AI 辅助、分布式执行调度等能力,都通过 Commander 界面操作落地。比如用 “模块扫描器” 抓取应用界面元素、用 “测试配置” 关联执行环境和 Agent 。
- 与仓库 / 服务协同:连接 Tosca 公共仓库(Common Repository ),实现测试资产(用例、数据、结果 )的版本管理和团队共享;也能对接 Tosca Server ,触发分布式测试、查看服务端执行状态。
Tosca Commander 是 Tosca 实践的基础入口和核心操作层:
- 学习路径基础:学 Tosca 自动化测试,第一步就是熟悉 Commander 界面和基础操作(如创建工作区、导入应用模块、编写简单用例 ),后续高阶功能(如 API 测试、CI/CD 集成 )也依赖在 Commander 里先做好测试资产准备。
- 功能承载基础:Tosca 的核心能力(无代码设计、多技术栈适配、测试数据管理 ),都需要通过 Commander 操作来体现和落地,离开它很难高效开展测试工作。
- 团队协作基础:测试团队共享公共仓库、协同开发测试用例、追溯测试结果,都以 Commander 为统一操作界面,是团队协作的 “基础载体”。
但 Tosca 整体技术栈里, Commander 是客户端操作层,配套还有 Tosca Server(服务端调度 )、Agent(执行节点 )、公共仓库(数据存储 )等组件,共同构成完整平台。不过从实操角度, Commander 是接触 Tosca 的 “第一扇门”,是实践的基础 。
Tosca 程序安装
Tosca 的应用程序License很贵,但是如果是个人学习的话,我们可以申请 Training License,有效时间大概在2个月。
Training License 申请网址:https://support-hub.tricentis.com/open?id=training_license_request
License 有 Cloud 和 On Premise 两个,就是云端web版本 和 本地安装版本。

Tosca程序的下载链接:https://support-hub.tricentis.com/open?id=downloads&version=4bd1091293af4a544f1832847aba1063
Chrome插件:https://chromewebstore.google.com/detail/tricentis-automation-exte/njjjlolnnicemgigahffncnddbioccpo
关于 Tosca CI/CD integration
官方文档:https://documentation.tricentis.com/tosca/2420/en/content/continuous_integration/execution_api_integration.htm
官方提供了两种方式实现Tosca的 CI/CD:
- Use Tosca Execution Clients
- Integrate with the Execution API
关于 Tosca CI/CD 核心组件的概念

整个架构围绕 “代码变更 → 自动化测试 → 质量反馈” 的 CI/CD 流水线展开,Tosca 测试通过 API 深度嵌入到 DevOps 流程中,实现自动化触发、执行与结果反馈。
CI/CD 流水线阶段(上半部分):
阶段 | 作用 | 与 Tosca 的关联点 |
---|---|---|
Code Repository | 存储代码的仓库(如 GitLab、GitHub),代码变更触发流水线。 | 代码合并 / 提交 → 触发后续测试 |
Compile | 编译代码(如 Maven/Gradle 构建),生成可部署包。 | 编译成功后 → 进入测试环节 |
Package with Instructions | 打包代码及部署指令(如 Docker 镜像、K8s 配置)。 | 为测试提供目标环境(如部署后验证) |
Unit Tests | 单元测试(开发侧自测,如 JUnit、PyTest)。 | 前置质量卡点,通过后进入 Tosca 测试 |
API/UI Tests | Tosca 测试环节,执行 API/UI 自动化测试,验证系统集成质量。 | 调用 Tosca Server API 触发测试 |
Tosca 核心组件与交互(下半部分):
AOS Execution API
- 全称:Automation Object Service Execution API
- 作用:Tosca Server 对外暴露的 标准化接口,允许 CI/CD 工具(如 Jenkins、GitLab CI)直接调用,实现测试触发、结果查询等操作。
- 核心能力:
- 触发测试执行(
Trigger execution
) - 获取测试结果(
Fetch execution results
) - 与 Tosca Server 双向通信,解耦 CI/CD 工具与测试执行逻辑。
- 触发测试执行(
Tosca Server
- 定位:Tosca 测试的 中央控制中心,负责接收 API 请求、调度测试任务、管理执行结果。
- 关键功能:
- 接收 AOS API 的测试触发指令,解析测试需求(如执行哪些用例、环境参数)。
- 向 Execution Agent Pool 分发测试任务(
Distribute execution
),实现分布式执行。 - 汇总测试结果,通过 AOS API 反馈给 CI/CD 流水线。
Execution Agent Pool(执行代理池)
- 组成:一组
DEX Agent
(Distributed Execution Agent,分布式执行代理)。 - 作用:实际执行测试用例的 工作节点,部署在各类测试环境中(如 Windows、Linux、不同浏览器 / 设备)。
- 核心逻辑:
- 从 Tosca Server 接收具体测试任务(如 “在 Chrome 浏览器执行登录流程测试”)。
- 在本地环境运行测试,收集日志、截图、结果数据。
- 将结果回传 Tosca Server,完成测试闭环。
组件交互:从 “代码变更” 到 “测试反馈” 的完整链路:
触发测试:
- CI/CD 流水线在 “API/UI Tests” 阶段,通过 AOS Execution API 向
Tosca Server
发送请求(如:触发测试事件 TestEvent_X
)。
任务调度:
Tosca Server
解析请求,根据测试需求(如环境、用例标签),从Execution Agent Pool
中选择合适的DEX Agent
。- 将测试任务(如 “执行用例集 SmokeTests”)分发给选中的
DEX Agent
。
测试执行:
DEX Agent
在本地环境启动测试(如打开浏览器、调用 API),实时反馈执行状态(运行中、失败、通过)。
结果反馈:
DEX Agent
将测试结果(日志、截图、JUnit 报告等)回传Tosca Server
。Tosca Server
再通过 AOS Execution API,将结果同步给 CI/CD 流水线,决定是否继续部署(质量卡点)。
‼️关于 DEX Agent
在 Tricentis Tosca 的分布式执行(DEX)架构里,DEX Agent 是独立的执行节点组件,用于接收 Tosca Server 分发的测试任务、实际运行测试用例。其安装流程通常是:
- 获取安装包:从 Tricentis 官方渠道(客户门户、技术支持 )下载对应系统(Windows/Linux 等 )的 DEX Agent 安装程序。
- 独立部署:在目标测试机器上,直接运行安装包,配置与 Tosca Server 的连接参数(如 Server 地址、通信端口、认证信息 ),完成后即可作为独立 Agent 加入执行池,无需依赖 Tosca Commander 安装。
简单说,它是轻量级独立组件,专为分布式测试执行设计,可部署在多台测试机上,扩展测试执行能力。
Tosca Commander 和 DEX Agent 区别:
两者是 协作关系:
- Tosca Commander:是测试设计、管理的图形化客户端,负责创建测试用例、配置测试事件(Test Event )、定义执行逻辑。
- DEX Agent:是独立的执行端,接收 Tosca Server 转发的测试任务(这些任务最初可由 Commander 配置发起 ),实际运行测试并回传结果。
流程上, Commander 可触发测试事件并推送给 Tosca Server,Server 再调度 DEX Agent 执行,但 Agent 本身是独立部署的 “执行节点”,和 Commander 属于 不同层级的组件( Commander 是设计端,Agent 是执行端 )。
补充说明
- 协作场景:比如在 Commander 里设计好 Web 应用测试用例,配置成测试事件后,通过 Server 把任务分发给多台安装了 DEX Agent 的机器,并行执行测试,结果汇总回 Server 和 Commander 展示。
- 轻量化优势:因 DEX Agent 独立,可部署在资源有限的测试机(甚至无图形界面的服务器 ),降低对 Commander 环境的依赖,适合大规模、分布式的 CI/CD 集成场景。
综上,DEX Agent 支持单独安装部署,和 Tosca Commander 分工协作,共同支撑 Tricentis Tosca 的分布式测试能力 。
安装 Install Tosca Server
官方安装Guide:https://documentation.tricentis.com/tosca/1520/en/content/tosca_server/tosca_server.htm?Highlight=Tosca%20server
Tosca Server 软件下载地址:https://support-hub.tricentis.com/open?id=downloads&version=4bd1091293af4a544f1832847aba1063&filter=nameLIKETosca%20Server

下载完 安装包 直接点击 Tricentis Tosca Server.exe 程序默认安装即可。


注意下面的协议和端口号,因为没有SSL证书,这里面选HTTP,端口号可以用8081


安装完以后,会自动弹出 Tosca Server 页面,用浏览器 打开下面的网址也可以显示页面。
http(s)://<server address>:<port>.
我的地址是:
http://localhost:8081

Tosca Commander 和 Tosca Server 的区别
- 功能定位
Tosca Commander:是 Tricentis Tosca 测试套件的图形化操作界面(GUI 核心),用于测试用例设计、管理、执行与分析 。你可以在这可视化创建测试流程、配置测试数据、编排测试步骤,还能直接触发测试执行、查看实时结果和日志,是测试人员日常 “操作测试” 的主要入口。
Tosca Server:是 Tricentis Tosca 体系的服务端核心,提供 API 接口、测试执行调度、资源管理、结果存储 等能力。它更偏向 “后台支撑”,让 CI/CD 流水线、脚本(比如前面提到的 Execution Client/API )能远程调用 Tosca 测试能力,实现自动化触发。 - 使用场景
Tosca Commander:适合手动操作测试(比如测试人员调试用例、临时执行单个测试、配置测试环境),或者小规模、交互式的测试编排。
Tosca Server:专为自动化、大规模、CI/CD 集成设计。比如代码提交后,Jenkins 流水线自动调用 Tosca Server API 触发测试;或者多团队共享测试资源、统一管理测试执行队列,都依赖它。
- 交互方式
Tosca Commander:纯图形界面(GUI)操作,拖拽、点击就能完成测试设计与执行,对测试人员友好,低代码 / 无代码。
Tosca Server:主要通过 API(如 Execution API ) 或 命令行工具(如 Tosca Execution Client ) 交互,需要写脚本、配置请求参数,更贴近开发 / 运维的自动化流程。
仅用 Tosca Commander 做本地测试:如果只是单人 / 小团队在本地电脑上,用图形界面做测试设计、执行(不需要 CI/CD ,也不需要远程调用),可以只装 Tosca Commander (安装包会包含基础运行环境,但没有 Server 功能)。
如果需要 CI/CD、远程触发测试:只要想让测试流程自动化(比如用脚本 / 流水线调 Tosca 测试)、多机共享测试能力、集中管理测试执行,就必须单独安装 Tosca Server ,并配置好网络、许可证,让客户端 / API 能访问到它。
Tosca Administration Console
第一次打开 Administration Console, 会弹出Sign In 画面提示输入Email 和 密码,初始用户名和密码都是Admin。


Administration Console 可以用来创建和添加 Project, 根据 Tricentis 官方文档定义,Tosca Administration Console 里的 Project 是控制台基础设施的核心,用于定义 3 类关键内容:
- 测试资产范围:决定哪些测试工件(如用例、模块、测试数据 )可被访问,每个项目关联 独立的公共仓库(Common Repository )(存储测试资产的数据库 )。
- 用户权限控制:只有被分配到该项目的用户,才能访问项目关联仓库里的测试资产,实现多项目、多团队的权限隔离。
- 功能集成配置:控制项目可使用的 Tosca 集成功能(如是否启用与 qTest、SAP Solution Manager 的集成,是否开启通知服务 )。
简单说,它是 Tosca 测试体系的 “顶层容器”,用于管理测试资产的存储、用户权限和功能集成,是多用户协作、大规模测试管理的基础。
和 Tosca Commander 中 “项目” 的关系
- 关联但不等同:
- Tosca Commander 里的 “项目”(在 Commander 界面创建的测试项目 ),属于 Administration Console 中 “项目” 的子集。
- 你需要先在 Administration Console 中创建 “顶层项目”(配置仓库、权限、集成 ),再在 Tosca Commander 中基于该项目的仓库,创建具体的测试用例、执行配置等。
- 依赖与协作:
- 依赖:Commander 里的测试资产(用例、数据 ),必须存储在 Administration Console 项目关联的公共仓库中,才能实现多用户共享、版本管理。
- 协作:Administration Console 控制 “哪些用户能访问项目”,Commander 则是用户操作这些项目资产(设计、执行测试 )的图形界面。
举个实际流程理解
- 步骤 1:在 Administration Console 建项目
管理员登录 Console,创建一个名为 “电商系统测试” 的项目,配置:- 关联一个新的 SQL Server 公共仓库(存储测试资产 )。
- 分配权限:让 “测试团队 A” 可访问该项目。
- 启用通知服务(测试失败时发邮件 )。
- 步骤 2:在 Commander 中操作项目
测试工程师用 “测试团队 A” 账号登录 Commander,选择连接到 “电商系统测试” 项目的仓库,然后:- 扫描电商网站界面,创建测试模块(如 “购物车流程” )。
- 编写测试用例(如 “添加商品到购物车 → 结算” )。
- 触发测试执行,结果同步回 Administration Console 项目的仓库。
- 步骤 3:在 Administration Console 管理项目
管理员可在 Console 中:- 查看 “电商系统测试” 项目的资产使用情况。
- 调整用户权限(如新增 “测试团队 B” 访问 )。
- 配置集成(如对接 Jenkins,让代码提交后自动触发该项目测试 )。
核心区别总结:
维度 | Tosca Administration Console 的 “项目” | Tosca Commander 的 “项目” |
---|---|---|
定位 | 测试资产、权限、集成的顶层管理容器 | 具体测试用例、执行逻辑的操作界面 |
核心功能 | 仓库关联、用户权限、集成配置 | 测试设计、执行、结果查看 |
依赖关系 | Commander 的项目依赖其配置(仓库、权限 )才能工作 | 是 Administration Console 项目的 “操作延伸” |
操作角色 | 通常由管理员操作 | 通常由测试工程师操作 |
简单说,Tosca Administration Console 的 “项目” 是 管理层面的 “大容器”,控制着测试资产的存储、谁能访问、能集成哪些工具;而 Tosca Commander 的 “项目” 是 执行层面的 “工作区”,测试人员在这设计、运行具体测试。两者配合,实现从 “全局管控” 到 “具体执行” 的完整测试管理流程。