Robot Framework: выход из if-предложения, но не ключевое слово? - PullRequest
0 голосов
/ 11 февраля 2019

Некоторый псевдокод RF:

Run keyword if  X == 1
   Run keyword if  Y == a  [do something]
   Run keyword if  Y == b  [do something]
   Run keyword if  Y == c  [do something]

Если Y == b, есть ли способ выйти из предложения if, не выходя из всего ключевого слова?

Мне известно о run keyword and return но оно выходит из целого ключевого слова, я просто хочу выйти из предложения if, потому что нет необходимости проверять, является ли Y c, d, e и т. Д., Если условие уже выполнено.

(NB Это вспомогательный класс, который выполняет преобразование между двумя наборами значений. Кроме того, существует более трех «подфайлов».)

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

В ROBOT Framework вы не можете выполнять вложенный цикл ... как мы делаем на языке программирования ... Итак, подход, который мы применяем в скриптах ROBOT, подобен приведенному ниже.

  1. Использовать RUN KEYWORD IF$ {X} == '1'
  2. Если true, тогда вызовите другой / новый USER_DEFINED_KEYWORD (пользовательское ключевое слово), который содержит ваши условные операторы.

Итак, вы должны создать YOUR_NEW_KEYWORD, которыйсначала содержит ваше условное утверждение.Тогда, если (X == 1) верно, мы назовем это вновь созданное ключевое слово.Поэтому подход, который вам нужен, может быть таким, как показано ниже. Кроме того, вы должны использовать ключевое слово EXIT FOR LOOP IF, если вы хотите выйти из цикла после выполнения условия.

RUN KEYWORD IF     ${X} == '1'    YOUR_NEW_KEYWORD # *this user-defined keyword contains the code below..*

# this is the content of YOUR_NEW_KEYWORD which contains conditional statements..
:FOR ${check}  IN  TRUE
  Run keyword if  Y == a  [do something]
  EXIT FOR LOOP IF Y == a

  Run keyword if  Y == b  [do something]
  EXIT FOR LOOP IF Y == b

  Run keyword if  Y == c  [do something]
  EXIT FOR LOOP IF Y == c

В ROBOT Framework мы обычносоздайте много пользовательских ключевых слов (пользовательских ключевых слов), а затем импортируйте их как файл ресурсов.В ROBOT Framework мы можем импортировать БИБЛИОТЕКИ и ФАЙЛ РЕСУРСА (наши собственные ключевые слова).Это хороший подход (рефакторинг кода), чтобы сделать ваш код аккуратным и легко читаемым, поскольку мы не хотим писать что-либо в основном тестовом сценарии, вместо этого мы предпочитаем вызывать КЛЮЧЕВЫЕ СЛОВА ПОЛЬЗОВАТЕЛЯ, которые мы написали как ФАЙЛ РЕСУРСА.

0 голосов
/ 11 февраля 2019

Я думаю, что вы можете заключить свое утверждение IF в другое ключевое слово, например:

Do Switch
  Run Keyword If  Y == a  [do something]
  ...    ELSE IF  Y == b  [do something]
  ...    ELSE IF  Y == c  [do something]

Run keyword if  X == 1
    Do Switch
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...