在内置库关键字'run_keyword_and_continue_on_failure'中使用 selenium2Library 关键字时的 ROBOT 框架问题



我在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')
)

最新更新