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?

¿Fue útil?

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!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top