机器人框架:datadriver 库未从 csv 文件中找到变量
Robot framework: datadriver Library not finding variable from csv file
我在尝试使用机器人框架设置数据驱动程序库时遇到问题。我错误地发现其中一个变量未找到。如果我将此变量添加到我的机器人文件中的变量部分,则读取它没有问题。如果我第一次这样做,错误会向上移动到文件中的第二个变量。当我通过省略一个字符更改 csv 文件的路径时,它给出了一个未找到的错误,如果给出了正确的路径,我的 csv 文件中的值确实会出现在日志记录中。读取 csv 文件似乎不是问题,但正确解释它似乎是。我猜我的 csv 文件有问题,但我找不到,我尝试添加单引号和双引号。
CSV 文件:
*** Test Cases ***,${i},${env},${parameter1},${parameter2},${parameter3}
,1,kv,2600787879882,9999000200,${EMPTY}
,2,kv,2600787879882,9999000200,${EMPTY}
机器人文件中的库、关键字和测试用例:
Library DataDriver ../CSVFiles/cardscan2.csv
*** Test Cases ***
Cardscan with ${i} ${env} ${parameter1} ${parameter2} ${parameter3}
*** Keywords ***
Cardscan
[Arguments] ${i} ${env} ${parameter1} ${parameter2} ${parameter3}
Create request
Create expected response
Send soap message
Check response
有什么问题的建议吗?
有几个问题:需要定义一个模板,把“,”换成“;”在 csv 中并将测试用例用作测试用例的模板名称,而不是将其作为关键字的输入变量。
这是完整的工作解决方案:
csv:
*** Test Cases ***;${i};${env};${parameter1};${parameter2};${parameter3}
;1;kv;2600787879882;9999000200;${EMPTY}
;2;kv;2600787879882;9999000200;${EMPTY}
机器人:
*** Settings ***
Library DataDriver ../CSVFiles/cardscan2.csv
Test Template Cardscan
*** Test Cases ***
Cardscan With ${i} ${env} ${parameter1} ${parameter2} ${parameter3}
*** Keywords ***
Cardscan
[Arguments] ${i} ${env} ${parameter1} ${parameter2} ${parameter3}
# ... your other keywords ...
这将导致:
Demo
==============================================================================
Cardscan With 1 kv 2600787879882 9999000200 | PASS |
-----------------------------------------------------------------------------
Cardscan With 2 kv 2600787879882 9999000200 | PASS |
------------------------------------------------------------------------------
我在尝试使用机器人框架设置数据驱动程序库时遇到问题。我错误地发现其中一个变量未找到。如果我将此变量添加到我的机器人文件中的变量部分,则读取它没有问题。如果我第一次这样做,错误会向上移动到文件中的第二个变量。当我通过省略一个字符更改 csv 文件的路径时,它给出了一个未找到的错误,如果给出了正确的路径,我的 csv 文件中的值确实会出现在日志记录中。读取 csv 文件似乎不是问题,但正确解释它似乎是。我猜我的 csv 文件有问题,但我找不到,我尝试添加单引号和双引号。
CSV 文件:
*** Test Cases ***,${i},${env},${parameter1},${parameter2},${parameter3}
,1,kv,2600787879882,9999000200,${EMPTY}
,2,kv,2600787879882,9999000200,${EMPTY}
机器人文件中的库、关键字和测试用例:
Library DataDriver ../CSVFiles/cardscan2.csv
*** Test Cases ***
Cardscan with ${i} ${env} ${parameter1} ${parameter2} ${parameter3}
*** Keywords ***
Cardscan
[Arguments] ${i} ${env} ${parameter1} ${parameter2} ${parameter3}
Create request
Create expected response
Send soap message
Check response
有什么问题的建议吗?
有几个问题:需要定义一个模板,把“,”换成“;”在 csv 中并将测试用例用作测试用例的模板名称,而不是将其作为关键字的输入变量。
这是完整的工作解决方案:
csv:
*** Test Cases ***;${i};${env};${parameter1};${parameter2};${parameter3}
;1;kv;2600787879882;9999000200;${EMPTY}
;2;kv;2600787879882;9999000200;${EMPTY}
机器人:
*** Settings ***
Library DataDriver ../CSVFiles/cardscan2.csv
Test Template Cardscan
*** Test Cases ***
Cardscan With ${i} ${env} ${parameter1} ${parameter2} ${parameter3}
*** Keywords ***
Cardscan
[Arguments] ${i} ${env} ${parameter1} ${parameter2} ${parameter3}
# ... your other keywords ...
这将导致:
Demo
==============================================================================
Cardscan With 1 kv 2600787879882 9999000200 | PASS |
-----------------------------------------------------------------------------
Cardscan With 2 kv 2600787879882 9999000200 | PASS |
------------------------------------------------------------------------------