Списки в Robot Framework

Содержание
Введение
Проверка на принадлежность к списку
Пример
Get Length: длина списка
Похожие статьи

Введение

Создать список можно с помощью @

*** Settings *** Documentation Creating List *** Variables *** @{versions}= 18 19 20 21

Часто бывает нужно определить принадлежит ли элемент к списку или нет

С помощью in можно проверить входит ли такой объект в список или нет.

Такой оператор присутствует в Python и других языках программирования.

in отделяется отступами в один пробел

$var in $list

Проверка на принадлежность к списку

Рассмотрим тест list.robot сделаем простую проверку принадлежит ли наша версия PostreSQL списку разрешённых или нет. Тест падать не будет.

** Variables *** ${PG_VERSION} 11 @{versions}= 11 13 *** Test Cases *** Test1 Log To Console ${PG_VERSION} Log To Console ${versions} IF "${PG_VERSION}" in ${versions} Log To Console "IN" ELSE Log To Console "NOT IN" END

robot list.robot

============================================================================== List ============================================================================== Test1 11 .['11', '13'] ."IN" Test1 | PASS | ------------------------------------------------------------------------------ List | PASS | 1 test, 1 passed, 0 failed ============================================================================== Output: /home/andrei/robot/output.xml Log: /home/andrei/robot/log.html Report: /home/andrei/robot/report.html

Если ELSE вам не нужен его можно убрать или воспользоваться ключевым словом Run Keyword If

Test2 Run Keyword If "${PG_VERSION}" in ${versions} Log To Console Version ${PG_VERSION} is OK

Test2 Version 11 is OK Test2 | PASS |

Пример

Рассмотрим тест in.robot сделаем не просто проверку, а обязательное условие чтобы версия была из списка разрешённых.

Теперь нужно, чтобы тест падал при посторонней версии.

*** Settings *** Documentation Testing in operator *** Variables *** @{versions}= 18 19 20 21 ${current_version}= 21 *** Keywords *** Start TestCase Log To Console "Starting Test Case" Compare Versions Log To Console ${current_version} Should Be True $current_version in $versions Finish TestCase Log To Console "Finishing Test Case" *** Test Cases *** Verify that in is working [Documentation] This test case verifies that "in" can be used [Tags] Functional Start TestCase Compare Versions Finish TestCase

robot in.robot

============================================================================== Example :: Testing in operator ============================================================================== Verify that in is working :: This test case verifies that "in" can... "Starting Test Case" .21 ."Finishing Test Case" Verify that in is working :: This test case verifies that "in" can... | PASS | ------------------------------------------------------------------------------ Example :: Testing in operator | PASS | 1 test, 1 passed, 0 failed ============================================================================== Output: /home/andrei/tests/Example/output.xml Log: /home/andrei/tests/Example/log.html Report: /home/andrei/tests/Example/report.html

Пример

*** Settings *** Documentation Testing that list is not empty *** Variables *** @{versions}= 11 13 *** Test Cases *** List Len Is Not Null ${list_len}= Get Length ${versions} IF ${list_len} == 0 Log To Console "list is empty" END Should Not Be Equal As Integers ${list_len} 0

robot list_ex.robot

============================================================================== List Ex :: Testing that list is not empty ============================================================================== List Len Is Not Null | PASS | ------------------------------------------------------------------------------ List Ex :: Testing that list is not empty | PASS | 1 test, 1 passed, 0 failed ============================================================================== Output: C:\Users\Andrei\robot\output.xml Log: C:\Users\Andrei\robot\log.html Report: C:\Users\Andrei\robot\report.html

Похожие статьи
Collections: списки, словари
Списки
Словари
Строки
Robot Framework

Поиск по сайту

Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых

Перейти на канал

@aofeed

Задать вопрос в Телеграм-группе

@aofeedchat

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящую по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: