You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Robot Framework导入Python子类遇ModuleNotFoundError求助

解决Robot Framework导入子类时的ModuleNotFoundError问题

常见原因及解决办法

1. 让Python能找到你的myclass.py

Robot Framework调用Python库时,依赖Python的模块搜索路径定位文件。如果myclass.py不在当前运行的工作目录,也不在Python默认搜索路径里,就会触发找不到模块的错误。

  • 临时救急(在测试用例中添加路径):在测试用例开头用Execute Python Script把myclass.py所在目录加入sys.path:

    *** Settings ***
    Library    BuiltIn
    
    *** Test Cases ***
    Test Subclass Import
        Execute Python Script    import sys; sys.path.append(r'这里替换成myclass.py所在的实际文件夹路径')
        Library    myclass.MyTestClass1    WITH NAME    my
        my.test1
    

    注意把路径换成你实际存放myclass.py的目录,比如文件在C:\Users\zhouvjie\oran_ta_framework\Libraries,就把路径改成该地址。

  • 一劳永逸(设置环境变量):把myclass.py所在目录添加到系统的PYTHONPATH环境变量中,这样每次运行Python都会自动搜索该目录,无需在测试用例中重复配置。

2. 同目录文件尝试添加相对路径标识

如果myclass.py和你的test.robot在同一个文件夹下,导入时加上./试试:

Library    ./myclass.MyTestClass1    WITH NAME    my

3. 检查拼写与大小写

别忽略基础错误:

  • 确认myclass.py的文件名拼写无误,注意大小写(Windows系统不区分,但Linux/macOS需严格对应)
  • 子类MyTestClass1在代码中的名称与导入时完全一致,避免大小写或笔误问题

4. 转为Python包(适配复杂项目)

如果项目文件较多,可将myclass.py放入单独文件夹(比如命名为test_libraries),并在该文件夹内新建一个空的__init__.py文件,将其转为Python包。之后导入方式改为:

Library    test_libraries.myclass.MyTestClass1    WITH NAME    my

记得把test_libraries所在目录添加到PYTHONPATH,或使用相对路径导入。

内容的提问来源于stack exchange,提问作者fiveslam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 22:37:26