导入库不包含关键字

问题描述 投票:0回答:3

我是机器人框架的初学者。我想使用我自己的库,导入并编写测试用例。不幸的是,我遇到了错误“导入库不包含关键字”。我已经浏览了堆栈溢出中与此相关的一些帖子,但我仍然'我无法找出机器人框架中的问题。我可能正在做一些愚蠢的事情。 这是我的Python代码

class ExampleLibrary(object):

    def __init__(self):        
        print "Hello"
    def hello(self):
        print "The given name"

这是错误 [ WARN ] 导入库 RobotFramework\TestSuite\Testclass.py' 不包含关键字。

我已将 .py 文件放在与测试用例相同的目录中。

机器人框架脚本

*** Settings ***

Library           Testclass.py

*** Test Cases ***

LibraryTest

    hello

请帮忙

提前致谢

robotframework
3个回答
11
投票

您的库的类名必须与文件名相同。请看一下这个: http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#creating-test-library-class-or-module

class Testclass(object):

    def __init__(self):
        print "Hello"

    def hello(self):
        print "The given name"

2
投票

您应该遵循 Pekka 的回答或更改您的导入,如下所示:

*** Settings ***
Library  ExampleLibrary.TestClass

来自文档

Python 类始终位于模块内。如果实现库的类的名称与模块的名称相同,则 Robot Framework 允许在导入库时删除类名称。例如,MyLib.py 文件中的类 MyLib 可以用作名称为 MyLib 的库。这也适用于子模块,例如,如果parent.MyLib 模块具有类MyLib,则仅使用parent.MyLib 导入它即可。 如果模块名称和类名称不同,则必须使用模块名称和类名称来使用库,例如 mymodule.MyLibrary 或parent.submodule.MyLib。


0
投票

对于下一位读者:如果您正在运行此问题,还有一种情况是您尝试加载

Variable
但随后加载了
Library
。尝试将其从
Library
更改为
Variable
,它可能会发挥神奇作用。

示例:

- Library  Constant.py
+ Variable  Constant.py

CMIIW。

© www.soinside.com 2019 - 2024. All rights reserved.