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

RPA.Tables能否实现与PrettyTable一致的表格输出展示效果?

实现方案

方案1:复用Python PrettyTable逻辑(推荐,和原有Python实现逻辑一致)

第一步:编写Python自定义关键字文件prettytable_utils.py,代码如下:

from prettytable import PrettyTable
from robot.api import logger

def generate_prettytable(headers, rows):
    table = PrettyTable(field_names=headers)
    for row in rows:
        table.add_row(row)
    table_str = str(table)
    logger.info(table_str)
    return table_str

第二步:在Robot Framework脚本中导入并调用:

*** Settings ***
Library    prettytable_utils.py

*** Test Cases ***
生成运行结果表格
    @{table_headers}    Create List    用例名称    运行结果    耗时
    @{row1}    Create List    登录校验    PASS    120ms
    @{row2}    Create List    数据上传    FAIL    350ms
    @{table_rows}    Create List    ${row1}    ${row2}
    ${output_table}    Generate Prettytable    ${table_headers}    ${table_rows}
    Log    运行结果表格:\n${output_table}

方案2:使用RPA.Tables库原生实现

原有写法错误原因是传入的嵌套字典不符合Create Table的入参格式,正确用法如下:

*** Settings ***
Library    RPA.Tables

*** Test Cases ***
RPA.Tables生成表格
    &{row1}    Create Dictionary    用例名称=登录校验    运行结果=PASS    耗时=120ms
    &{row2}    Create Dictionary    用例名称=数据上传    运行结果=FAIL    耗时=350ms
    @{table_data}    Create List    ${row1}    ${row2}
    ${table_obj}    Create Table    ${table_data}
    ${table_str}    Table To String    ${table_obj}
    Log    ${table_str}

方案3:手动拼接Markdown格式表格

如果需要适配Markdown格式的输出报告,可直接拼接字符串实现:

*** Test Cases ***
生成Markdown表格
    @{headers}    Create List    用例名称    运行结果    耗时
    ${md_table}    Set Variable    |${"|".join(${headers})}|\n|${"---|".join([""]*(${len(headers)}+1))}\n
    @{row1}    Create List    登录校验    PASS    120ms
    ${md_table}    Catenate    ${md_table}    |${"|".join(${row1})}|\n
    Log    ${md_table}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 05:36:03