为用户定义的方法导入测试库错误

时间:2015-09-28 22:10:43

标签: python python-2.7 import python-import robotframework

我创建了Testclass.py,如下所示:

class Testclass(object):
    def testmethod(self):
        print "Hi"

我从.robot文件中访问它

Library   Testclass

我打电话给方法testmethod。

但是当我通过命令行运行pybot login.robot时我得到导入错误

文件'login.robot'出错:导入测试库'Testclass'失败:ImportError:没有名为Testclass的模块

如果我没有定义类,只定义方法就可以了。

2 个答案:

答案 0 :(得分:3)

问题在于机器人无法找到你的图书馆。它只能看到PYTHONPATH中的位置。因此,一种解决方案是将库的路径添加到PYTHONPATH环境变量中。

如果您不想改变PYTHONPATH,也可以使用--pythonpath选项进行pybot。

例如,假设您的文件Testclass.py位于./robot/libraries文件夹中,您可以像这样运行测试:

pybot --pythonpath ./robot/libraries my_test_case.robot

有关此选项的更多信息,请参阅机器人框架用户指南中的Configuring where to search libraries and other extensions部分。

如果要将文件路径硬编码到测试用例中,还可以按路径指定文件。如果这样做,文件中的类名必须与文件名匹配(例如:class Testclass中的Testclass.py)。

例如:

*** Settings ***
| Library | robot/libraries/Testclass.py

机器人框架用户指南在Specifying library to import部分中介绍了这一点。

答案 1 :(得分:0)

如果您的Testclass.py库和.robot文件位于同一文件夹中,请使用以下内容:

Library  Testclass.py

确保类和python文件名相同。