1

我是 RobotFramework 的新手,我正在尝试做一个简单的测试。使用 Log 关键字打印“Hello world”并从 java 类中获取值(我在 Ride 上使用 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

我已经搜索过了,但我仍然对此一无所知。

4

1 回答 1

9

您的测试调用关键字Get Value,它调用关键字Get Value。你已经创建了一个无限递归。Get Value调用Get Value哪个调用Get Value哪个调用Get Value哪个调用...

最好的解决方案是最简单的:不要创建一个自称的关键字。如果已经有一个具有给定名称的关键字,请不要创建另一个具有相同名称的关键字。虽然你可以让它有两个同名的,但这会让你的测试用例更难理解。

如果您调用了另一个关键字Get Value,并且您必须有两个具有相同名称的关键字,您可以提供完全限定的名称,这样机器人就不会再次调用相同的关键字。例如,如果您Get Value尝试调用Get Valuefrom robot.myTest,请像这样调用它:

*** Keywords ***
Get Value
    robot.myTest.Get Value
于 2014-08-17T03:22:58.850 回答