【问题标题】:__init__.txt in Robot Framework机器人框架中的 __init__.txt
【发布时间】:2015-07-06 23:32:01
【问题描述】:

我有以下结构:

test_init
|__________resources
|          |__________ keywords.robot
|__________tests
           |__________ __init__.txt
           |__________ TestInit.robot

keywords.robot 包含:

*** Keywords ***
Keyword for init
   Log  init

__init__.txt 包含:

*** Settings ***
Documentation  This is from init file
Resource  ${EXECDIR}/resources/keywords.robot

TestInit.robot 包含:

*** Test Cases ***
Testing the Init
   Log  Vimal
   Keyword for init

如果我从test_init目录中的命令行执行如下:

> pybot tests

我收到错误消息:

No keyword with name 'Keyword for init' found

我在想,初始化文件也导入了资源文件。但是初始化文件被文档识别,我在我的报告中得到了它。

我对初始化文件的用法有点困惑,请帮助我更好地理解它。

【问题讨论】:

    标签: robotframework


    【解决方案1】:

    init 文件的用途是管理整个文件夹/套件(和子文件夹)的设置、拆卸和标签。

    初始化文件不能用于导入资源(它们必须加载到您使用它们的文件中)。

    自 2.8.7 以来,文档变得更加清晰:请参阅用户指南的 Initialization Files 部分。

    【讨论】:

    • 但在文档中,他们说“初始化文件的主要用途是指定与测试用例文件类似的测试套件相关设置,但也可以设置一些与测试用例相关的设置。创建的变量和关键字或在初始化文件中导入的文件在较低级别的测试套件中不可用,但如果需要共享资源文件,可以使用它们。”。此外,在示例中,它们显示为导入库。我不认为两者都是可能的。
    • 这句话的意思(可能不够清楚)是资源/库可以在init文件中使用,它允许你使用关键字从 init 文件中的这些资源/库中。但这并不意味着这些相同的关键字将在其他文件/套件中可用。
    • 我对这句话也很困惑。正如这条语句所暗示的,init 文件应该允许导入资源文件。
    • 我同意文档并不完全清楚。它试图说的是,如果您想共享关键字/变量,您可以使用资源文件并将其导入您的 init 文件和测试用例文件中。 init 文件中的关键字/变量永远不会自动用于较低级别的套件。请在此处提交有关不良文档的问题,我们将对其进行改进:github.com/robotframework/robotframework/issues
    猜你喜欢
    • 2018-04-25
    • 2016-04-26
    • 1970-01-01
    • 1970-01-01
    • 2015-11-03
    • 2017-11-11
    • 2014-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多