机器人框架:数据驱动程序库没有从csv文件中找到变量



在尝试使用机器人框架设置数据驱动程序库时遇到问题。如果没有找到其中一个变量,就会出错。如果我将这个变量添加到我的机器人文件中的变量部分,那么读取它就没有问题了。如果我对第一个变量执行此操作,则错误向上移动到文件中的第二个变量。当我通过省略一个字符来更改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 |
------------------------------------------------------------------------------

最新更新