我是RobotFramework的新手,我正在尝试做一个简单的测试。打印一个" Hello world"使用Log关键字并从java类中获取值(我在骑行时使用jybot):
*** Settings ***
Library robot.MyTest
*** Test Cases ***
Test1
Log Hello World INFO
Get Value
*** Keywords ***
Get Value
Get Value
但是当我运行它时,测试不会通过,它会给我这个错误:
Starting test: MyTest.Test1
20140817 01:00:15.683 : INFO : Hello world
20140817 01:00:15.798 : FAIL : Maximum limit of started keywords exceeded.
Ending test: MyTest.Test1
我已经搜索过了,但我仍然不知道这个。
答案 0 :(得分:7)
您的测试会调用关键字Get Value
,该关键字会调用关键字Get Value
。你创建了一个无限递归。 Get Value
拨打Get Value
,拨打Get Value
,呼叫Get Value
,呼叫... {/ p>
最好的解决方案是最简单的解决方案:不要创建自己调用的关键字。如果已存在具有给定名称的关键字,请不要创建具有相同名称的另一个关键字。虽然你可以让它有两个同名的工作,但它会让你的测试用例更难理解。
如果您有另一个名为Get Value
的关键字,并且您只需要两个具有相同名称的关键字,则可以提供完全限定名称,以便机器人不会再次调用相同的关键字。例如,如果您的Get Value
试图从Get Value
拨打robot.myTest
,请将其称为:
*** Keywords ***
Get Value
robot.myTest.Get Value