You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Robot Framework失败测试用例逗号分隔列表用于Jenkins重跑?

两种简便实现方案

方案一:用Robot Framework自带的rebot命令提取(无需修改测试代码)

在Jenkins构建步骤中,测试执行完成后添加一个shell步骤,用rebot工具直接从output.xml中提取失败用例,再转成逗号分隔格式:

# 提取所有失败用例的名称(每行一个)
failed_tests=$(rebot --list failed output.xml)
# 将换行替换为逗号,并移除末尾多余的逗号
failed_test_list=$(echo "$failed_tests" | tr '\n' ',' | sed 's/,$//')
# 可选:将结果写入环境变量文件,供后续构建步骤使用
echo "FAILED_TESTS=${failed_test_list}" >> ${WORKSPACE}/failed_tests.env

执行后,failed_test_list就是你需要的逗号分隔字符串,直接传给后续重跑任务即可。

方案二:用Robot Framework内置关键字生成(轻量代码实现)

如果想在测试过程中直接生成结果,不用额外命令行工具,可利用Robot 3.2+自带的内置关键字,在全局套件拆解中统一处理:

*** Settings ***
Suite Teardown    Collect & Export Failed Tests

*** Keywords ***
Collect & Export Failed Tests
    # 直接获取所有失败测试用例的名称列表
    ${failed_test_names}=    Get Failed Tests
    # 将列表拼接为逗号分隔的字符串
    ${failed_test_string}=    Join List    ${failed_test_names}    ,
    # 输出到控制台,方便Jenkins捕获
    Log To Console    [FAILED_TESTS] ${failed_test_string}
    # 可选:写入文件,便于后续读取
    Create File    ${OUTPUT_DIR}/failed_tests.txt    ${failed_test_string}

这个方案比手动维护全局变量的思路更简洁,Get Failed Tests会自动收集所有层级的失败用例,无需在每个测试拆解里单独处理。

内容的提问来源于stack exchange,提问作者JollyJoker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 19:10:07