我可以从列表中选择一个随机数,但现在我不知道如何使用 if-else 语句,以便它应该与条件匹配以获取该数字的更多详细信息。
我尝试使用"运行关键字如果"命令执行此操作,但对我来说不起作用。也尝试使用"For 循环",但它也没有成功。
*** Variables ***
@{PARTY} ABC XYZ RTY DOG
*** Test Cases ***
View all Details
${value} = Evaluate random.choice($PARTY) random
input text ${SEARCH_BAR} ${value}
log to console nvalue: ${value}
click element ${SEARCH_BUTTON}
:for ${ELEMENT} IN @{PARTY}
log ${ELEMENT}
run keyword if '@{ELEMENT}' == 'ABC'
... else if '@{ELEMENT}' == 'XYZ'
... else if '@{ELEMENT}' == 'RTY'
... else '@{ELEMENT}' == 'DOG'
预期结果:现在,当随机值被选中时,该值应与列表进行比较,当条件为真时,我应该能够单击该元素以获取该方的更多详细信息。
实际结果:随机值被选取 &FOR 循环不包含关键字。
您有几个问题。
- 您可以使用列表变量
@{ELEMENT
进行比较,而不是标量变量。 - 在
Run Keyword If
语句中,如果条件为 true,则没有要运行的关键字。ELSE IF
行也是如此。 -
else if
应该大写,因为它是一个保留关键字。 -
ELSE
根本不需要任何条件,它会处理前面条件未处理的所有情况。 - 你随机选择一个
${value}
但不使用它。遍历列表将为您提供true
一次的每个条件。
如果要使用随机值,则根本不需要 for 循环。代码应如下所示:
View all Details
${ELEMENT} = Evaluate random.choice($PARTY) random
log ${ELEMENT}
Run Keyword If '${ELEMENT}' == 'ABC' Your Keyword One Here
... ELSE IF '${ELEMENT}' == 'XYZ' Your Keyword Two Here
... ELSE IF '${ELEMENT}' == 'RTY' Your Keyword Three Here
... ELSE Your Keyword Four Here