我创建了Testclass.py,如下所示:
class Testclass(object):
def testmethod(self):
print "Hi"
我从.robot文件中访问它
Library Testclass
我打电话给方法testmethod。
但是当我通过命令行运行pybot login.robot时我得到导入错误
文件'login.robot'出错:导入测试库'Testclass'失败:ImportError:没有名为Testclass的模块
如果我没有定义类,只定义方法就可以了。
答案 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文件名相同。