Проблема инфраструктуры ROBOT при использовании ключевого слова selenium2library внутри встроенного в библиотеке ключевого слова 'run_keyword_and_continue_on_failure'
Я использую каркас робота в Python для создания ключевого слова, которое внутренне использует ключевые слова selenium2library.
Я вижу проблему в следующем фрагменте кода, который присутствует внутри моего модуля определения ключевого слова python.
status = BuiltIn (). run_keyword_and_continue_on_failure (sel.click_button ('wlbasic_11n_value_01'))
Здесь lbasic_11n_value_01 - это идентификатор элемента, по которому нужно щелкнуть.
Я хочу, чтобы мое ключевое слово выполнялось, даже если эта кнопка не работает, поэтому я использую ключевое слово run_keyword_and_continue_on_failure.
Интересно, что нажатие кнопки происходит, но затем я вижу сообщение об ошибке, говорящее, что ключевое слово должно быть строкой.
когда это сделать make 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 ответ
Интересно, что нажатие кнопки происходит, но затем я вижу сообщение об ошибке, говорящее, что ключевое слово должно быть строкой.
Это сообщение говорит вам точно, в чем проблема, почему вы игнорируете то, что оно говорит вам? run_keyword_and_continue_on_failure
требует строковое имя ключевого слова, и вы передаете ему функцию (sel.click_button(...)
).
Там нет необходимости использовать run_keyword_and_continue_on_failure
- просто поместите попытку / исключение вокруг кода, который выполнит то же самое:
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')
)