将测试编号从robotframework传递到python
我有一个机器人测试台,正在运行pybot。robot/pybot调用python函数。我可以将测试编号传递给python函数吗 我意识到我可以通过在我的机器人测试表中添加一个数字来实现这一点,但这样做很痛苦,因为它是一个带有格式的巨大表。还有别的办法吗 测试如下(实际测试表的较短形式,太大而无法粘贴) 因此,当我在python中调用mytest.searchlog()时(mytest是我的python文件),我如何告诉它这是第三个测试用例 我正在用pybot运行它将测试编号从robotframework传递到python,python,robotframework,Python,Robotframework,我有一个机器人测试台,正在运行pybot。robot/pybot调用python函数。我可以将测试编号传递给python函数吗 我意识到我可以通过在我的机器人测试表中添加一个数字来实现这一点,但这样做很痛苦,因为它是一个带有格式的巨大表。还有别的办法吗 测试如下(实际测试表的较短形式,太大而无法粘贴) 因此,当我在python中调用mytest.searchlog()时(mytest是我的python文件),我如何告诉它这是第三个测试用例 我正在用pybot运行它 pybot --variabl
pybot --variable Bucket:mybucket ..... testfile.rst
在我看来,您可以使用一个计数器来实现这一点,该计数器重置每个测试用例,并将其值存储在测试用例变量范围中 使用发现的数据驱动示例,我创建了下面的示例,其中测试用例添加了
[setup]
部分,并且每次为每个数据记录调用的关键字都有[teardown]
部分。虽然它也可以在关键字内部处理
*** Test Cases ***
Calculation error [Template] Calculation should fail
[setup] Set Test Variable ${counter} 0
kekkonen Invalid button 'k'.
${EMPTY} Invalid expression.
1 / 0 Division by zero.
*** Keywords ***
Calculation should fail
[Arguments] ${expression} ${expected}
${error} = Should cause error C${expression}=
Should be equal ${expected} ${error} # Using `BuiltIn` keyword
[teardown] Counter
Counter
${countr}= Get Variable Value ${counter}
${countr}= evaluate ${countr}+1
Set Test Variable ${counter} ${countr}
变量可以在测试用例的范围内调用,这还包括在给定测试用例中调用的关键字
*** Test Cases ***
Calculation error [Template] Calculation should fail
[setup] Set Test Variable ${counter} 0
kekkonen Invalid button 'k'.
${EMPTY} Invalid expression.
1 / 0 Division by zero.
*** Keywords ***
Calculation should fail
[Arguments] ${expression} ${expected}
${error} = Should cause error C${expression}=
Should be equal ${expected} ${error} # Using `BuiltIn` keyword
[teardown] Counter
Counter
${countr}= Get Variable Value ${counter}
${countr}= evaluate ${countr}+1
Set Test Variable ${counter} ${countr}