Question

J'ai besoin de définir une variable tableau à 2 dimensions.
J'ai été en mesure d'utiliser une variable de liste mais maintenant, le projet que je suis en train de travailler sur la nécessite d'un tableau.

Comment est-ce fait?
Comment puis-je "boucle" à travers les 2 dimensions tableau?

Était-ce utile?

La solution

Essayez d'utiliser une liste de listes.Vous pouvez utiliser le Syntaxe de variable étendue pour accéder à un élément dans leListe intérieure.

*** 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]}

La longueur de la liste est 2 et contient les éléments suivants: 0: [U'COW ', U'PIG', U'DOG '] 1: [U'Red ', U'green', U'Blue ']

Le cochon est vert

Autres conseils

À l'aide de listes

Robot du terme pour une variable tableau est de type "liste".Vous pouvez utiliser @{...} pour désigner une variable comme une liste.Voici un exemple qui montre comment créer une liste dans une variable tableau, et comment le faire dans un test à l'aide de la Créer Une Liste mot-clé:

*** 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

Pour créer un deux dimensions de la liste, vous pouvez créer une liste de listes:

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

L' étendue variable syntaxe vous permet d'accéder à différents éléments:

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

Pour plus d'informations, consultez la section intitulée Liste des variables dans le Robot Cadre Guide De L'Utilisateur

À l'aide de dictionnaires

Vous pouvez utiliser un dictionnaire pour simuler un tableau multidimensionnel.Par exemple:

*** 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

J'ai trouvé un moyen de boucler dans une liste de listes:

*** 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}

Le crédit va à Ombre42 .Merci!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top