自动化测试适配器
使用官方适配器将自动化测试绑定到 Tracera 用例并上传结果。
开始之前
- 实例 URL(
TRACERA_BASE_URL)。 - 项目的 Autotest 令牌(
TRACERA_AUTOTEST_TOKEN)— 项目设置 → Autotest(见 令牌)。 - 项目 id(
TRACERA_PROJECT_ID)。 - 用例卡片上的 测试用例 id(
testCaseId)。
要求
已在以下版本上测试:
- Node.js 22.19–26.12(所有 JS 适配器)。
- Python 3.11–3.15(所有 Python 适配器)。
- JDK 17–27(所有 JVM 适配器)。
- .NET 8–10(所有 .NET 适配器)。
- Go 1.25–1.27(所有 Go 适配器)。
- Dart 3.8–3.13(所有 Dart 适配器)。
- Swift 6–6.4(macOS 15–27 / Xcode 16–27;所有 Swift 适配器)。
环境变量
适配器先从进程环境读取每个变量。若某个 TRACERA_* 键未设置或为空,则从工作目录起向上查找最近的 .env 并只填充该键(不含用户主目录)。文件中的其他键会被忽略。非空的进程环境值优先于 .env。
| 变量 | 必需 | 说明 |
|---|---|---|
TRACERA_BASE_URL | 是 | 实例 URL |
TRACERA_AUTOTEST_TOKEN | 是 | 项目 Autotest 令牌 |
TRACERA_PROJECT_ID | 是 | 项目 id |
TRACERA_TEST_RUN_ID | 否 | 上报到已有运行(仅报告;不结束)。省略则创建新运行 |
TRACERA_RUN_TITLE | 否 | 新建运行的标题(≤128)。仅在创建运行时生效;若已设置 TRACERA_TEST_RUN_ID 则忽略 |
TRACERA_REQUIRE_REPORT | 否 | 默认 false;true → 无法创建运行或结果上传失败时使套件失败 |
TRACERA_LOG_LEVEL | 否 | error、warn、info(默认)、debug |
运行模式
- 省略
TRACERA_TEST_RUN_ID— 适配器创建空运行、写入结果,并在套件结束时结束该运行。 - 设置
TRACERA_TEST_RUN_ID— 仅向该运行报告;适配器不会结束它。
要从界面在 运行 或 重跑 测试运行时启动 CI,见 集成。
钩子
只有单测级钩子会进入结果的 准备 / 清理。套件级钩子不会作为步骤上报。若套件级准备失败且运行器仍会调度已绑定的用例,它们会记为 Failed,结果上带该错误(通常无步骤)。套件级清理 不会修改已 Passed 的结果。
重试
运行器重试 Failed 测试时,只上报最终一次尝试。在自动测试重试时(retry > 0),结果 Env 页会包含运行器
特定键,例如 PLAYWRIGHT_RETRY 或 JEST_RETRY(1 表示第二次运行)。支持重试的运行器页面会写明该 Env 键名。
评论、错误与附件
在步骤内调用时,tracera.comment、tracera.error、tracera.attachment 会加到当前步骤;在步骤外则加到结果。
tracera.error 只添加错误文本,不会让测试失败。若要报告 Failed,使用运行器的 fail API。
附件限制
| 限制 | 值 |
|---|---|
| 每个步骤 | 最多 10 个文件 |
| 每个结果(步骤外) | 最多 10 个文件 |
| 单个文件大小 | 最多 50 MB |
服务端根据内容和文件扩展名判定类型。不支持的类型会被拒绝(适配器日志中的上传错误)。
允许的类型
图片:image/png、image/jpeg、image/gif、image/webp
文档 / 数据:text/plain、text/csv、application/pdf、application/json、
application/xml、application/zip
归档:application/gzip、application/x-tar
视频:video/webm、video/mp4
其他文件:application/octet-stream
运行器
JavaScript: Playwright JS、Cypress、 WebdriverIO、Jest、Vitest
Python: Pytest、Playwright Python、 Robot Framework、Behave
JVM: JUnit 5、TestNG、Kotest、 Cucumber JVM、Android
Swift: Swift Testing、XCUITest