我正在使用 RobotFramework 设置一个 python 项目,它抛出 No module named 错误,即使我在 init.resource 中添加了一个 Library 条目。
另外,我在文件所在的文件夹中创建了一个空的init.py,以便可以找到python文件。
我的项目结构如下:
我的代码如下:
初始化机器人
*** Settings ***
Library MyLibrary.py
Test Setup Setup
Test Teardown Do Teardown
HelloVariable.robot
*** Settings ***
Resource init.resource
*** Test Cases ***
My First Robot Test
Say Hello From Library
Log To Console ${Data}
初始化资源
*** Settings ***
Library test.py
Library MyLibrary.py
Library ProtoFolder/ProtoService.py
我的图书馆.py
# mylibrary.py
from robot.api.deco import keyword
from robot.libraries.BuiltIn import BuiltIn
from robot.api import logger
import json
from InitProject.ProtoFolder.ProtoService import *
class MyLibrary:
def __init__(self):
self.data = None
@keyword("Setup")
def setup(self):
logger.console("Setting up test environment...")
self.data = {"key1": "value1", "key2": "value2"}
BuiltIn().set_test_variable("${Data}", self.data)
with open('/InitProject/ProtoFolder/RobotFramework/test.json') as f:
data = json.load(f)
logger.console(data)
@keyword("Do Teardown")
def teardown_test_environment(self):
logger.console("Tearing down test environment...")
self.data = None
ProtoService.proto_methods()
ProtoService.py
from robot.api import logger
from robot.api.deco import keyword
from robot.libraries.BuiltIn import BuiltIn
class ProtoService:
def proto_methods(self):
logger.console("Proto Method Called")
实际错误:
er/RobotFramework/MyLibrary.py' failed: ModuleNotFoundError: No module named 'InitProject'
Traceback (most recent call last):
File "/Users/user/Python/pythonProject4/InitProject/ProtoFolder/RobotFramework/MyLibrary.py", line 7, in <module>
from InitProject.ProtoFolder.ProtoService import *
PYTHONPATH:
根据错误消息,似乎 Python 解释器找不到 'InitProject' 模块。
要解决此问题,您可以尝试将“InitProject”模块的路径添加到 PYTHONPATH 环境变量中。这可以在终端中使用以下命令来完成:
export PYTHONPATH=/path/to/InitProject:$PYTHONPATH
确保将 /path/to/InitProject 替换为“InitProject”文件夹的实际路径。