Проблема инфраструктуры 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')
)
Другие вопросы по тегам