自动化测试适配器

使用官方适配器将自动化测试绑定到 Tracera 用例并上传结果。

开始之前

  1. 实例 URL(TRACERA_BASE_URL)。
  2. 项目的 Autotest 令牌(TRACERA_AUTOTEST_TOKEN)— 项目设置 → Autotest(见 令牌)。
  3. 项目 id(TRACERA_PROJECT_ID)。
  4. 用例卡片上的 测试用例 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

.NET: NUnit、xUnit、Reqnroll

Go: gotest、Ginkgo、Godog

Dart: dart-test、Flutter

Swift: Swift Testing、XCUITest