2013-07-09 63 views
1

我正在使用Robot Framework來測試大量的Java文件,而且我想要添加幾個Groovy文件。我讀過這是可能的,因爲編譯的Groovy文件就像編譯的Java文件一樣是一個.class文件。Robot Framework沒有看到Groovy關鍵字

這是我的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

編輯:這個答案是僅適用於其中所使用的類名「測試」的原始張貼。

問題是已經有一個名爲test的模塊,它包含由Robot Framework而不是您的測試庫加載的Jython本身的單元測試。嘗試一個更類似TestGroovyLibrary的描述性類名稱。在RIDE

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

輸出:

 

    >>> 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 
     ... 

看看發生了什麼裝,你可以做到這一點

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 
+0

對此深感抱歉,我簡化了類是我的名字和方法讓他們更容易閱讀。我實際上並沒有使用稱爲測試的類,但是這在將來很有用。我已經更新了我的問題。 – bunduru

相關問題