Pybot会发现错误"找不到关键字"和"导入测试库失败"使用Pycharm执行.robot时

时间:2015-09-08 11:49:28

标签: python robotframework

我面临类似的问题: Robot Framework:: Imported library 'class' contains no keywords

此处,用户声称已通过在.robot文件的“设置”部分中添加FileName.ClassName来解决此问题。我尝试了同样的方法,通过添加" Library test.MyLib"但是给了我错误"导入测试库' test.MyLib'失败:模块'测试'不包含' MyLib'" 。但是,当我删除并恢复到" Library test"时,我会收到警告" [WARN]导入的库'测试'不包含任何关键字" ,错误为"没有名称的关键字'你好'找到。" 我的代码如下:

test.py

class MyLib(object):
__all__ = ['hello']

def __init__(self):
    name = "Wrath"

def hello(self, *args):
    name = self.args[0]
    print "Hello "+name

test.robot

*** Settings ***
Documentation  Suite description
Library  test

*** Test Cases ***
Test title
    [Tags]  DEBUG
    hello  Sloth

*** Keywords ***

如果我就上述问题提供建议,那将非常有帮助。已经尝试过官方机器人框架文档和网上的一些例子,但似乎我做得对。但我有一种感觉,我可能会错过一些小而重要的东西。准确地说,关键字部分可能是?

2 个答案:

答案 0 :(得分:2)

好的,我的坏。阅读Robot Framework的官方文档后,我有点困惑。经过多次反复试验,我发现了我做错了什么。我终于跑了,这是我的观察:

  1. 首先,我将库分开,并为我正在执行的每个程序形成一个干净的目录结构。
  2. 其次,确保关键字(我在静态API上工作)与.robot文件中的参数之间恰好有2个空格(即'')。
  3. 在库文件" MyLibrary.py"中重命名该类。除了" MyLibrary"以外的任何事情,说" MyClass"。这可以帮助避免像我这样的初学者的混乱。然后,将课程包括为" Library MyLibrary.MyClass"在"设置" .robot文件的标题。
  4. 如果您确定上述内容,只要您的程序中没有任何语法或逻辑错误且框架环境正确,您的测试套件应该可以顺利执行。

答案 1 :(得分:1)

根据您描述的症状,听起来您有另一个机器人正在加载的“test.py”文件,而不是您认为正在加载的关键字文件。

确定这种方法的一种方法是生成syslog,它将告诉您实际导入的文件。

您可以尝试的另一件事是将您的库重命名为“test.py”之外的其他内容,然后相应地修改您的import语句。如果它与其他名称一起使用,则证明您的环境中有多个“test.py”。