2017-01-06 51 views
0

我有一个机器人测试表并且正在运行pybot。 robot/pybot调用一个python函数。我可以将测试编号传递给我的python函数吗?将机器人框架的测试编号传递给python

我知道我可以通过在我的机器人测试表中添加一个数字来做到这一点,但是这样做很痛苦,因为它的格式很大。有另一种方法吗?

。测试就像(较短的形式实际测试表,它太大粘贴)

================================================= 
Test Case   Action   Arguments 
================================================= 
Test connection mytest.setup  ${Bucket} 
Verify files  mytest.verify  ${filename} 
Search logs  mytest.searchlog ${string_to_search} 
================================================== 

所以,当我打电话mytest.searchlog()在python(mytest的是我的Python文件),如何我是否告诉它,这是第三个测试用例?

我与pybot运行它

pybot --variable Bucket:mybucket ..... testfile.rst 

回答

1

在我看来,你可以用一个计数器复位所有的测试案例,并将其存储在测试用例变量范围值实现这一点。

使用数据驱动的例子发现here我创建了以下示例,其中,测试案例具有[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} 

变量可以在测试用例的范围内调用,也包括在给定测试用例中调用的关键字。

+0

非常感谢! – Illusionist

相关问题