Domanda

Ho bisogno di definire una variabile di matrice di 2 dimensionali.
Sono stato in grado di utilizzare una variabile di lista, ma ora il progetto che sto lavorando richiede un array.

Come è fatto?
Come posso "loop" attraverso la matrice 2 dimensionale?

È stato utile?

Soluzione

Prova a utilizzare un elenco di elenchi.È possibile utilizzare il Sintassi variabile estesa per accedere a un oggetto nelElenco interni

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

Lunghezza dell'elenco è 2 e contiene i seguenti elementi: 0: [u'ow ', u'pig', u'dog '] 1: [u'red ', u'green', u'blue ']

Il maiale è verde

Altri suggerimenti

Uso degli elenchi

Il termine di robot per una variabile di array è "Elenco". È possibile utilizzare @{...} per designare una variabile come elenco. Ecco un esempio che mostra come creare un elenco in una tabella variabile e come farlo all'interno di un test utilizzando il Elenco crea lista Parola chiave:

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

Per creare un elenco a due dimensionali, è possibile creare un elenco di elenchi:

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

the La sintassi variabile estesa ti consente di accedere ai singoli elementi:

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

Per ulteriori informazioni, consultare la sezione intitolata Variabili elenco nel Guida dell'utente del robot framework

Usando dizionari

È possibile utilizzare un dizionario per simulare un array multidimensionale. Ad esempio:

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

Ho trovato un modo per loop attraverso un elenco di elenchi:

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

Il credito va a ombre42 .Grazie!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top