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