Robot Framework关键字能否保留与传入参数同名的变量?
Robot Framework 关键字复用:修改原参数变量实现列表批量处理
当然可以实现。你只需在关键字中直接修改接收的参数变量,并通过Set Test Variable将修改后的结果绑定回原变量名,即可让关键字复用,循环处理多个列表。
修改后的关键字实现
*** Keywords *** Change List value [Arguments] ${received_list} # 直接修改传入的列表,无需创建新变量 Insert Into List ${received_list} 0 xxx # 将修改后的列表绑定回原变量名,同步到测试用例作用域 Set Test Variable ${received_list}
测试用例示例
*** Test Cases *** Checking new list values # 初始化多个测试列表 ${first_list_values} Create List a b c ${second_list_values} Create List 1 2 3 # 复用关键字处理第一个列表 Change List value ${first_list_values} # 复用关键字处理第二个列表 Change List value ${second_list_values} # 验证修改结果 Should Be Equal ${first_list_values} ['xxx', 'a', 'b', 'c'] Should Be Equal ${second_list_values} ['xxx', '1', '2', '3']
核心原理
- Robot Framework中列表属于可变对象,
Insert Into List会直接修改传入的列表本身,无需接收返回值。 Set Test Variable用于将修改后的变量提升至测试用例作用域,确保原变量能同步获取更新后的结果。- 该实现无需指定固定变量名,传入任意列表变量均可直接修改,完全支持批量循环处理多个列表的场景。
内容的提问来源于stack exchange,提问作者Oikuar
相关产品推荐
相关产品推荐

