为用户定义的方法将测试库导入 Robot Framework

Importing test library to Robot Framework for user defined methods

我创建了 Testclass.py 如下:

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

我从我的 login.robot 文件访问它作为

Library   Testclass

并且我从我的 Robot Framework 套件文件中调用了方法 testmethod

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

Error in file 'login.robot': Importing test library 'Testclass' failed: ImportError: No module named Testclass

如果我不定义 class 并且只定义它工作的方法。

问题只是机器人找不到您的图书馆。它只在您的 PYTHONPATH 中查找。因此,一种解决方案是将库的路径添加到 PYTHONPATH 环境变量中。

如果你不想改变你的 PYTHONPATH,你也可以使用 pybot 的 --pythonpath 选项。

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

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

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

如果您想将文件的路径硬编码到您的测试用例中,您也可以通过路径指定文件。如果这样做,文件中的 class 名称必须与文件名匹配(例如:Testclass.py 中的 class Testclass)。

例如:

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

机器人框架用户指南中的 Specifying library to import.

部分对此进行了介绍

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

Library  Testclass.py

Make sure that class and python file Name are the same.