[英]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.