Я работаю с Robot Framework и могу создать цикл, который проверяет определенные страницы моего сайта. В этом цикле я могу сделать несколько проверок. Пример:
*** Test Cases ***
Check all cat pages
Get all cats
:FOR ${cat} IN ${cats}
/ Go to catpage ${cat}
/ Check if page has ${cat}
/ Check if page is fluffy
/ Check if page haz burger
*** Keywords ***
Get all cats
[some irrelevant magic that gives me all cats]
Go to catpage
[Arguments] ${cat}
Go to ${SERVER}/catpages/${cat}.html
Check if page has
[Arguments] ${cat}
[do some irrelevant magic with the variable ${cat}]
Check if page is fluffy
[do some irrelevant magic]
Check if page haz burger
[do some irrelevant magic]
Теперь я хочу на самом деле иметь часть цикла for в отдельном ключевом слове, которое я могу вызывать, после чего проверки будут применяться к каждой итерации цикла, например:
*** Test Cases ***
Check if the cats are fluffy
Check all cat pages
[Check if page is fluffy]
Check what the cats have
Check all cat pages
[Check if page has ${cat}]
[Check if page haz burger]
*** Keywords ***
Check all cat pages
Get all cats
:FOR ${cat} IN ${cats}
/ Go to catpage ${cat}
/ [the keywords applied here]
[...]
Итак, во втором примере цикл for будет применен дважды. Сначала он будет перебирать все страницы-каталоги и проверять для каждой страницы-каталога, насколько она пушистая. Во втором цикле он будет снова перебирать все страницы-каталоги и проверять, есть ли на каждой странице-кошке ${cat} и есть ли на ней бургер. Конечно, я мог бы написать для обоих тестовых случаев новый цикл for, но чтобы все было читабельно, я бы предпочел вызвать ключевое слово с помощью цикла и применить к нему несколько ключевых слов. Тогда я смогу легко добавлять новые ключевые слова (например, если я создам новое ключевое слово, такое как «Проверить, есть ли на странице фото», я могу добавить его в тест «Проверить, что есть у кошек», и тогда все страницы будут проверил, есть ли фото.
Как я могу добиться такой настройки?