【发布时间】:2014-10-01 17:52:50
【问题描述】:
我有一个变量文件,它在字典和变量函数中定义了一个变量,如字典。
global.py
>DEFAULT_VAL=111
TEST_VAR={'key1':{'elem1':'val1', 'elem2':'val2', 'elem3':'val3'}, 'key2':{'elem2':'val2', 'elem3':'val3'}}
def get_elem1_or_default_1(key):
return TEST_VAR[key]['elem1'] if 'elem1' in TEST_VAR[key] else DEFAULT_VAL
def get_elem1_or_default_2(key_dict):
return key_dict['elem1'] if 'elem1' in key_dict else DEFAULT_VAL
我可以从机器人调用变量函数“get_elem1_or_default_1”,它接受字符串作为键,如下所示:
*** Settings ***
Variables Global.py
${var} Set variable ${get_elem1_or_default_1('key2')}
INFO : ${var} = 111
但是当我尝试调用另一个接受 dict 作为参数的函数“get_elem1_or_default_2”时,我得到一个错误
${key_dict} Evaluate ${TEST_VAR}['key1']
${var} Set variable ${get_elem1_or_default_2(${key_dict})}
INFO : ${key_dict} = {'elem2': 'val2', 'elem3': 'val3', 'elem1': 'val1'} FAIL : 无效的变量名 '${get_elem1_or_default_2({'elem2': 'val2', 'elem3': 'val3', 'elem1': 'val1'})}'。
可以这样做还是有什么问题?有没有别的办法?
谢谢!
【问题讨论】: