Есть ли способ настроить Robot Framework, чтобы выполнение не останавливалось из-за сбоя

Мне известны слова "Выполнить ключевое слово" и "Продолжить при ошибке" / "Выполнить ключевое слово" и "Игнорировать ошибку / Выполнить ключевое слово" и "Вернуть статус". Встроенные ключевые слова, но у меня есть очень широкий набор тестовых случаев, которые не следует останавливать по какой-либо причине в конкретном сценарии, и я Мне было интересно, есть ли возможность не останавливать выполнение при сбое по умолчанию, без необходимости управлять им через эти ключевые слова и добавлять не связанный с бизнесом синтаксис в ключевые слова моего верхнего уровня.

2 ответа

Вообще говоря, робот просто не предназначен для работы так, как вы хотите. Он предназначен для выхода из теста в случае сбоя ключевого слова, если только вы явно не запустите это ключевое слово с одним из специальных ключевых слов (например, запустите ключевое слово и продолжить при ошибке).

В некоторых очень ограниченных случаях вы можете получить такое поведение, используя шаблон, который вызывает ключевое слово run и продолжает неудачу для каждого шага теста. Этот метод будет работать только в том случае, если ваш тестовый набор состоит строго из ключевых слов и не пытается сохранять результаты ключевых слов в переменных.

Например, рассмотрим этот тест:

*** Test cases ***
Example
    log   step one
    log   step two
    fail  something went wrong
    fail  something else went wrong
    log   last step

Если вы запустите вышеуказанный тест, он остановится при первом сбое. Однако, добавив тестовый шаблон, который использует ключевое слово run и продолжит работу в случае сбоя, все шаги будут выполнены, прежде чем перейти к следующему тесту:

*** Test cases ***
Example
    [Template]  Run keyword and continue on failure
    log   step one
    log   step two
    fail  something went wrong
    fail  something else went wrong
    log   last step

Вот как выглядит отчет с вышеуказанным тестом:

изображение журнала робота

Хотя это кажется немного нелогичным, что вам следует продолжить, если вы столкнулись с ошибочной ситуацией, учитывая, что вы больше не можете контролировать приложение. Это само по себе должно быть предотвращено. Тем не менее, что сказал.

Учитывая, что вы уже знакомы с семейством ключевых слов Run и continue, больше нечего предложить и ответить на вопрос утвердительно: Нет.

Единственный подход - заключить ключевые слова в ключевые слова "Выполнить и продолжить".

Другие вопросы по тегам