在builtIn库关键字'run_keyword_and_continue_on_failure'

时间:2016-10-18 06:44:04

标签: python keyword robotframework selenium2library

我在python中使用机器人框架来创建内部使用selenium2library关键字的关键字。

我在下面的代码片中看到了一个问题,它出现在我的python关键字定义模块中。

status = BuiltIn()。run_keyword_and_continue_on_failure(sel.click_button('wlbasic_11n_value_01'))

这里,lbasic_11n_value_01是要点击的元素的id。

即使此单击按钮失败,我也希望我的关键字能够执行,因此使用的是run_keyword_and_continue_on_failure关键字。

有趣的是,点击按钮会发生,但后来我看到一条错误消息,说关键字名称应该是一个字符串。

何时生成sel.click_button('wlbasic_11n_value_01') - > 'sel.click_button(' wlbasic_11n_value_01 ')'

python关键字代码 - >

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

根本没有检测到关键字,点击永远不会有效。

我在这里缺少什么,是机器人框架的新手。

非常感谢任何调试帮助。

1 个答案:

答案 0 :(得分:1)

  

有趣的是,点击按钮会发生,但后来我看到一条错误消息,说关键字名称应该是一个字符串。

这条消息告诉你究竟是什么问题,为什么你会忽略它告诉你的内容? 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')
)