繁体   English   中英

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

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

显然,可以使用某些Python脚本导入Python Robot Framework库。 但是,有没有一种神奇的方法可以在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不会将任何处理程序返回给导入的lib。

我会打电话给

BuiltIn.call_method

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

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')

资源机器人

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

测试案例机器人

*** Settings ***
Library    importresource

*** Test Cases ***
TC
    custom keyword

将导致:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM