嗨,我是机器人框架的新手, 我需要点击xpath中的某些元素。 我得到元素的数量并存储在变量$ {element}中 当我运行代码时,发现$ {element} = 4
现在,我想单击每个元素。 所以我试图在$ {i1}之类的变量中获取所有索引,直到$ {i4} 结果应该给我这个:
${i1} = 0
${i2} = 1
${i3} = 2
${i4} = 3
我尝试过
:FOR ${i} IN RANGE 0 ${element}
\ log ${i}
但是它给出的结果就像
20181101 19:21:07.269 : INFO : ${i}: 0
20181101 19:21:08.269 : INFO : ${i}: 1
20181101 19:21:09.269 : INFO : ${i}: 2
20181101 19:21:10.269 : INFO : ${i}: 3
谢谢
答案 0 :(得分:1)
在这种情况下,您应该使用robotframework的Nest Variable。您可以在下面找到我的示例,它应该可以解决您当前的问题。
test
${i} Set Variable i
:FOR ${n} IN RANGE 4
\ ${x} Evaluate ${n}+1
\ Set Test Variable ${${i}${x}} ${n}
log to console ${i3}
结果与您的求精
$ {i1} = 0 $ {i2} = 1 $ {i3} = 2 $ {i4} = 3
答案 1 :(得分:0)
您可以通过使用关键字Set (Test/Suite/Global) Variable
来完成您想做的事情。它具有两个参数,并允许您在变量中使用变量来创建名称。
*** Test Cases ***
TC
${element} Set Variable ${4}
:FOR ${i} IN RANGE 0 ${element}
\ Set Test Variable ${i${i}} ${i}
这将导致以下消息日志以红色显示。
Starting test: Folder.Forloop I.TC
20181102 07:41:39.010 : INFO : ${element} = 4
20181102 07:41:39.033 : INFO : ${i0} = 0
20181102 07:41:39.044 : INFO : ${i1} = 1
20181102 07:41:39.055 : INFO : ${i2} = 2
20181102 07:41:39.064 : INFO : ${i3} = 3
Ending test: Folder.Forloop I.TC