Robot FW: встроенный модуль: Set Suite Variable: как переписать вновь созданную переменную в новую область? - PullRequest
0 голосов
/ 27 января 2020

A cc .to Области переменной , у нас есть глобальная область действия, область действия набора тестов, область действия тестового набора и локальная область действия.

См. Документацию по переменной Set Suite. :

Если переменная уже существует в новой области действия , ее значение будет перезаписано.

Моя цель - написать простой фрагмент кода, который демонстрирует это предложение на практике. Это техническая проблема .

Чтобы полностью реализовать техническую цель, новая область действия и текущая область действия нуждаются в объяснении. Например, как текущая / новая область видимости относится к глобальной области действия, области действия набора тестов, области действия тестового набора и локальной области действия?

1 Ответ

3 голосов
/ 27 января 2020

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

Сначала этот тест создает переменную с именем ${var} в области тестирования первого теста. Второй тест проверяет, что переменная не видна за пределами исходной области.

Третий тест запускается так же, как и первый тест, создавая переменную в тестовой области. Затем он вызывает переменную Set suite, которая перезаписывает переменную, которая находится в области действия теста третьего теста.

Наконец, четвертый тест показывает, что переменная теперь доступна для каждого теста в наборе, поскольку переменная существует в объем комплекта.

*** Test cases ***
Example 1
    # Set a variable in a test scope
    Set test variable  ${var}  test
    Should be equal    ${var}  test

Example 2
    # Verifies that the variable from the first test
    # is not available in this new test scope
    Variable should not exist  ${var}

Example 3
    # Set a variable in the test scope
    Set test variable  ${var}  test
    Should be equal    ${var}  test

    # Set a suite variable that has the same name as the local variable
    Set suite variable  ${var}  suite

    # Even though we set it as a suite scope, it overwrites the local
    # variable of the same name
    Should be equal  ${var}  suite

Example 4
    # Verify the suite variable from the previous test is visible
    # in this new test scope
    Should be equal  ${var}  suite
...