Robot Framework 看不到 Groovy 关键字
Posted
技术标签:
【中文标题】Robot Framework 看不到 Groovy 关键字【英文标题】:Robot Framework doesn't see Groovy Keywords 【发布时间】:2013-07-07 08:05:46 【问题描述】:我正在使用 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】:编辑:此答案仅适用于使用类名“test”的原始帖子。
问题是已经有一个名为 test 的模块,其中包含 Jython 本身的单元测试,该模块由 Robot Framework 而不是您的测试库加载。尝试一个更具描述性的类名,例如 TestGroovyLibrary。
>>> 导入测试 >>> 帮助(测试) 包测试帮助: 姓名 test - # 虚拟文件使这个目录成为一个包。 文件 c:\apps\jython2.5.3\lib\test\__init__.py 包装内容 图形 access_protected_class access_protected_field 随便 自动测试 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
【讨论】:
抱歉,我简化了我使用的类和方法的名称,以便于阅读。我实际上并没有使用名为 test 的类,但是将来知道这一点很高兴。我已经更新了我的问题。以上是关于Robot Framework 看不到 Groovy 关键字的主要内容,如果未能解决你的问题,请参考以下文章
Ride Robot Framework IDE - Mac 界面故障
在 Robot Framework 中找不到 IN 关键字。如何在不使用 IN 关键字的情况下使用 for 循环?
Robot Framework-Locator not found-Ebay 网站