【问题标题】:Using a directory structure for robot framework testing使用目录结构进行机器人框架测试
【发布时间】:2014-09-30 13:29:35
【问题描述】:

我想在 Robot Framework 中运行测试。

我还想要机器人框架测试的以下目录结构:

  • 根目录
    • 图书馆
      • 库.py
    • 资源文件
      • 资源.txt
    • 测试
      • test_1.txt
      • test_2.txt

或者类似的东西。但是,我不知道如何编写测试,以便他们可以访问我的库和资源文件。例如,如何从 Tests\test_1.txt 导入 Libraries\Library.py。

解决这个问题的最佳方法是什么?
是否有访问父目录中文件的语法?
我应该在每个测试文件中导入资源和库文件,还是有办法只导入一次?

【问题讨论】:

    标签: testing robotframework


    【解决方案1】:

    Robot 会自动定义一个 ${EXECDIR} 变量,我们正在使用该变量来代替 Bryan 回答中的 ${ROOT}

    优点:

    • 独立于系统

    缺点:

    • 可能取决于您调用 PyBot 的方式(命令提示符中的工作目录,或者您在 RIDE 中打开的文件夹)

    【讨论】:

    • EXECDIR 正是我所需要的!
    【解决方案2】:

    使用相对导入

    Robot 支持相对导入。您可以使用.. 来表示目录的父级。在您的示例中,您会这样做:

    *** Settings ***
    | Resource | ../Resource Files/Resource.txt
    | Library  | ../Libraries/Library.py
    

    在变量中定义根

    您可以在设置表中使用变量,这样您就可以定义一个指向存储库根目录的变量。您可以将此变量用于所有导入。例如:

    *** Settings ***
    | Resource | ${ROOT}/Resource Files/Resource.txt
    | Library  | ${ROOT}/Libraries/Library.py
    

    您可以在命令行中使用--variable 选项设置此变量:

    $ pybot --variable ROOT /path/to/root tests
    

    【讨论】:

    • 谢谢,这会派上用场的。
    猜你喜欢
    • 2020-07-31
    • 2017-11-19
    • 2014-11-17
    • 2016-05-03
    • 2016-04-16
    • 2021-04-13
    • 2021-04-24
    • 2021-02-04
    • 1970-01-01
    相关资源
    最近更新 更多