Creando y utilizando una matriz 2 dimensional.
-
21-12-2019 - |
Pregunta
Necesito definir una variable de matriz de 2 dimensiones.
He podido usar una variable de lista, pero ahora el proyecto en el que estoy trabajando requiere una matriz.
¿Cómo se hace esto?
¿Cómo puedo "bucle" a través de la matriz 2 dimensional?
Solución
Intenta usar una lista de listas.Puede usar el Sintaxis variable extendida para acceder a un elemento en elLista interna.
*** 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 longitud de la lista es 2 y contiene elementos siguientes: 0: [U'cow ', u'pig', u'Dog '] 1: [U'Red ', U'green', U'Blue ']
El cerdo es verde
Otros consejos
usando listas
El término de robot para una variable de matriz es "LISTA". Puede usar @{...}
para designar una variable como lista. Aquí hay un ejemplo que muestra cómo crear una lista en una tabla variable, y cómo hacerlo dentro de una prueba usando el Crear lista palabra clave:
*** 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
Para crear una lista de dos dimensiones, puede crear una lista de listas:
| | ${array}= | Create list | ${Names} | ${Colors}
The Sintaxis variable extendida le permite acceder a elementos individuales:
| | log | element 1,1: ${array[1][1]}
Para obtener más información, consulte la sección titulada Variables de lista en el Guía del usuario de Robot Framework
utilizando diccionarios
Puede usar un diccionario para simular una matriz multidimensional. Por ejemplo:
*** 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
Encontré una forma de hacer un bucle a través de una lista de listas:
*** 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}
El crédito va a OMBRE42 .¡Gracias!