Robot Framework
pip install tracera-robot
需要 Python ≥ 3.11 和 Robot Framework ≥ 7(见 自动化测试适配器)。tracera-robot on PyPI。
注册 listener:
robot --listener tracera_robot.listener.TraceraListener suite.robot
可选配套库,用于 comment、error、attachment、Tracera Step 和 Tracera Test Case:
*** Settings ***
Library tracera_robot.keywords.TraceraKeywords
环境变量与运行模式见 自动化测试适配器。
绑定 testCaseId 与 autotestName
优先在测试上使用标签。
*** Test Cases ***
Login
[Tags] tracera.id:42 tracera.name:e2e/login
Log hello
tracera.name 中的空格与特殊字符按需编码(e2e%2Flogin)。若未指定 tracera.name,则 autotestName 取 Robot 测试名。
Skip
使用 Robot 标准 Skip。Skip reason 作为 comment 添加到结果。
*** Test Cases ***
Login
[Tags] tracera.id:42 tracera.name:e2e/login
Skip env not ready — https://example.com/skip
步骤
测试中的关键字成为结果 测试 分区下的步骤。Test Setup 与 Test Teardown 映射为结果的 准备 与 清理;Suite Setup 与 Suite Teardown 不上报。
*** Settings ***
Test Setup Open Shop
Test Teardown Cleanup
*** Keywords ***
Open Shop
Log opening
Add To Cart
Log adding
Cleanup
Log done
*** Test Cases ***
Checkout
[Tags] tracera.id:10 tracera.name:e2e/checkout
Add To Cart
默认步骤标题是关键字名(Add To Cart)。要换标题:
*** Settings ***
Library tracera_robot.keywords.TraceraKeywords
*** Test Cases ***
Checkout
[Tags] tracera.id:10
Tracera Step add sku-1 Add To Cart
会执行 Add To Cart,结果中的步骤标题是 add sku-1。
Python 辅助函数也可用 core 的 tracera.step 或 @tracera.step("…")。
也会上报:FOR、IF、WHILE、TRY、ELSE、EXCEPT 和 FINALLY(不含循环迭代)。TraceraKeywords 的调用不会作为步骤上报。
注释、错误与附件
评论、错误与附件:自动化测试适配器。
*** Settings ***
Library tracera_robot.keywords.TraceraKeywords
*** Keywords ***
Open Login
Tracera Comment landed on login
Tracera Attach Text suite-log.txt finished login flow
*** Test Cases ***
Login
[Tags] tracera.id:42 tracera.name:e2e/login
Tracera Comment result-level note
Tracera Error result-level error text
Open Login
从磁盘附加文件:Tracera Attach File ${path} image/png。
参数化测试
使用 Robot [Template] 时,写在测试上的 [Tags] 作用于模板下的每一行参数:
*** Test Cases ***
Login row
[Tags] tracera.id:42 tracera.name:e2e/login
[Template] Open Path
/login
/login/sso
*** Keywords ***
Open Path
[Arguments] ${path}
Log ${path}
每行参数要不同的用例 id:为每行单独建测试并写各自的 [Tags](同「绑定」)。