Robot Framework的DataDriver库无法读取CSV文件内变量问题求助
问题根因
- CSV表头标识错误:DataDriver要求CSV文件首行首列必须为
***Variables***,用于标识后续列对应参数化变量名。你当前使用*** Test Cases ***作为首列值,解析器无法正确识别变量定义,只会将首行当作用例内容处理,因此依次报错变量未找到,手动在robot变量段补充某变量后,解析逻辑会顺延到下一个未识别的变量,和你遇到的现象完全匹配。 - 测试用例未关联模板:现有测试用例仅写了参数占位,未指定关联
Cardscan关键字作为执行模板,参数无法正确映射到关键字入参。 - 低版本DataDriver对CSV空首列兼容差:你用例行首列为空,部分旧版本的DataDriver解析时会出现列偏移,也会触发变量不匹配的报错。
解决步骤
- 修正CSV文件格式,替换表头标识,补全用例行首列的用例名称:
***Variables***,${i},${env},${parameter1},${parameter2},${parameter3} Cardscan测试用例1,1,kv,2600787879882,9999000200,${EMPTY} Cardscan测试用例2,2,kv,2600787879882,9999000200,${EMPTY}
- 修正robot文件的测试用例配置,添加
[Template]指定关联的关键字:
Library DataDriver ../CSVFiles/cardscan2.csv *** Test Cases *** Cardscan with ${i} ${env} ${parameter1} ${parameter2} ${parameter3} [Template] Cardscan *** Keywords *** Cardscan [Arguments] ${i} ${env} ${parameter1} ${parameter2} ${parameter3} Create request Create expected response Send soap message Check response
- 若仍存在解析异常,可在导入DataDriver时显式指定分隔符,避免CSV格式兼容问题:
Library DataDriver ../CSVFiles/cardscan2.csv delimiter=,
内容的提问来源于stack exchange,提问作者Jealgu
相关产品推荐
相关产品推荐

