我有一个变量&;{userList}我给它赋值如下:
&{userList} id={rand_id} extension={rand_extn}
然后,我将测试用例中的{rand_id}和{rand_extn}替换为:
${uni_id}= Generate Random String 2 [NUMBERS]
${uni_extn}= Generate Random String 4 [NUMBERS]
: FOR ${key} IN @{userList.keys()}
\ ${updated_val}= Replace String ${userList["${key}"]} {rand_id} ${uni_id}
\ Set To Dictionary ${userList} ${key} ${updated_val}
\ ${updated_val}= Replace String ${userList["${key}"]} {rand_extn} ${uni_extn}
\ Set To Dictionary ${userList} ${key} ${updated_val}
现在我想创建一个可以嵌套字典的变量,但我不知道怎么做。我是这样做的:
&{multipleUserList} id={rand_id} extension={rand_extn}, id={rand_id2} extension={rand_extn2}
然后我想替换如下值:
${uni_id}= Generate Random String 2 [NUMBERS]
${uni_extn}= Generate Random String 4 [NUMBERS]
${uni_id2}= Generate Random String 2 [NUMBERS]
${uni_extn2}= Generate Random String 4 [NUMBERS]
: FOR ${key} IN @{multipleUserList.keys()}
\ ${updated_val1}= Replace String ${multipleUserList["${key}"]} {rand_id} ${uni_id}
\ Set To Dictionary ${multipleUserList} ${key} ${updated_val1}
\ ${updated_val2}= Replace String ${multipleUserList["${key}"]} {rand_extn} ${uni_extn}
\ Set To Dictionary ${multipleUserList} ${key} ${updated_val2}
\ ${updated_val3}= Replace String ${multipleUserList["${key}"]} {rand_id2} ${uni_id2}
\ Set To Dictionary ${multipleUserList} ${key} ${updated_val3}
\ ${updated_val4}= Replace String ${multipleUserList["${key}"]} {rand_extn2} ${uni_extn2}
\ Set To Dictionary ${multipleUserList} ${key} ${updated_val4}
当我运行此程序并打印${multipleUserList}的值时,我从${uni_id2}和${uni_extn2}获取值,但是${uni_id}和${uni_extn}的值不会出现:
{u'id': u'60', u'extension': u'4858'}
请帮助我获得所有的价值观。当我必须创建多个用户时,我正在创建RESTAPI的主体
字典通常只能有唯一的键。您可以看一看at this old discussion——因为Robot基本上只是Python之上的一个层,所以这里应用相同的规则。您正试图使用不同的值多次分配键
id
和键extension
。这样做的目的是用新值更新现有键,而不是添加新键在Robot中
Set To Dictionary
的Collections Library中有一个关键字,可用于将多个键值对添加到现有字典中作为一个示例,下面将实现在同一个字典中有两个唯一Id键和两个唯一扩展键的情况。这样,它们在执行期间不会被覆盖
请注意,字典与
$
一起使用,而不是与&
一起使用还想指出的是,您当前的字典生成系统没有维护
id
和extension
值之间的连接。字典没有排序,因此如果值之间的连接很重要,则应考虑其他一些组织方法您可以直接在python中进行词典合并: https://robotframework.org/robotframework/latest/libraries/BuiltIn.html#Evaluate
相关问题 更多 >
编程相关推荐