Вопрос

Мне нужно определить 2-мерную переменную массива.
Я смог использовать переменную list, но теперь для проекта, над которым я работаю, требуется массив.

Как это делается?
Как я могу "зациклиться" на 2-мерном массиве?

Это было полезно?

Решение

Попробуйте использовать список списков.Вы можете использовать Расширенный вариабельный синтаксис для доступа к элементу вВнутренний список.

*** Settings ***
Library           Collections

*** Variables ***
@{colors}         red    green    blue
@{animals}        cow    pig    dog
@{things}         ${animals}    ${colors}

*** Test Cases ***
2-Dimensional List
    Log List    ${things}
    Log    The ${things[0][1]} is ${things[1][1]}
.

Длина списка 2 и содержит следующие элементы: 0: [u'cow ', u'pig', u'dog '] 1: [u'red ', u'green', u'blue ']

свинья зеленая

Другие советы

Использование списков

Термин робота для переменной массива - "список".Вы можете использовать @{...} чтобы обозначить переменную в виде списка.Вот пример, который показывает, как создать список в таблице переменных и как сделать это в рамках теста с использованием Создать список ключевое слово:

*** Variables ***
| # create a list in a variable table
| @{Colors} | red | orange | green | blue

*** Test Cases ***
| Example of using lists

| | # create an array inside a test
| | @{Names}= | Create list | homer | marge | bart

| | # Verify that the elements are arrays
| | Length should be | ${Colors} | 4
| | Length should be | ${Names} | 3

Чтобы создать двумерный список, вы можете создать список списков:

| | ${array}= | Create list | ${Names} | ${Colors}

То расширенный синтаксис переменных позволяет получить доступ к отдельным элементам:

| | log | element 1,1: ${array[1][1]}

Для получения дополнительной информации смотрите раздел, озаглавленный Перечислите переменные в Руководство пользователя Robot Framework

Использование словарей

Вы можете использовать словарь для моделирования многомерного массива.Например:

*** Settings ***
| Library | Collections

*** Test Cases ***
| Example of using a dictionary to simulate a two dimensional array
| | ${array}= | Create dictionary 
| | ... | 0,0 | zero, zero
| | ... | 0,1 | zero, one
| | ... | 1,0 | one, zero
| | ... | 1,1 | one, one
| | Should be equal | ${array["1,0"]} | one, zero

Я нашел способ петли через список списков:

*** Settings ***
Library           Collections

*** Variables ***
@{colors}         red    green    blue
@{animals}        cow    pig    dog
@{things}         ${animals}    ${colors}

*** Test Cases ***
Nested for loop example
    : FOR    ${x}    IN    @{animals}
    \    Keyword with for loop    ${x}

*** Keywords ***
Keyword with for loop
    [Arguments]    ${x}
    :FOR    ${y}    IN    @{colors}
    \    Log  The ${x} is ${y}
.

Кредит идет на oMbre42 .Спасибо!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top