Creazione e utilizzo di un array di 2 dimensionali
-
21-12-2019 - |
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?
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!