我在python中使用robot框架来创建关键字,该关键字内部使用selenium2library关键字。
我在下面的代码段中看到一个问题,它存在于我的python关键字定义模块中。
status = BuiltIn().run_keyword_and_continue_on_failure(self .click_button('wlbasic_11n_value_01'))
这里lbasic_11n_value_01是要单击的元素的id。
我希望我的关键字得到执行,即使这个点击按钮失败,因此我使用run_keyword_and_continue_on_failure关键字。
有趣的是,点击按钮发生了,但随后我看到一个错误消息,说关键字名称应该是一个字符串。
when is make sel.click_button('wlbasic_11n_value_01') -> 'sel.click_button('wlbasic_11n_value_01')'
python关键词code ->
def check():
sel = BuiltIn().get_library_instance('Selenium2Library')
title = sel.get_title()
BuiltIn().log_to_console('Making the Router Mode Change Now')
status = BuiltIn().run_keyword_and_continue_on_failure(sel.click_button('wlbasic_11n_value_01'))
关键字根本没有被检测到,点击永远不会工作。
我在这里错过了什么,我是机器人框架的新手。
任何调试帮助将不胜感激
有趣的是,点击按钮发生了,但随后我看到一个错误消息,说关键字名称应该是一个字符串。
这条信息告诉了你问题所在,为什么你忽略了它告诉你的?run_keyword_and_continue_on_failure
需要关键字的字符串名称,并且您正在向它传递一个函数(sel.click_button(...)
)。
不需要使用run_keyword_and_continue_on_failure
—只需在代码周围放置一个try/except,这将完成相同的事情:
try:
sel.click_button('wlbasic_11n_value_01')
except Exception as e:
<handle or ignore the error however you wish here...>
如果您希望继续使用run_keyword_and_continue_on_error
,请按照它所说的做,并将关键字作为字符串提供:
status = BuiltIn().run_keyword_and_continue_on_failure(
'Click Button', 'wlbasic_11n_value_01')
)