有没有办法将 Robot Framework 资源文件内容导入 Python 脚本?

Is there a way to import Robot Framework resource fiile contents into Python script?

显然可以在某些 Python 脚本中导入 Python 机器人框架库。但是,有没有一种神奇的方法可以在 Python 脚本中 导入 Robot Framework 资源文件? 资源文件是用 RF 语法编写的,因此需要一些专用的 Python 导入它的模块(实际上将 RF 语法翻译成 Python)。也许这样的东西已经存在,或者甚至可以使用一些 RF 内置模块,就好像我理解正确一样,在脚本执行期间 RF 语法被转换为 Python 调用。

2018-06-18更新:

根据 A. Kootstra 的建议,可以使用以下方法在 Python 脚本中导入 Robot 关键字:

from robot.libraries.BuiltIn import BuiltIn
BuiltIn().import_resource('${EXECDIR}/resource.robot') 

但是,如何从 Python 脚本中导入的 Robot 资源访问任何关键字? BuiltIn().import_resource 没有 return 导入库的任何处理程序。

我会打电话

BuiltIn.call_method

但它需要对象实例作为第一个参数。导入的资源文件也不存在于

编辑的字典中 return
globals()

BuiltIn()Robot Framework API 的一部分,在 ReadTheDocs 上的单独文档中进行了描述。下面是一个更全面的示例,向您展示如何执行此操作:

importresource.py

from robot.libraries.BuiltIn import BuiltIn

class importresource(object):

    ROBOT_LIBRARY_VERSION = 1.0

    def __init__(self):
        pass

    def custom_keyword(self):
        BuiltIn().import_resource('${EXECDIR}/resource.robot')
        BuiltIn().run_keyword('Resource Keyword')

resource.robot

*** Keywords ***
Resource Keyword
    Log To Console   \nResource Keyword triggered.

testcase.robot

*** Settings ***
Library    importresource

*** Test Cases ***
TC
    custom keyword

将导致:

==============================================================================
TC                                                                    
Resource Keyword triggered.
| PASS |
------------------------------------------------------------------------------