Robot Framework没有看到Groovy关键字

时间:2013-07-09 16:02:09

标签: groovy robotframework

我正在使用Robot Framework来测试大量的Java文件,我想要添加几个Groovy文件。我已经读过这是可能的,因为编译的Groovy文件是一个.class文件,就像编译的Java文件一样。

这是我的Groovy文件;

import java.io.IOException;

class GroovyTest 
{   
    public String t1(){
        return 'PASS'   
    }
} 

这是我的机器人文件;

|  *** Settings ***  |

|  Library  |  GroovyTest  |


|  *** Test Cases ***  |

|  Groovy Sanity   |  [Documentation]  |  set pass string  |
|  \  |  GroovyTest.t1       |
|  \  |  Return GROOVY state  |


|  *** Keywords ***  |

|  Return GROOVY state  |
|  \  |  ${value}=        |  GroovyTest.t1    |
|  \  |  [return]         |  ${value}              |
|  \  |  Should Be Equal  |  ${value}              |  PASS    |

这与我设置所有Java测试用例和关键字的方式完全相同。使用Groovy,我收到了这个错误;

[ WARN ] Imported library 'GroovyTest' contains no keywords

1 个答案:

答案 0 :(得分:1)

编辑:此答案仅适用于使用类名“test”的原始发布。

问题是已经存在一个名为test的模块,其中包含Jython本身的单元测试,由Robot Framework而不是测试库加载。尝试更具描述性的类名,如TestGroovyLibrary。


    >>> import test
    >>> help(test)
    Help on package test:

    NAME
        test - # Dummy file to make this directory a package.

    FILE
        c:\apps\jython2.5.3\lib\test\__init__.py

    PACKAGE CONTENTS
        Graph
        access_protected_class
        access_protected_field
        anygui
        autotest
        bad_coding
        ...

要查看已加载的内容,您可以执行以下操作:

${library}=    Get Library Instance    test
Log    ${library.__file__}

RIDE中的输出:

20130711 10:12:54.117 :  INFO : ${library} = <module 'test' from C:\apps\jython2.5.3\Lib\test\__init__$py.class'\>  
20130711 10:12:54.130 :  INFO : C:\apps\jython2.5.3\Lib\test\__init__$py.class