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

有没有办法将Robot框架资源文件内容导入Python脚本?,python,import,robotframework,translate,Python,Import,Robotframework,Translate,显然,可以在一些Python脚本中导入Python Robot框架库。但是,有没有一种神奇的方法可以在Python脚本中导入Robot框架资源文件?资源文件是用RF语法编写的,因此需要一些专用的Python模块来导入它(实际上是将RF语法转换为Python)。也许像这样的东西已经存在,或者甚至可以使用一些RF内置模块,就好像我理解正确一样,在脚本执行期间,RF语法被转换为Python调用 更新2018-06-18: 正如A.Kootstra所建议的,可以使用以下方法在Python脚本中导入Rob

显然,可以在一些Python脚本中导入Python Robot框架库。但是,有没有一种神奇的方法可以在Python脚本中导入Robot框架资源文件?资源文件是用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_资源不会将任何处理程序返回到导入的库

我会打电话

BuiltIn.call_method
但它需要对象实例作为第一个参数。导入的资源文件也不存在于由返回的dict中

globals()
BuiltIn()
是其中的一部分,在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')
资源机器人

*** Keywords ***
Resource Keyword
    Log To Console   \nResource Keyword triggered.
*** Settings ***
Library    importresource

*** Test Cases ***
TC
    custom keyword
testcase.robot

*** Keywords ***
Resource Keyword
    Log To Console   \nResource Keyword triggered.
*** Settings ***
Library    importresource

*** Test Cases ***
TC
    custom keyword
将导致:

==============================================================================
TC                                                                    
Resource Keyword triggered.
| PASS |
------------------------------------------------------------------------------
BuiltIn()
是其中的一部分,在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')
资源机器人

*** Keywords ***
Resource Keyword
    Log To Console   \nResource Keyword triggered.
*** Settings ***
Library    importresource

*** Test Cases ***
TC
    custom keyword
testcase.robot

*** Keywords ***
Resource Keyword
    Log To Console   \nResource Keyword triggered.
*** Settings ***
Library    importresource

*** Test Cases ***
TC
    custom keyword
将导致:

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

第二个例子也回答了这个问题,谢谢你的提示。实际上,可以使用robot.libraries.BuiltIn import BuiltIn().import_resource('${EXECDIR}/resource.robot')导入robot资源。但是,如何访问Python脚本中导入的Robot资源中的任何关键字?我根据上一个提示更新了问题。第二个示例也回答了这个问题,感谢您的提示。实际上,可以使用robot.libraries.BuiltIn import BuiltIn().import_resource('${EXECDIR}/resource.robot')导入robot资源。但是,如何从Python脚本中导入的Robot资源中访问任何关键字?我根据上一个提示更新了这个问题