我可以在robotframework中使用关键字作为参数吗?
我想将${assertion\u Keyword}替换为我可以在robotframework中使用关键字作为参数吗?,robotframework,keyword,robotframework-ide,Robotframework,Keyword,Robotframework Ide,我想将${assertion\u Keyword}替换为屏幕应包含或屏幕不应包含,因此我想像关键字一样放置一个参数 check_element_and_its_representation [Arguments] ${assertion_Keyword} ${payload} ${on_click_payload} ${assertion_Keyword} ${payload} SikuliLibrary.Click $
屏幕应包含
或屏幕不应包含
,因此我想像关键字一样放置一个参数
check_element_and_its_representation
[Arguments] ${assertion_Keyword} ${payload} ${on_click_payload}
${assertion_Keyword} ${payload}
SikuliLibrary.Click ${payload}
Screen Should Contain ${on_click_payload}
使用此代码,我编写了一个语法错误,未找到关键字:
这一行动如何可能?还有其他方法吗
谢谢。Run关键字命令将帮助您实现这一点。下面是一个受示例代码启发的示例。我已经注释掉了Sikuli关键字,但保留了它们,并添加了两个关键字来模拟在Sikuly库中找到的关键字
*** Test Cases ***
TC Screen Should Contain
Check Element And Its Representation Screen Should Contain payload on_click_payload
TC Screen Should Not Contain
Check Element And Its Representation Screen Should Not Contain payload on_click_payload
*** Keywords ***
Check Element And Its Representation
[Arguments] ${assertion_Keyword}=Screen Should Contain ${payload}=None ${on_click_payload}=None
Run Keyword ${assertion_Keyword} ${payload}
# SikuliLibrary.Click ${payload}
# Screen Should Contain ${on_click_payload}
Screen Should Contain
[Arguments] ${var}
Log Screen Should Contain
Screen Should Not Contain
[Arguments] ${var}
Log Screen Should Contain
所以在这种情况下,我们不能使用默认关键字而不重新定义它们?因为
屏幕应该包含
或者屏幕不应该包含
需要一个参数,如果我使用运行关键字${assertion\u Keyword}${argument\u to_take}
它不工作,因为参数编号的原因,这可以通过向参数添加默认值来完成。请看更新的示例。我不确定您是否理解我的意思?我们的目标是不重新定义屏幕应包含的关键字和屏幕不应包含的关键字,并在您希望调用它们来代替${assertion\u Keyword}
时使用默认关键字。可能吗?是的。只需在示例中移除这些,然后加载Sikuli。这些只是占位符,因为我不想调用实际的占位符。