如何在Robot Framework中创建CSV文件并实现动态值追加功能
Robot Framework 生成并追加CSV文件实现方案
方案1:使用CSVLibrary实现(推荐,自动处理格式转义)
这是最便捷的实现方式,CSVLibrary会自动处理字段含逗号、引号等特殊字符的场景,避免CSV格式错乱。
- 第一步:先安装依赖库
pip install robotframework-csvlibrary - 第二步:编写测试用例代码
*** Settings *** Library CSVLibrary Library Collections # 下方Faker库用于生成动态测试数据,无需动态生成可删除 Library Faker *** Test Cases *** 创建并操作CSV文件 # 定义表头与初始数据 ${header} Create List Header1 Header2 Header3 ${init_row1} Create List Value1 Value2 Value3 ${init_row2} Create List Value11 Value22 Value33 ${init_rows} Create List ${init_row1} ${init_row2} # 首次创建CSV文件并写入表头、初始数据 Append List To Csv File ./test.csv ${header} overwrite=${True} Append Rows To Csv File ./test.csv ${init_rows} # 动态生成5行数据并追加 FOR ${index} IN RANGE 5 # 动态值可根据业务需求自定义,示例用Faker生成随机值,也可直接写自增逻辑如${col1} Set Variable NewValue${index} ${col1} Faker.Generate word ${col2} Faker.Generate random_int min=1 max=999 ${col3} Faker.Generate date_this_month ${new_row} Create List ${col1} ${col2} ${col3} Append List To Csv File ./test.csv ${new_row} END
方案2:仅用内置库实现(无需安装第三方依赖)
适合轻量场景,无需额外安装库,注意如果字段包含特殊字符需要手动转义:
*** Settings *** Library OperatingSystem Library String *** Test Cases *** 原生库实现CSV操作 ${csv_path} Set Variable ./test_native.csv # 写入表头和初始数据 ${header_line} Catenate SEPARATOR=, Header1 Header2 Header3 ${row1_line} Catenate SEPARATOR=, Value1 Value2 Value3 ${row2_line} Catenate SEPARATOR=, Value11 Value22 Value33 ${init_content} Catenate SEPARATOR=\n ${header_line} ${row1_line} ${row2_line} Create File ${csv_path} ${init_content}\n encoding=utf-8 # 动态生成数据追加示例 FOR ${index} IN RANGE 5 ${col1} Set Variable DynamicVal${index} ${col2} Evaluate ${index} * 10 ${col3} Get Current Date result_format=%Y-%m-%d ${new_line} Catenate SEPARATOR=, ${col1} ${col2} ${col3} Append To File ${csv_path} ${new_line}\n encoding=utf-8 END
注意:如果你的字段内容本身包含逗号、双引号,方案2需要手动给字段加双引号包裹并转义内容里的双引号,这种场景优先用方案1。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

