显然,可以在某些Python脚本中导入Python Robot Framework库。但是,有没有一种神奇的方法来在Python脚本中导入Robot Framework资源文件?资源文件是用RF语法编写的,因此需要一些专用的Python模块来导入它(将RF语法转换为Python其实)。也许这样的事情已经存在,甚至可以使用一些RF内置模块,就像我理解正确一样,在脚本执行期间,RF语法被转换为Python调用。
更新2018-06-18:
根据A. Kootstra的建议,可以使用以下方法在Python脚本中导入Robot关键字:
BuiltIn.call_method
但是,如何从Python脚本中导入的Robot资源中访问任何关键字? BuiltIn()。import_resource不会向导入的lib返回任何处理程序。
我会打电话给
globals()
但它需要对象实例作为第一个参数。导入的资源文件也不存在于
返回的字典中$table->integer('category_id')->unsigned()->index();
答案 0 :(得分:2)
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 |
------------------------------------------------------------------------------