2012-07-13 23 views
5

Sé que puedo acceder a un solo elemento desde un objeto de diccionario con este formato $ {dict ['KEY']}. De esta manera:¿Cómo puedo establecer el valor de un elemento de diccionario en el resultado de una palabra clave en Robot Framework?

| | Log | ${dict['KEY']} | 

Y puedo establecer un escalar de edad regular de la siguiente manera:

| | ${scalar}= | RFKeyword | "Yowp" 

Pero si trato de fijar un elemento de diccionario como este

| | ${dict['KEY']}= | RFKeyword | "Yowp" 

consigo "RFKeyword "," Yowp "en la variable, en lugar del resultado de lo que RFKeyword produce al procesar" Yowp "como hago con este

| | ${scalar}= | RFKeyword | "Yowp" 

Asistencia por favor

+0

¿Tengo actu ally perplejo StackOverflow? No pensé que eso fuera posible. –

Respuesta

3

Solo tiene que reorganizar la forma en que lo llame. Así que para su palabra clave en la que desea los datos devueltos a entrar en su diccionario que tiene que hacer lo siguiente:

${scalar}= | RFKeyword | "Yowp" 
Set To Dictionary | ${dict} | KEY | ${scalar} 
+0

Pero no quiero el escalar en absoluto. Quiero que el resultado de la palabra clave vaya directamente a un diccionario. –

6

Como se habrá dado cuenta, no se puede asignar a un diccionario de una palabra clave. Debe seguir muy específicamente la sintaxis del diccionario. solo puede devolver variables a listas o escalares.

Robot framework no es un lenguaje de programación completo, y no debería serlo. Al usar un escalar intermedio, los probadores no técnicos deberían ser más capaces de comprender lo que está haciendo.

He añadido esto ya que una búsqueda en google de "robot framework" tiene esta pregunta en la parte superior de la lista. Basta con crear diccionarios con:

Create dictionary | ${my_dict} | a | b 

Añadir a los diccionarios con:

set to dictionary | ${my_dict} | c | d 

Y recuperar de los diccionarios con:

${my_dict["a"]} 

O, si usted necesita para no fallar:

${my_dict.get('non-key','default value')} 
Cuestiones relacionadas