是的,这是可能的。在python代码中,您可以获得对内置库的引用,然后使用Run关键字来运行任何您想要的关键字。
例如,可以编写一个python关键字,将另一个关键字作为参数并运行它。以下可能是在python中执行此操作的方式:# MyLibrary.py
from robot.libraries.BuiltIn import BuiltIn
def call_keyword(keyword):
return BuiltIn().run_keyword(keyword)
然后可以告诉这个关键字调用任何其他关键字。下面是一个示例套件,它使用robot编写了一个关键字,然后让python代码执行它:*** Settings ***
| Library | MyLibrary.py
*** Keywords ***
| Example keyword
| | log | hello, world
*** Test Cases ***
| Example of calling a python keyword that calls a robot keyword
| | Call keyword | Example keyword
注意测试用例如何告诉call_keyword方法运行关键字Example Keyword。当然,您不需要传入关键字。关键点是获取对内置库的引用,这样就可以调用该库中的任何方法。
请注意,文档说明,如果关键字调用run_keyword方法,则需要调用register_run_关键字。我不会在这里复制文档。您可以通过查看内置模块本身来获取文档,或者在交互式python会话中运行以下代码:>>> import robot.libraries.BuiltIn
>>> help(robot.libraries.BuiltIn.register_run_keyword)