一、当变量为字典里面 嵌套字典时,取值方法:
如:
&{date_time} = { data={'datetime': {'sys_date': '2021-08-31', 'sys_time': '00:32'}, 'local': {'timezone': 8}, 'srv': {'enable': False, 'ntp': None}} | success=True }
要获取sys_date和sys_time值,
使用RF取字典值方法,&{date_time}[data]只能获取到外面一层{'datetime': {'sys_date': '2021-08-31', 'sys_time': '00:32'}, 'local': {'timezone': 8}, 'srv': {'enable': False, 'ntp': None},
使用&{date_time}[data][datetime][sys_date],获取结果为{'datetime': {'sys_date': '2021-08-31', 'sys_time': '00:38'}, 'local': {'timezone': 8}, 'srv': {'enable': False, 'ntp': None}}[datetime][sys_date]
因此使用Evaluate 关键字,将字典传递给python,
${sys_date} Evaluate &{date_time}[data]['datetime']['sys_date']
结果为 2021-08-31
二、当字典只有一层时,不需要用到Evaluate
如 &{test}={"id":123,"name":"ddd"}, 需要取字典中的id,直接使用
${id} &{test}[id]
如果使用${id} Evaluate &{test}[id],则会导致报错