我面临类似的问题: Robot Framework:: Imported library 'class' contains no keywords
此处,用户声称已通过在.robot文件的“设置”部分中添加FileName.ClassName来解决此问题。我尝试了同样的方法,通过添加" Library test.MyLib"但是给了我错误"导入测试库' test.MyLib'失败:模块'测试'不包含' MyLib'" 。但是,当我删除并恢复到" Library test"时,我会收到警告" [WARN]导入的库'测试'不包含任何关键字" ,错误为"没有名称的关键字'你好'找到。" 我的代码如下:
class MyLib(object):
__all__ = ['hello']
def __init__(self):
name = "Wrath"
def hello(self, *args):
name = self.args[0]
print "Hello "+name
*** Settings ***
Documentation Suite description
Library test
*** Test Cases ***
Test title
[Tags] DEBUG
hello Sloth
*** Keywords ***
如果我就上述问题提供建议,那将非常有帮助。已经尝试过官方机器人框架文档和网上的一些例子,但似乎我做得对。但我有一种感觉,我可能会错过一些小而重要的东西。准确地说,关键字部分可能是?
答案 0 :(得分:2)
好的,我的坏。阅读Robot Framework的官方文档后,我有点困惑。经过多次反复试验,我发现了我做错了什么。我终于跑了,这是我的观察:
如果您确定上述内容,只要您的程序中没有任何语法或逻辑错误且框架环境正确,您的测试套件应该可以顺利执行。
答案 1 :(得分:1)
根据您描述的症状,听起来您有另一个机器人正在加载的“test.py”文件,而不是您认为正在加载的关键字文件。
确定这种方法的一种方法是生成syslog,它将告诉您实际导入的文件。
您可以尝试的另一件事是将您的库重命名为“test.py”之外的其他内容,然后相应地修改您的import语句。如果它与其他名称一起使用,则证明您的环境中有多个“test.py”。